feat(machine): apply the settle_transaction operator op (ADR-005 §6) #124

Merged
padreug merged 2 commits from feat/settle-transaction-op into dev 2026-10-10 20:30:29 +00:00
Owner

Machine half of spirekeeper#50. When the operator records in spirekeeper that they paid an owed customer by hand, the published settle_transaction {id, at, txid, note} op flips the machine's own dispense_error / partial row to remediated with settled-off-machine:<op id>:<note> as provenance. Goes through the existing remediateTransaction, which only touches rows still in an error state, so re-delivery is a no-op; the op is filtered out before applyOperatorCassetteOps like resume_cash_out.

ADR-005 §6 updated to describe what was built (NIP-17 alert, full-amount off-machine settle).

vue-tsc clean. settlement-watch.test.ts has 5 failures that are identical on a clean dev checkout — not from this change; noted separately.

Refs #122.

Machine half of spirekeeper#50. When the operator records in spirekeeper that they paid an owed customer by hand, the published `settle_transaction {id, at, txid, note}` op flips the machine's own `dispense_error` / `partial` row to `remediated` with `settled-off-machine:<op id>:<note>` as provenance. Goes through the existing `remediateTransaction`, which only touches rows still in an error state, so re-delivery is a no-op; the op is filtered out before `applyOperatorCassetteOps` like `resume_cash_out`. ADR-005 §6 updated to describe what was built (NIP-17 alert, full-amount off-machine settle). vue-tsc clean. `settlement-watch.test.ts` has 5 failures that are identical on a clean `dev` checkout — not from this change; noted separately. Refs #122.
ADR-005 §6: the operator paid the customer by hand and recorded it in
spirekeeper. The op carries the txid and the note; the machine flips its
own dispense_error/partial row to remediated via remediateTransaction,
which only touches rows still in an error state, so re-delivery is a
no-op. Closes the machine side of the ledger for an owed-cash sale
without dispensing anything.
padreug deleted branch feat/settle-transaction-op 2026-10-10 20:30:29 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aiolabs/bitspire!124
No description provided.