KB-35A7

O10 automation completion bundle — 08-first-run-package-update

4 min read Revision 1
dieu44iu-cutterv0.6o10first-run-package

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.
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-o10-automation-completion-program-bundle/08-first-run-package-update.md