KB-1991

O9 first-automated-production-run readiness — 04-safe-target-discovery-intake

6 min read Revision 1
dieu44iu-cutterv0.6o9first-automated-production-runreadiness

O9 Report 04 — Safe target discovery & intake package (G4 / GAP8)

  • macro: v0.6-o9-first-automated-production-run-readiness
  • date_utc: 2026-05-21 · host: Contabo vmi3080463
  • gate covered: G4 — safe target discovery / intake
  • result: G4 PASS — no qualifying registry candidate; intake package produced; a structural precondition is surfaced (§3)

1. Discovery — privileged read of the source registries

Read directly (superuser path) — the O8E read-only limitation no longer applies:

cutter_governance.source_document_registry:          1 row
  source_document_ref: incomex-constitution
  address_docprefix:   ICX-CONST
  authority_class:     authoritative · lifecycle: active
cutter_governance.source_document_version_registry:  1 row
  document_version_id: icxconst-008a06ace23a96ea6cd456146e805c97
  content_checksum:    17660443e0f23e99…  · authoritative_version: v4.6.3 BAN HÀNH
  version_status:      snapshot_captured

The only registered source document/version is ICX-CONST. The 98 draft IUs in public.information_unit (DIEU-28 ×27, DIEU-32 ×23, DIEU-35 ×36, test/pilot ×12) are not registered source-document versions — they have no source_document_version_registry row and so are not orchestrator-cuttable source targets.

2. Acceptance criteria (GAP8) vs. candidates

Criterion ICX-CONST 98 draft IUs
C1 not ICX-CONST (unless sovereign-named) REJECT — is ICX-CONST, already enacted n/a
C2 has a source snapshot yes no registry row
C3 dry-runnable first
C4 small (1–3 units) no (60) not registered
C7 fresh change_set

➡️ No qualifying registry candidate exists. A target-intake package is required (§4).

3. Structural finding — the discover/cutplan front-end is ICX-CONST-shaped

A new synthetic target needs more than registry rows. The deployed discover/mark/cutplan front-end is hard-wired to the Constitution document:

cutter_agent/dryrun.py:        snapshot parser expects EXACTLY the 5 ICX-CONST
                               zone headers (Z2..Z6, verbatim Vietnamese) and
                               exactly 15 NGUYEN_TAC principles; snapshot_gate
                               is pinned to the ICX-CONST sha/len/marker census.
discover.LiveReadOnlyDiscoverer: constitution_lifecycle_survey + source_unit_texts
                               are doc_prefix-shaped around the ICX-CONST data.

O8F's F3 generalised the governance recording (leg-B / verify recorders, no hard N=60) — it did not generalise the document front-end. So a genuinely new synthetic document is not cuttable by the deployed code without one of:

  • (P-A) a source-level generalisation of the discover/mark/cutplan path (a Mac source patch — a generic normalized-snapshot parser), or
  • (P-B) an explicit sovereign decision to scope the first orchestrator run as a constitution-shaped re-exercise (note: ICX-CONST is already fully enacted, so a re-cut produces no new rows — a constitution-shaped Mode.DRYRUN governance rehearsal is the only non-mutating option here).

This precondition is the precise, current content of GAP8 and must be resolved before any first mutating production run.

4. Target-intake package (no production source created — forbidden w/o approval)

For an operator/sovereign to create a safe first-run target:

required source_document_registry fields:
  source_document_ref   : e.g. 'o9-firstrun-fixture'
  address_docprefix     : e.g. 'O9-FIX'         (must NOT collide with ICX-CONST/DIEU-*)
  source_family         : 'synthetic_low_stakes_fixture'
  authority_class       : 'non_authoritative'   (C6 — not load-bearing)
  display_vi/display_en : human label
  lifecycle             : 'active'
required source_document_version_registry fields:
  document_version_id   : deterministic id
  source_document_ref   : matches above
  content_checksum      : sha256 of the normalized snapshot region
  source_format         : 'normalized_snapshot'
  version_status        : 'snapshot_captured'
prechecks before Mode.DRYRUN:
  - C1 not ICX-CONST            - C4 1–3 units
  - C2 snapshot artifact exists - C6 non-authoritative / synthetic
  - C7 a NEW change_set_id (not the M1 d99a31d4… pinned id)
  - P-A or P-B resolved (§3) so discover/cutplan can parse the snapshot
intake procedure:
  1. resolve §3 precondition (P-A source patch, or P-B sovereign scope ruling)
  2. author the normalized snapshot artifact (1–3 units)
  3. INSERT the 2 registry rows above (as cutter_exec — SI granted on both
     registries; registration metadata, NOT an IU cut)
  4. Mode.DRYRUN the orchestrator over the new source_version_id; confirm
     green + capture writer_digest
  5. pair the dry-run-proven target with the SG_1 approval (Report 05/06)

Step 3 (registry INSERT) is intake metadata, not an IU production mutation, and is not performed by this macro (no approval).

5. Verdict

discovery:            DONE — 1 registered source (ICX-CONST) — REJECT by C1
registry_candidate:   NONE qualifies
structural_finding:   discover/cutplan front-end is ICX-CONST-shaped — GAP8
                      precondition P-A (source patch) or P-B (sovereign scope)
intake_package:       PRODUCED (§4) — no production source created
g4:                   PASS
Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.6-o9-first-automated-production-run-readiness/04-safe-target-discovery-intake.md