informed-decision/docs/specs/CompactSignoffBatches.md
tegwick 6a386dd787 Prepare INFD-WP-0002-T03 sitting without a fake bind.
T08 historically bound three SECRETS-WP-0010-T03 memos on this origin.
Live accept is closed: /readyz 503 because audit-core has no ready
endpoints. Compact drafts still lack approval_id. Operator packet and
preflight record the gates; T03 stays wait.

Assistant: grok
Assistant-Session: 01a09dc1-b21e-77e1-919e-fcad2f82b267
2026-09-14 18:59:49 +02:00

60 lines
2.4 KiB
Markdown

# Compact sign-off batches
Addendum to the Stage 1 specs (INFD-WP-0002-T02). Not a new product.
Does not fork the Decision Memo schema.
## What a batch is
A batch is an *Umlaufmappe* **grouping** of Decision Memos that one
admitted review group can bind in a compact sitting.
- One question per memo (INTENT invariant).
- Ordered list (`ordinal` in the batch index).
- Per-memo bind. Progress is “how many memos in this sitting have a
human disposition,” not a batch-level verdict.
- Review group: `net-kingdom-admins` (operator-admitted 2026-09-14).
- Humans bind; agents draft. Unsigned drafts use principal
`pending-human-session`. Live bind substitutes the authenticated
key-cape subject.
If Stage 1 UI cannot yet render a group, the same rules hold for a
recorded desktop sitting: open memos in order, acknowledge required
highlights, bind one memo at a time, keep `view_hash` per memo.
## Anti-requirements
- **No bundled unrelated acts.** One memo must not ask for a mint, a
deploy, and an ADR accept together.
- **No “approve all”** that skips required highlights.
- **No agent disposition.** An agent may draft, order, and record
evidence. It may not `accept` / `decline` / `seal`.
- **No secret values** in packets or memos.
- **No auto-approval** from review-group membership. Membership is
eligibility, not a bind.
- This addendum does **not** complete INFD-WP-0001-T08. Live bind waits
on that path.
## Sitting progress
```text
draft-unsigned → (T08 bind path live) → circulating → per-memo completed
```
Unfinished memos stay in the batch. A partial sitting does not finish
INFD-WP-0002. File-level updates of owning workplans happen only after
a human bind (T04), via repo files + `fix-consistency`, never
`POST /workplans/`.
## First sitting (unsigned)
`docs/batches/2026-09-14/` — four credential/custody memos and four
decision/assent memos. Indexes name the blocking workplan/task. Do not
submit until a human sitting is opened under T03.
2026-09-14 16:56 UTC: Stage 1 historically bound three other memos
(`SECRETS-WP-0010-T03-*`) on this origin. New accepts are closed while
`GET /readyz` returns 503 (`approval_path_not_connected`) because
audit-core is not Ready and its Service has no ready endpoints. Compact
memos still have `approval_id: null`. Operator packet:
`docs/batches/2026-09-14/OPERATOR.md`. Preflight:
`tools/sitting_bind_preflight.py`.