KB-7E09

dot-iu-cutter v0.2 — Phase α Dry-Run Verification Results (2026-05-16)

7 min read Revision 1
dieu44-trien-khaidot-iu-cutterv0.2phase-alphadry-runverification-results2026-05-15

dot-iu-cutter v0.2 — Phase α Dry-Run Verification Results

document_path: knowledge/dev/laws/dieu44-trien-khai/v0.2-dry-run/dot-iu-cutter-v0.2-phase-alpha-dry-run-verification-results-2026-05-15.md
revision: r1
executed_utc: 2026-05-16T02:04:37Z
env: pg-dry-run-v0.2-phase-alpha-2026-05-16 (isolated; db=directus; user=workflow_admin)
r2_sql_sha256: 65533e0564ee45625b43bff383252ec03f20e284a5cc506d78e1079d6f893fe3
overall: PASS_WITH_NOTES
production_touched: FALSE

§1 — Pre-Backfill Sanity Checks (verification plan §3)

Check Query intent Expected Actual Result
Q-CHK-1 section_type vocab all active 0 0 PASS
Q-CHK-2 parent_id resolution + doc_code parity 0 0 PASS
Q-CHK-3 canonical_address regex defensive recheck 0 0 PASS

Run on the pristine restored baseline before any DDL.


§2 — Post-DDL Verification Queries V-α-1 … V-α-16

ID Check Expected Actual Result
V-α-1 public.tac_logical_unit new cols authority:text:YES:'draft'::text;canonical_address_format_version:text:NO:'canonical-address-v1'::text identical PASS
V-α-2 sandbox_tac.logical_unit mirror cols same shape as V-α-1 identical PASS
V-α-3 alias table exists 1 1 PASS
V-α-4 alias 9 columns in order alias_id,target_unit_id,alias_text,alias_kind,valid_from,valid_until,created_by,rationale,scenario_ref identical PASS
V-α-5 alias 5 indexes pkey + idx_alias_alias_kind/alias_text/target_unit_id/validity_window identical PASS
V-α-6 public.authority distribution draft=86 (no enacted/runtime/NULL) draft=86 PASS
V-α-7 public.canonical_address_format_version canonical-address-v1=86 canonical-address-v1=86 PASS
V-α-8 sandbox.authority distribution NULL=76 NULL=76 PASS
V-α-9 sandbox.canonical_address_format_version canonical-address-v1=76 canonical-address-v1=76 PASS
V-α-10 alias rows 0 0 PASS
V-α-11 canonical_address column unchanged canonical_address:text:NO:NULL identical PASS
V-α-12 UNIQUE constraint intact 1:UNIQUE (canonical_address) identical PASS
V-α-13 cutter_governance 6 tables 5 v0.1 + canonical_address_alias identical PASS
V-α-13rows cutter_governance total rows 0 0 PASS
V-α-14 tac integrity rows:non-null:distinct 86:86:86 86:86:86 PASS
V-α-15 sandbox rowcount 76 76 PASS
V-α-16 schema diff additions-only removed=0 removed=0, added=6 PASS

16/16 PASS (plus V-α-13rows and integrity sub-checks).

V-α-16 added DDL lines (all additive, all within Phase α scope):

> CREATE TABLE cutter_governance.canonical_address_alias (
> ALTER TABLE ONLY cutter_governance.canonical_address_alias   (PRIMARY KEY)
> CREATE INDEX idx_alias_alias_kind   ON cutter_governance.canonical_address_alias USING btree (alias_kind)
> CREATE INDEX idx_alias_alias_text   ON cutter_governance.canonical_address_alias USING btree (alias_text)
> CREATE INDEX idx_alias_target_unit_id ON cutter_governance.canonical_address_alias USING btree (target_unit_id)
> CREATE INDEX idx_alias_validity_window ON cutter_governance.canonical_address_alias USING btree (valid_from, valid_until DESC)

The 4 new columns (2 tables × authority + canonical_address_format_version) are rendered inline by pg_dump inside the recreated CREATE TABLE bodies, so they do not appear as separate ALTER lines; they are independently confirmed by V-α-1 and V-α-2. Zero removed lines → strictly additive.


§3 — In-Transaction Trailing SELECT (inside the committing run)

tac_authority_draft   = 86
tac_authority_enacted = 0
tac_authority_runtime = 0
tac_authority_null    = 0
tac_format_v1         = 86
sandbox_authority_null= 76
sandbox_format_v1     = 76
alias_table_present   = 1

Matches the GPT r2 "required verification expectation" exactly.


§4 — updated_at Bump Measurement

Metric Value
rows with changed updated_at 86 / 86
pre-DDL distinct updated_at 3
post-DDL distinct updated_at 1
post-DDL updated_at value 2026-05-16 02:04:38.444072+00
assessment EXPECTED — Step 3 backfill UPDATE matched all 86 (r2 add-without-default working as designed); trg_tac_birth_gate_lu set NEW.updated_at := now(). Documented/accepted side effect, not a defect.

This is the decisive positive evidence the BR-4 backfill actually executed — under the rejected r1 form the UPDATE would have matched 0 rows and rows_changed would have been 0.


§5 — Rollback Test Result

Aspect Result
method frozen r2 body, final COMMIT;ROLLBACK; (variant: begin=1, commit=0, rollback=1)
psql exit 0
post-rollback tac|sbx|newcols|alias 86|76|0|0 (pristine)
schema DDL-line diff (pre-DDL vs post-rollback) EMPTY
full-file comparison differs only by pg_dump \restrict random nonce (4 lines; 26031/26031 identical) — invocation noise
verdict ROLLBACK_TEST_PASS

§6 — Notes (the "WITH_NOTES")

N-1: updated_at bumped on all 86 rows by Step 3 backfill — expected & documented (DDL draft r2 §4; verification plan). Not a failure.
N-2: rollback full-file comparison "DIFFERS" is purely pg_dump per-invocation \restrict/\unrestrict nonce. Authoritative DDL-line diff is EMPTY.
N-3: V-a-16 surfaced 6 ALTER/CREATE additions; the 4 new columns are pg_dump-inlined and verified via V-a-1/V-a-2 instead. Zero removals — strictly additive.
No FAIL. No safety-critical failure. No STOP condition triggered.

§7 — Cross-References

execution_report: knowledge/dev/laws/dieu44-trien-khai/v0.2-dry-run/dot-iu-cutter-v0.2-phase-alpha-dry-run-execution-report-2026-05-15.md
artefact_index:   knowledge/dev/laws/dieu44-trien-khai/v0.2-dry-run/dot-iu-cutter-v0.2-phase-alpha-dry-run-artefact-index-2026-05-15.md
verification_plan_r2: knowledge/dev/laws/dieu44-trien-khai/v0.2-ddl-authoring/dot-iu-cutter-v0.2-phase-alpha-ddl-verification-plan-2026-05-15.md
raw_results_artefact: /opt/incomex/backups/dieu44_phase_alpha_2026-05-16/logs/04_verification_results_20260516T020437Z.txt (sha256 cdbfd2dc…72fc)

End of Phase α dry-run verification results.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.2-dry-run/dot-iu-cutter-v0.2-phase-alpha-dry-run-verification-results-2026-05-15.md