informed-decision/docs/batches/2026-10-14-three-attempts/OPERATOR.md
tegwick d5f10213ec Record queued review for spend memo infd-20261014-b01 (lifecycle intake path)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 358047@bnt-lap001
Assistant-Session: fad68125-297a-449d-bfa7-cf9cdd49ca1d
2026-10-15 05:17:41 +02:00

94 lines
4.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Three-attempt spend sitting — operator packet
Memo `infd-20261014-b01` (REINAH-WP-0008-T07): up to three metered Glas
attempts, EUR 10 in total and EUR 5 per attempt, observed-usage settlement,
until 2026-10-31. Drafted in `ee6a65b`. **Not created, admitted or loaded.**
An agent may not create the approval, bind an identity, accept, decline or seal.
## Why the owner sees nothing (2026-10-15)
No hub decision exists for this memo, and the hub has nothing to resolve. The
memo appears only when a review record exists on `decisions.coulomb.social`. On
2026-10-15 none existed: no native approval had been created, no Flex Auth
record admitted it and no review store had loaded it.
File checks passed on 2026-10-15 without credentials or network access:
- `tools/create_sitting_approvals.py --dry-run --sitting 2026-10-14-three-attempts --expect 1 --receipt <unused>`
listed exactly one postable intent, `infd-20261014-b01`, with nothing skipped.
- The packet digest matches the memo
(`sha256:cd6da37f6ee41fd5ade7e282622d3d08788683ffc1ecadaabe527d321ecfe839`).
## Owner path, following the 2026-09-27 precedent `infd-20260927-b02`
1. **Create the approval (attended).** Open a Warden attended-login shell, so
that HOME is under `.warden-attended-login` and `BAO_TOKEN` and
`VAULT_TOKEN` are unset. Forward approval-engine to `127.0.0.1:18281`, then
run:
```bash
~/informed-decision/tools/create_sitting_approvals.sh \
--sitting 2026-10-14-three-attempts --expect 1 \
--receipt 2026-10-15-three-attempt-budget-create.json
```
The receipt lands in `docs/evidence/` with `status: created` and an approval
id. The approval's validity window starts at create time. The 2026-09-27
approval was valid for 24 hours, so finish steps 2–4 promptly.
2. **Admit the exact record in Flex Auth (production policy rollout).** Add the
memo:
- `memo:infd-20261014-b01`
- `approval_id`, taken from the receipt
- `binding_digest`, taken from the receipt
- the five-field binding
to `~/access-engine/examples/informed-decision-sitting/records.json` and to
the mandate set that the deployed compact-sitting package is built from.
Then roll the new package digest out through the owning Helm/Argo workflow,
and update `deploy/sitting-admission.json`. Without this step the review
page refuses the memo.
3. **Bind and load.** Write the bound copy using the live KeyCape subject (for
2026-09-27 this was `uid=platform-root,ou=people,dc=netkingdom,dc=local`):
```bash
cd ~/informed-decision && .venv/bin/python -B tools/attach_compact_bindings.py \
--principal '<live KeyCape subject>' \
--receipt docs/evidence/2026-10-15-three-attempt-budget-create.json \
--sitting 2026-10-14-three-attempts --batches budget
```
Then load `docs/batches/2026-10-14-three-attempts/bound` into the live
review store with `tools/load_sitting_memos.py --db <live store> --bound <dir>`,
using the store's own custody path.
4. **Accept (human only).** Go to
`https://decisions.coulomb.social/review?memo_id=infd-20261014-b01`,
signed in as the platform reviewer with fresh MFA.
5. Record the acceptance receipt in `docs/evidence/`. Rein then uses the
approval id as `authority_ref` for `owner renew` (REINAH-WP-0008-T07 step 4).
## Alternative: the lifecycle intake path
This is the normal path since 2026-10-05 (`deploy/lifecycle/README.md`). It
needs no per-record Flex Auth rollout. A trusted in-cluster workload
(`system:serviceaccount:state-hub:state-hub`) registers, publishes and
requests review, and then explicitly enqueues the envelope in the State Hub
memo dispatcher. The 2026-10-05 dependency-roots sitting is the precedent.
The intake admits only class `decision-record`. The resulting review approval
binds the review record, not the five-field `spend-envelope` binding above, so
the owner must agree that it is valid spend authority before this path is used.
## Queued 2026-10-15 (lifecycle intake path)
The owner chose the intake path and agreed that the review-record approval is
valid spend authority. Workspace draft `2ccb4bda-e318-51d2-a8dd-709db768494f`
was published to `net-kingdom-admins`; the review request
`review-e2d2e98f-4701-45b0-abc1-4fe9f00bd1a8` was queued by the owner in the
State Hub memo dispatcher. Approval intent: `accept` by `helixforge-factory`.
The scope id carries a leading space (`" spend-envelope:hfact-glas-tool-proof-20261014-three-attempts"`);
intake accepts it and no rein-aharness check compares it. The packet digest is
`sha256:066036f3…` (same text as the drafted packet, CRLF line endings). The
compact-sitting approval create above was not used. Not accepted yet; the
accepted approval id becomes `authority_ref` for `owner renew`.
`BROWSER-FILL.md` is the fill sheet used for the workspace entry.