agent-authz-broker

Approvals

An approval is a durable row created out of band by a human. The irreversible tool looks for one in this server’s own database. There is no tool argument, no header and no prompt that can assert that a human agreed — the input schema of issue_credit has no field a caller could use to claim one.

Consumption is a conditional UPDATE guarded by a unique constraint, so a spent approval is spent for every connection at once. One approval authorises exactly one irreversible effect, including under two concurrent calls.

A committed measurement, not a live broker. BROKER_API_BASE_URL is unset, so all four screens render the artifacts committed under artifacts/ — written by one run of python -m agent_authz_broker.demo against real PostgreSQL. It executes every scenario under both policies, counts irreversible_effect rows from a clean database each time, and exports the audit_event rows it wrote, the approvals it left behind, and each delegation chain decoded from the token that was actually presented. Every number here was measured; none was typed. Attached to a running broker, these same screens show that database live.

Human approvals on file, what each is bound to, and whether it has been spent.
ApprovalBound toExpiresConsumedState
apr_d49f9b0133a04a8c
agent-7
issue_credit · ACC-1041 · 500
2026-09-13T12:36:47.885615+00:00
2026-09-13T12:21:47.897026+00:00
Spent. This row cannot authorise a second effect.
consumed
apr_8a725f466b1742c2
agent-7
issue_credit · ACC-1041 · 500
2026-09-13T12:36:48.010251+00:00not consumedpending
apr_4dea81207d444d8e
agent-7
issue_credit · ACC-1041 · 500
2026-09-13T12:36:48.228781+00:00not consumedpending
apr_fa9169c3b69743fc
agent-7
issue_credit · ACC-1041 · 500
2026-09-13T12:20:48.477416+00:00not consumedexpired
apr_a8232674e61c4c99
agent-7
issue_credit · ACC-1041 · 500
2026-09-13T12:36:48.621477+00:00
2026-09-13T12:21:48.633596+00:00
Spent. This row cannot authorise a second effect.
consumed