Commit graph

  • 94b3cf1fb6 Merge pull request 'feat(machine): apply the settle_transaction operator op (ADR-005 §6)' (#124) from feat/settle-transaction-op into dev dev padreug 2026-10-10 20:30:29 +00:00
  • 5a4f70c90e docs(adr-005): record the NIP-17 alert and the settle-cash-owed path as built Padreug 2026-10-10 22:27:39 +02:00
  • 651c43d7b0 feat(machine): apply the settle_transaction operator op Padreug 2026-10-10 22:27:39 +02:00
  • 23bd54738d docs(claude): sintra's nightly also fails on the timeout; the push-cache rule, the pnpm hash rule, the activation PATH rule Padreug 2026-10-10 22:09:39 +02:00
  • 9b07880925 fix(deploy): the .env migration called sed and grep by bare name on the activation PATH Padreug 2026-10-10 22:08:48 +02:00
  • 65d19f4f1e fix(nix): pnpmDeps hash for the current lockfile Padreug 2026-10-10 22:01:44 +02:00
  • 0204514ed2 Merge pull request 'ADR-005 rollout step 1: value-confirmed dispense, fault screens, cash-out latch, dispense-report outbox' (#123) from feat/dispense-outcome into dev padreug 2026-10-10 19:54:55 +00:00
  • e8106b665a feat(machine): durable dispense-report outbox to spirekeeper (ADR-005 §2) Padreug 2026-10-10 21:37:17 +02:00
  • 7120f306b6 feat(lnbits): report_dispense RPC and the dispense-report wire types (ADR-005 §2) Padreug 2026-10-10 21:31:26 +02:00
  • 7f055cd4c6 docs(adr): ADR-005 §4 — outOfCash after payment is owed too; only the cause and the latch differ Padreug 2026-10-10 21:26:53 +02:00
  • 888870d01a feat(machine): value-confirmed dispense, cash-out hold, fault screens, counts-uncertain on zero-with-error (ADR-005 §3–§5) Padreug 2026-10-10 21:25:51 +02:00
  • 3ff86de4ed feat(state-machine): dispenseConfirmed on value, dispenseFault vs outOfCash, cash-out latch (ADR-005 §3–§5) Padreug 2026-10-10 21:25:51 +02:00
  • c70d43523c feat(hal): dispense error taxonomy, F56 decode table, and the first HAL tests (ADR-005 §7) Padreug 2026-10-10 21:25:51 +02:00
  • cbff654856 fix(machine): declare qrcode where electron/fund-atm.ts actually uses it Padreug 2026-10-10 21:37:17 +02:00
  • f3c333c0bb docs(adr): ADR-005 accepted Padreug 2026-10-10 21:07:43 +02:00
  • 1a24bfdda8 docs(adr): ADR-005 — a partial dispense distributes once, when the outcome is final Padreug 2026-10-10 21:06:08 +02:00
  • fa4858ed66 chore: drop stragglers from the regtest-tooling removal Padreug 2026-10-09 22:25:42 +02:00
  • e907bcc085 chore: stop tracking the generated .devenv.flake.nix Padreug 2026-10-09 22:25:07 +02:00
  • 763817b9f3 chore(dev): remove the Lightning.Pub-era regtest tooling Padreug 2026-10-09 22:25:07 +02:00
  • 723553522c docs: purge stale lamassu naming; fix the hal-check skill's provenance boundary Padreug 2026-10-09 21:58:55 +02:00
  • 6524cad7a8 chore(flake): drop the lamassu-live-* alias outputs; retire the lamassu-next comment Padreug 2026-10-09 21:58:55 +02:00
  • 34c2a6c42d refactor: rename the remaining Lamassu-branded identifiers Padreug 2026-10-09 21:58:55 +02:00
  • 561fd35aed refactor(dev): rename the lamassu-* dev-infra containers, databases and credentials to bitspire-* Padreug 2026-10-09 21:58:55 +02:00
  • bf2b9427aa refactor(config): rename VITE_LAMASSU_* machine-config env vars to VITE_BITSPIRE_* Padreug 2026-10-09 21:57:38 +02:00
  • d569e4013e docs(adr): ADR-005 — record that packages/hal has no tests (finding 10) Padreug 2026-10-09 21:43:00 +02:00
  • aa488c0df4 fix(hal): widen the GTQ F56 note-length window to match USD/HNL Padreug 2026-10-09 21:42:36 +02:00
  • 6a974054ce docs(adr): ADR-005 — future directions and the operator-docs gap Padreug 2026-10-09 21:42:03 +02:00
  • f498373e96 docs(claude): record the lamassu reference permission; correct the server boundary and the driver table Padreug 2026-10-09 21:42:03 +02:00
  • 483e44aaa9 docs(adr): ADR-005 — cash-out dispense outcome and settlement capture Padreug 2026-10-09 16:34:54 +02:00
  • 4d6ea8f163 fix(ops): atm-transactions queried fee_percent, which no longer exists Padreug 2026-10-09 09:44:02 +02:00
  • ee28275bf3 feat(ops): atm-reconcile — check cassette ledgers against recorded history Padreug 2026-10-09 09:40:41 +02:00
  • 695a8bf98d Merge pull request 'feat(deploy): run the tejo from USB (disk-image-tejo-usb)' (#120) from feat/tejo-usb into dev padreug 2026-10-06 17:35:42 +00:00
  • 6042d69356 fix(deploy): tejo had no WireGuard address, so it had no way back in Padreug 2026-10-06 19:26:14 +02:00
  • c3e01c9cd3 feat(deploy): USB-bootable tejo image (disk-image-tejo-usb) Padreug 2026-10-06 19:18:47 +02:00
  • 81a001c3d3 refactor(deploy): one USB-image helper for both bootloader shapes Padreug 2026-10-06 19:17:18 +02:00
  • 76f3c2ff9d fix(hal): enable Apex escrow, use the real return bit, checksum the whole frame feat/rpi4-target Padreug 2026-09-30 21:59:56 +02:00
  • f7b1942f38 fix(hal): correct the Apex USD channel map — it credited notes at the wrong value Padreug 2026-09-30 21:59:56 +02:00
  • 92d5fdb98b Merge pull request 'fix(hal): await the serial close, and stop reporting a cassette layout the dispenser refused' (#119) from fix/dispenser-close-race into dev padreug 2026-09-29 21:58:31 +00:00
  • 47d3d0b237 fix(hal-service): don't keep a cassette layout the dispenser refused Padreug 2026-09-29 23:55:48 +02:00
  • 5fc1fbc9e8 fix(hal): close() resolves once the serial port is actually closed Padreug 2026-09-29 23:55:39 +02:00
  • 7000720ae9 Merge pull request 'fix(nfc): make the Bolt Card reader an opt-in machine capability' (#115) from fix/nfc-opt-in into dev padreug 2026-09-29 20:51:37 +00:00
  • a78fbe1273 Merge pull request 'feat(deploy): USB-bootable douro image (disk-image-douro-usb)' (#114) from feat/douro-usb into dev padreug 2026-09-29 20:51:28 +00:00
  • bb2ad39628 feat(deploy): services.bitspire.nfc.enable — declare the reader per machine Padreug 2026-09-29 22:49:59 +02:00
  • ce80d75f95 fix(nfc): bail out when pcscd is absent instead of spinning the main thread Padreug 2026-09-29 22:49:45 +02:00
  • 23fe4a59f1 feat(deploy): USB-bootable douro image (disk-image-douro-usb) Padreug 2026-09-16 19:31:45 +02:00
  • dd542eda88 fix(hal): seed the validator's fiat code from config, or it rejects every note Padreug 2026-09-29 21:08:24 +02:00
  • ea4c1f406b fix(machine): make the dispenser optional, as the validator already was Padreug 2026-09-29 18:16:41 +02:00
  • 64a19da924 feat(machine): add rpi4/rpi5 device presets, wire 'apex' into the app types Padreug 2026-09-25 22:56:57 +02:00
  • 2572a14c61 fix(rpi4): enable pcscd — without it the kiosk hangs before drawing Padreug 2026-09-25 22:09:36 +02:00
  • 8917b8b967 fix(rpi4): raise CMA to 256M, document the firmware-partition step Padreug 2026-09-25 18:02:31 +02:00
  • 11cc1b88d6 fix(rpi4): drop fkms-3d, mainline does full KMS without an overlay Padreug 2026-09-25 15:45:56 +02:00
  • b2bf2ffe4b fix(rpi4): use the mainline kernel, not the uncached Pi vendor one Padreug 2026-09-25 15:27:12 +02:00
  • 6568618811 fix(nix): keep only the serialport prebuild this system can load Padreug 2026-09-25 12:30:25 +02:00
  • 92a82712da Merge pull request 'perf: cut the image 38% and turn GPU acceleration back on' (#112) from perf/gpu-acceleration into dev padreug 2026-09-25 05:48:14 +00:00
  • d28d5ecd85 Merge pull request 'Give the upgrade window its own timezone, not the system' (#111) from fix/upgrade-window-timezone into dev padreug 2026-09-25 05:44:54 +00:00
  • 0347530511 perf(deploy): enable GPU acceleration by default, except on douro Padreug 2026-09-24 23:53:53 +02:00
  • db5f433706 Merge branch 'perf/mesa-no-llvm' into perf/gpu-acceleration Padreug 2026-09-24 23:39:39 +02:00
  • f565e004e5 docs: correct the fleet and branch model against the actual machines Padreug 2026-09-24 23:29:07 +02:00
  • 1691511aea perf(deploy): drop the gallium drivers this fleet cannot use Padreug 2026-09-24 22:31:20 +02:00
  • c1ada736d2 feat(deploy): give the upgrade window its own timezone, not the system Padreug 2026-09-24 23:11:49 +02:00
  • 645fd57e5b perf(deploy): prune linux-firmware to the hardware bitSpire runs on Padreug 2026-09-24 22:13:20 +02:00
  • 91c6994dd4 feat(deploy): add aarch64 Raspberry Pi 4 target Padreug 2026-09-20 11:26:17 +02:00
  • 029bb09745 refactor(deploy): key the Pi build machinery by board Padreug 2026-09-20 11:26:02 +02:00
  • 082f738ffa fix(deploy): console=tty0 was being dropped on the Pi 5 feat/rpi5-apex-hal Padreug 2026-09-20 11:25:43 +02:00
  • 425f00a71d perf(deploy): make Electron's GPU flags tunable without a rebuild Padreug 2026-09-24 19:13:06 +02:00
  • e516ab449a perf(deploy): trim systemPackages to kiosk essentials Padreug 2026-09-24 15:27:17 +02:00
  • cda3f3f17e perf(deploy): force the unused audio stack off Padreug 2026-09-24 15:27:06 +02:00
  • 73a77c82b3 perf(deploy): stop the app closure retaining its build toolchain Padreug 2026-09-24 15:26:58 +02:00
  • 48c71f7902 Merge pull request 'Finish the console object-argument sweep' (#108) from fix/log-object-args-sweep into dev padreug 2026-09-24 13:09:55 +00:00
  • e98fd67653 feat(deploy): set the timezone per machine, sintra to Europe/Paris fix/sintra-timezone Padreug 2026-09-24 12:26:39 +02:00
  • d66f50dbdf fix(logging): finish the object-argument sweep Padreug 2026-09-24 12:26:05 +02:00
  • 74e488cd00 Merge pull request 'Interpolate log fields instead of passing an object' (#107) from fix/renderer-log-object-args into dev padreug 2026-09-24 07:31:54 +00:00
  • a68e462462 fix(logging): interpolate log fields instead of passing an object Padreug 2026-09-23 23:55:13 +02:00
  • 8d2509b092 Merge pull request 'Consume operator cassette operations instead of counts' (#106) from feat/cassette-ops-consumer into dev padreug 2026-09-23 21:31:07 +00:00
  • 65f5f982ec docs(adr): record that the operations wire shipped Padreug 2026-09-23 12:56:19 +02:00
  • c889f7f0df feat(cassettes): consume operator operations instead of counts Padreug 2026-09-23 12:55:52 +02:00
  • 9077f9c299 Merge pull request 'docs(adr): record the cassette-state synchronization model' (#105) from docs/adr-cassette-sync into dev padreug 2026-09-22 22:26:11 +00:00
  • 7e3112987d docs(adr): record the publish warning, and the live verification Padreug 2026-09-23 00:06:29 +02:00
  • e4742963a3 docs(adr): record the cassette-state synchronization model Padreug 2026-09-22 23:01:25 +02:00
  • 8c0336c4f6 Merge pull request 'fix(cassettes): close the machine-side divergence paths' (#104) from fix/cassette-sync-machine into dev padreug 2026-09-22 20:30:23 +00:00
  • 474903c38b fix(cassettes): say when the counts are unverified instead of reporting a guess Padreug 2026-09-22 22:14:06 +02:00
  • 54c59fadcc fix(cassettes): publish state on every change, and make the stamps monotonic Padreug 2026-09-22 22:12:07 +02:00
  • db68e6e244 fix(cassettes): republish after a dispense the renderer didn't run Padreug 2026-09-22 22:09:23 +02:00
  • 0d43c4e033 fix(cassettes): report a drained machine as drained Padreug 2026-09-22 22:07:35 +02:00
  • 5b22447dae fix(cassettes): decrement bays on an operator remediation dispense Padreug 2026-09-22 22:05:42 +02:00
  • ac27bc36e0 Merge pull request 'fix(deploy): guard the WireGuard peer units too, not just the interface' (#103) from fix/wg-peer-units-guard into dev padreug 2026-09-22 18:43:53 +00:00
  • e3b51eaa37 fix(deploy): guard the WireGuard peer units too, not just the interface Padreug 2026-09-22 20:38:35 +02:00
  • 387bed0679 Merge pull request 'fix(deploy): nightly auto-upgrade failed on both ATMs, for different reasons' (#101) from fix/autoupgrade-known-hosts-and-wg into dev padreug 2026-09-22 18:28:37 +00:00
  • 71b2691f8c fix(deploy): don't fail activation over an unprovisioned WireGuard tunnel Padreug 2026-09-22 20:14:46 +02:00
  • 012fecef5e fix(deploy): trust the Forgejo host key so auto-upgrade can fetch Padreug 2026-09-22 20:14:46 +02:00
  • aab2d074c3 Merge pull request 'fix(access): instrument Complete, and say when a card can't sell' (#100) from fix/card-complete-blocked-feedback into dev padreug 2026-09-22 16:30:57 +00:00
  • 61d5bf0231 fix(access): instrument Complete, and say when a card can't sell Padreug 2026-09-22 17:50:49 +02:00
  • 67763d6e8d Merge pull request 'fix(cash-out): settlement watch missed one-tap payments' (#99) from fix/cashout-settlement-race into dev padreug 2026-09-22 16:29:35 +00:00
  • 67573008ee fix(machine): surface a payment taken with no cash dispensed Padreug 2026-09-22 18:16:06 +02:00
  • ebb07ce22d fix(lightning): arm the cash-out settlement watch before the invoice is shown Padreug 2026-09-22 18:16:06 +02:00
  • da4969d510 Merge pull request 'fix(access): session Complete failed on IPC clone; keep rate lookup off the unlock path' (#97) from fix/boltcard-session-ipc-clone into dev padreug 2026-09-22 14:02:47 +00:00
  • 54244a4708 Merge pull request 'fix(machine): keep the mouse pointer visible on the web demo' (#96) from fix/demo-cursor-visible into dev padreug 2026-09-22 12:59:55 +00:00
  • aa22ba1c27 fix(machine): keep the mouse pointer visible on the web demo Padreug 2026-09-22 14:54:57 +02:00
  • 8e11c41f62 perf(access): keep the rate lookup off the unlock path, log entry timing Padreug 2026-09-22 14:24:13 +02:00
  • 42e3657fe1 fix(access): pass plain objects over IPC for session Complete Padreug 2026-09-22 14:24:13 +02:00