O10 automation completion bundle — 08-first-run-package-update
O10 Report 08 — First-run package update (BRANCH 7)
- macro:
v0.6-o10-automation-completion-program-bundle - date_utc: 2026-05-21 · gate: BRANCH 7 · result: PASS
Updates the O9 first-run packages to reflect the new generic target path.
1. Backup package — UNCHANGED
/var/lib/cutter/backup_runner.py (O9 F4 artifact) is document-agnostic:
it pg_dumps the affected rows for any change_set. No generic-path
change. Residual: BACKUP_GPG_FPR keypair (operator step) — still open.
2. Grant package — UNCHANGED for dry-run
A generic Mode.DRYRUN walk performs no DB access → needs no grant.
For a live generic cut the O9 2-grant package still applies
(GRANT SELECT ON cutter_governance.verify_result +
cut_change_set_affected_row TO cutter_exec). grant_probe passes as-is.
3. Approval package — SCOPE EXTENDED
The SG_1 / SG_2 contract is unchanged (gate, run_id, allowance, signed_utc,
TTL; SG_2 needs a fresh review_decision_id). New: the document named
in the SG_1 approval may now be a generic docprefix (e.g. O10-FIX),
not only ICX-CONST. The sovereign approves a specific run_id, so the
target identity is bound by the run, not by a hard-coded document.
4. Target intake package — NEW (generic path)
dry-run target: a synthetic ATX-heading file + a non-reserved docprefix.
NO source_document_registry row required (in-memory).
live-cut target: O9 Report 04 §4 registry-row procedure still applies,
but with source_format reflecting the generic snapshot;
the cut is sovereign-gated.
command: python3 -m cutter_agent.orchestrator.generic_intake
{parse|dryrun} <file> --docprefix <PFX> ...
5. Command package — AMENDED
The O9 Report 06 first-run command package stays valid for an ICX-shaped
run. Added option: a generic first run substitutes the discoverer —
GenericIntakeDiscoverer.from_generic_document(parse_generic_document(...))
— in place of the LIVE discoverer for the GAP8 target placeholder at
O9 Report 06 §5. Every other step (env, grants, backup, scoped
execution_enabled flip, SG_1 resume, verification queries, disable,
STOP conditions) is unchanged.
6. STOP conditions — EXTENDED
O9 Report 06 §10 STOP conditions all carry over. New parser-level fail-closed routes (BLOCKED before any orchestrator phase, exit 3): invalid/reserved docprefix · malformed sentinel pair · zero headings · empty-body unit · > max_units · duplicate address. A BLOCKED parse never reaches the runner — no run is created, no state is written.
7. Compensation readiness — UNCHANGED
cutter_agent/orchestrator/compensation.py (O8F GAP6) is document- and
N-agnostic; soft-revert remains the default (hard_delete_default=False).
It applies unchanged to a generic-target run.
8. Verdict
branch_7: PASS — backup/grant/compensation unchanged & generic-compatible;
approval/target-intake/command/STOP packages extended for the
generic path. Residual operator/sovereign items unchanged.