Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 272244@bnt-lap001 Assistant-Session: c8962fa7-b290-47df-865f-403ddb6c77e9
2.5 KiB
Budget sitting — operator packet (SECRETS-WP-0009-T03)
Review group: net-kingdom-admins.
Surface: https://decisions.coulomb.social/
Contract: docs/specs/CompactSignoffBatches.md.
Generator: tools/prepare_budget_batch.py (re-running rewrites the same bytes).
An agent may draft, order, and record evidence. It may not accept / decline / seal.
One unsigned memo
| n | memo_id | Blocking record |
|---|---|---|
| 1 | infd-20260921-b01 |
SECRETS-WP-0009-T03 spend envelope (authority_ref for HFACT-WP-0001 SpendPolicy) |
Required acknowledgement: the EUR 100 monthly limit is recorded, not enforced.
Steps
-
Create the native approval (attended). Same contained reader as the 2026-09-14 sitting, with the batch selected explicitly:
tools/create_sitting_approvals.sh --sitting 2026-09-21 \ --receipt 2026-09-21-budget-approval-create.json --expect 1Check first without credentials:
.venv/bin/python -B tools/create_sitting_approvals.py --dry-run --sitting 2026-09-21 --receipt 2026-09-21-budget-approval-create.json --expect 1. The receipt atdocs/evidence/2026-09-21-budget-approval-create.jsongivesapproval_idand the engine-computed binding digest. -
Flex Auth admission as a visible version change. In
flex-auth/examples/informed-decision-sitting/policy.md:version: v1→v2, add"memo:infd-20260921-b01"torecordswith the receipt'sapproval_id,binding_digest,label: "b01", the binding fromapproval-create-intents.json,memo_version: 1; mirror it inrecords.json. Keep all seven v1 records. Do not add the record before step 1: an empty approval id must never be a policy value. Build the image in CI, bumpvalues/informed-decision-sitting.yamldigest, deploy. -
Point Informed Decision at v2.
deploy/sitting-admission.json:version: v2, newpackage_digest. Roll out the review service. -
Load and sit. Attach the live KeyCape subject, load the memo (
tools/load_sitting_memos.py), and the human accepts at the surface. The accepted approval id is recorded asauthority_refin the SpendPolicy.
Outcome — 2026-09-21
Operator applied the review cutover to compact-sitting v2 and loaded b01.
Accepted by the named human at 19:51:29 UTC under fresh AAL2 MFA; the required
highlight was acknowledged first; the Approval Engine entry is confirmed.
Receipt: docs/evidence/2026-09-21-budget-sitting-accept.json.
The seven 2026-09-14 sitting memos are reviewable again under the same package.