DEV Community

Mads Hansen
Mads Hansen

Posted on

An immutable audit log cannot prove a decision that was never written

An agent proposes an action from database evidence. A reviewer changes it and approves. The action succeeds.

But the decision record is lost between chat, workflow state, and the destination system.

A hash chain cannot detect a record that was never written.

The safer order:

  1. bind approval to the exact artefact digest
  2. durably admit the decision receipt
  3. issue a short-lived, single-use operation capability
  4. verify and consume it at dispatch
  5. reconcile the receipt, attempt, and observed external state

Test admitted/no action, action/no receipt, duplicate delivery, crashes around commit, changed artefacts, cross-tenant replay, expiry in queue, and indeterminate timeouts.

Keep proposal, human decision, and execution as separate linked records. Approval is not execution. External state is not proof of approval.

Receipt-before-action turns missing and replayed decisions into testable system states.

Full guide: AI database approvals: write the receipt before the action

Top comments (0)