dot-iu-cutter v0.4 — First Controlled Production CUT/VERIFY Trial — COMMAND REVIEW (document-only, execution blocked) (2026-05-17)
dot-iu-cutter v0.4 — First Controlled Production CUT/VERIFY Trial — COMMAND REVIEW
Date: 2026-05-17 · Status: DOCUMENT-ONLY — NOTHING EXECUTED. Every command below is PROPOSED and requires a separate GPT review + sovereign authorization before any execution.
Authorized scope of THIS phase: command-review authoring only. Production execution allowed now = false.
Accepted code commit (pinned, validated by RERUN#4): e93424b5ff7fa5e4b8406131977ce4339cd0856a (parent db4aa58, branch main).
Predecessor evidence: …/v0.4-db-adapter-dry-run/dot-iu-cutter-v0.4-pg-backed-dry-run-RERUN4-SUCCESS-2026-05-17.md (isolated PG dry-run PASS) · …-closeout-and-production-trial-routing-note-2026-05-17.md.
Hard boundary: no production execution, no production row write, no secret read/print, no deploy/restart, no bulk cut, no schema migration / index DDL / JSONB normalization, no label/metadata registry, no vector/NoSQL, no alias writes, no self-advance to execution.
1. Target IU selection criteria
Exactly one non-critical information unit, selected by an explicit, deterministic, single-row rule — never a bulk or wildcard selector.
- Selector form: a single fully-qualified IU primary key, pinned literally in the authorized run (
TARGET_IU = '<one tac_logical_unit id>'). NoLIKE, noIN (...)with >1, no range, noWHERE status = …set, noLIMIT n>1, no "all of category X". - Non-critical safety criteria (all must hold, asserted at preflight, not assumed):
- The IU is a single
tac_logical_unitrow with no inbound/outbounddecision_backlog_dependency(standalone — matches the dry-run'sdependency=0fixture). - The IU has no existing
cut_change_set(never cut → G-CUT-ONCE clean; first-touch). - The IU is classified non-critical / low blast radius (not a load-bearing/critical-flagged unit; no downstream legal-authority dependents).
- The IU's content is stable (not under concurrent edit) at preflight snapshot.
- The resulting change set affects exactly one unit block (single-unit canonical fixture parity → keeps the +15 delta exact and bounded).
- The IU is a single
- Why a single pinned PK is safe: it makes the blast radius provably one row family; it is auditable (the exact id is in the command-review the GPT approves); it cannot fan out; a wrong/ambiguous target is caught by the
count != 1abort gate before any write. - The concrete IU id is deliberately not chosen in this document (choosing it requires a read-only production preflight under a separate authorization). This review defines the rule; the id is bound at authorization time and re-reviewed.
2. Explicit non-scope
Out of scope for this trial (each independently forbidden without separate review): no bulk cut · no reclassification batch · no deploy/restart · no schema migration · no index DDL · no JSONB normalization · no label/metadata registry creation or change · no vector/NoSQL integration · no canonical_address_alias writes (alias deferred; +0 expected — any alias write requires separate review) · no more than one IU · no compensating/forward cut beyond the single trial's own rollback policy (§9).
3. Preflight (PROPOSED — gates P-01 … P-08; read-only)
| ID | Proposed preflight check | Pass criterion |
|---|---|---|
| P-01 | Production identity guard: select system_identifier from pg_control_system() (read-only, workflow_admin) |
== 7611578671664259111 (else ABORT) |
| P-02 | Code commit pin: git -C /opt/incomex/dot rev-parse HEAD |
== e93424b5ff7fa5e4b8406131977ce4339cd0856a; git status --short -- iu-cutter clean |
| P-03 | cutter_exec / cutter_verify presence + privilege: roles exist, LOGIN, NOSUPERUSER/NOBYPASSRLS, exact 33 table-priv + 3 col-UPDATE matrix via aclexplode set-equality (structural, not string); cutter_ro NOLOGIN |
exact frozen matrix; grant_option=0 |
| P-04 | Baseline row counts of the 12 cutter_governance tables (select count(*) each, integer-captured) |
recorded as the pre-trial baseline B[12] |
| P-05 | Target resolution: the single pinned TARGET_IU resolves to exactly one tac_logical_unit row; dependency=0; no existing cut_change_set |
row count == 1 (else ABORT) |
| P-06 | DOT-991/DOT-992 active checks: lanes resolvable; centralised SIGNATURE_LANE_REFERENCE_KIND = {DOT-991→change_set, DOT-992→verify_result}; deployed dot_pair_signature_check XOR present |
mapping exact; constraint present |
| P-07 | Hardcode / no-label-key check: static scan of the executed command set + config for fixed IP/DSN/password/container/vector-collection and runtime label/metadata keys | NONE_FOUND (else STOP) |
| P-08 | Separation-of-duty wiring: CUT path binds cutter_exec/DOT-991; VERIFY path binds cutter_verify/DOT-992; cutter_ro never a writer |
bound correctly |
4. Backup & backstop (PROPOSED)
- Fresh backup: read-only
pg_dump(workflow_admin) of the productiondirectusDB immediately before any write; capture SHA256 + byte size. - Freshness gate: backup
pg_dumpstart timestamp must be within a tight window (e.g. ≤ 10 min) of the first write command; stale backup ⇒ ABORT. - Checksum: SHA256 recorded in the execution report; the dump file itself never uploaded to KB (contains prod data) and shredded at teardown (R11), sha-reference only.
- Restore/backstop note: the backup is the disaster backstop only. Because the ledger is append-only (no casual deletes), the first-trial rollback policy is forward-compensation / no-delete (see §9); a full restore is the last-resort backstop, not the routine rollback.
- Secret scrubbing: all logs/artefacts redacted; passwords never echoed;
.envnever read;dr.env-style throwaway not applicable (production uses the already-provisionedcutter_exec/cutter_verifycredentials in/opt/incomex/docker/.env, which are not read or printed by this trial — the adapter loads them from env at runtime without logging).
5. Exact command sequence (PROPOSED — command-review only; NOT executed in this phase)
| Cmd | Action | Guard before it |
|---|---|---|
| C-01 | Preflight P-01…P-08 | all P-gates PASS |
| C-02 | Fresh read-only pg_dump + sha + freshness stamp |
P-01 prod-identity OK |
| C-03 | Re-assert baseline B[12] (idempotent re-read) | matches P-04 (no unexplained drift) |
| C-04 | MARK the single TARGET_IU (cutter_exec / DOT-991) |
target count == 1 |
| C-05 | SWEEP (promote marked→review_pending; writes sweep_log) | C-04 committed |
| C-06 | REVIEW = approve (writes manifest_envelope/unit_block + review_decision) | status review_pending |
| C-07 | CUT (cutter_exec/DOT-991: dot_pair_signature exec row w/ cross_reference_change_set_id; cut_change_set; affected_row) | status reviewed_approved; G-CUT-ONCE clean |
| C-08 | VERIFY pass (cutter_verify/DOT-992: dot_pair_signature verifier row w/ cross_reference_verify_result_id; verify_result) | status cut_applied |
| C-09 | Post-count Δ vs B[12]; assert exact +15 matrix (§7); DOT lane/XOR check (§8) | every cell exact |
| C-10 | Forbidden-SQL scan (verbs only INSERT/SELECT/SET/UPDATE), secret-leak scan, identity re-confirm (sysid pre==post) | all clean |
| C-11 | Backup sha re-record; shred dump (R11); finalize redacted report | net-zero except the intended +15 |
Each phase = one atomic transaction (write-path-design §3); guards + state machine enforced before any write; append-only (no DELETE/TRUNCATE/DDL).
6. Safety gates (abort conditions — ABORT ⇒ STOP, no improvise)
- G-A1 target IU count != 1 → ABORT (no write).
- G-A2 production identity unclear / sysid !=
7611578671664259111→ ABORT. - G-A3 code commit !=
e93424b5ff7fa5e4b8406131977ce4339cd0856aor iu-cutter tree dirty → ABORT. - G-A4 expected baseline drift unexplained (C-03 ≠ P-04 without a documented benign cause) → ABORT.
- G-A5 DOT lane mapping mismatch (SIGNATURE_LANE_REFERENCE_KIND ≠ {DOT-991→change_set, DOT-992→verify_result}) or
dot_pair_signature_checkabsent → ABORT. - G-A6 any secret would be logged/printed → ABORT.
- G-A7 any bulk/wildcard selector appears in the resolved command set → ABORT.
- G-A8 privilege matrix not exactly the frozen set, or
cutter_roLOGIN, or grant_option≠0 → ABORT. - G-A9 post-Δ ≠ exact +15 matrix, or any forbidden SQL verb, or XOR/lane violation observed → STOP + rollback policy (§9).
- G-A10 backup missing / stale / checksum unrecorded → ABORT before any write.
Any abort before C-04 = nothing written. Any stop at/after C-04 → §9 policy. A server 42501 is not expected here (correctly-privileged writers) — if seen, STOP.
7. Expected production row delta for one IU (EXACT, gating)
| Table | Δ |
|---|---|
| decision_backlog_entry | +1 |
| decision_backlog_history | +5 |
| decision_backlog_dependency | +0 |
| decision_backlog_sweep_log | +1 |
| manifest_envelope | +1 |
| manifest_unit_block | +1 |
| review_decision | +1 |
| dot_pair_signature | +2 |
| cut_change_set | +1 |
| cut_change_set_affected_row | +1 |
| verify_result | +1 |
| canonical_address_alias | +0 |
| TOTAL | +15 |
Identical to the RERUN#4-validated verification-plan r3 baseline. Any single-cell deviation ⇒ G-A9 STOP. (Other production tables: Δ0 — this trial writes only the cutter_governance cut/verify family for one IU.)
8. DOT lane checks
- DOT-991 (executor/CUT) signature row:
cross_reference_change_set_id= the trial'scut_change_set.change_set_id;cross_reference_verify_result_id= NULL. - DOT-992 (verifier/VERIFY) signature row:
cross_reference_verify_result_id= the trial'sverify_result.verify_result_id;cross_reference_change_set_id= NULL. - Exactly one cross-reference column non-null per
dot_pair_signaturerow (deployeddot_pair_signature_checkXOR). - No swapped lane; no both-null; no both-non-null. Enforced pre-write by the centralised
signature_cross_reference()(acceptede93424b) →LaneReferenceMismatch⇒ STOP. Post-check at C-09 confirms the 2 rows structurally.
9. Rollback / forward-compensation policy (first trial — explicit for GPT review)
The ledger is append-only; audit rows (decision_backlog_history, signatures, change sets, verify results) are never casually deleted or truncated. Proposed first-trial policy:
- Primary = forward compensation (no physical delete). If VERIFY fails or a post-condition is violated, use the existing forward-compensation path (compensating
cut_change_set+ escalation entry +verify_resultoutcome=fail), exactly as exercised by the dry-runforce_failscenario — no row removal. - No routine "rollback by delete". Deleting audit rows is forbidden.
- Backup restore = last-resort disaster backstop only, used solely if the database is left structurally inconsistent in a way forward-compensation cannot express — a separately-authorized incident action, not the routine path.
- Decision requested from GPT: confirm first-trial policy = forward-compensation, no-delete; backup-restore backstop reserved for disaster only (recommended), vs. no rollback at all for the first trial (accept the +15 as permanent audit even on a benign mismatch, investigate forward). This choice is left explicit and open for GPT — not self-decided.
10. Report (this command-review package)
- Command count: 11 proposed commands (C-01 … C-11).
- Safety gate count: 8 preflight gates (P-01…P-08) + 10 abort gates (G-A1…G-A10) = 18 gates.
- Target IU selection rule: exactly one pinned
tac_logical_unitprimary key; non-critical; dependency=0; no prior cut; single unit block; no bulk/wildcard;count != 1⇒ ABORT. - Expected delta matrix: the §7 table, total +15, identical to RERUN#4-validated r3 baseline.
- Execution still blocked: CONFIRMED. Nothing in this phase was executed. No production connection, write, secret read, deploy, or CUT/VERIFY occurred. All commands are proposals pending a separate GPT review + sovereign authorization.
- Git: branch
main· HEADe93424b5ff7fa5e4b8406131977ce4339cd0856a·git status --short -- iu-cutter= clean (empty) — no code change, no commit this phase. - Hardcode control statement: no fixed IP/DSN/password/container/vector-collection introduced; production credentials are loaded by the adapter from existing env at runtime and never read/printed by this trial; the only literals are the mandated safety constants (prod sysid
7611578671664259111, accepted commit pin, exact role/lane names) which are auditable safety identifiers, not forbidden hardcodes. No STOP-class hardcode. - Metadata/label non-hardcode statement: no metadata or label registry schema; no label columns; no runtime label/metadata key hardcoding; SQL / deployed
cutter_governanceremains SSOT; JSONB carries no hidden authority (DOT lane↔reference mapping is the centralised schema-binding-tested map in acceptede93424b, unchanged); no vector/NoSQL.
Standing forbidden statement
All of the following remain forbidden without a separate explicit GPT review + sovereign authorization: production execution of any command above, production row write, production secret/.env read or print, deploy/restart, bulk cut, reclassification batch, schema migration, index DDL, JSONB normalization, label/metadata registry, vector/NoSQL integration, alias writes, iu-cutter source/test change, git commit, and any self-advance from this document to execution.