KB-4D37

dot-iu-cutter v0.5 WS-Q5 Registry Substrate — Isolated Dry-run Verification Result (catalog-level)

6 min read Revision 1
dot-iu-cutterv0.5ws-q5registry-substratedry-runverification-resultcatalog-levelall-passdieu442026-05-18

dot-iu-cutter v0.5 WS-Q5 Registry Substrate — Isolated Dry-run Verification Result

Phase: v0_5_WS_Q5_registry_substrate_DDL_correction_and_isolated_dry_run · Date: 2026-05-18 Method: catalog-level only (pg_catalog / information_schema) — zero pg_get_*def() rendered-string equality (QG3). Run on the isolated ephemeral cluster (now destroyed).

overall: ALL PASS  ;  fail_count: 0  ;  production_authorized: false

1. Verification matrix (executed — real catalog output)

Check Assertion Catalog basis Observed Result
TV-1 exactly the 12 expected new tables information_schema.tables 12, exact names¹ PASS
TV-2 all relkind = 'r' (ordinary table) pg_class.relkind r ×12 PASS
TV-3 table count = 12 (no extra) information_schema.tables 12 PASS
KC-1 exactly 12 PK, names pk_<table> pg_constraint contype='p' 12, all pk_*² PASS
KC-2 exactly 8 FK, exact names pg_constraint contype='f' 8, exact set³ PASS
KC-3 every FK schema-qualified cutter_governance→cutter_governance (C-07 lesson) pg_constraint joined to pg_namespace both sides 8/8 cutter_governance.* -> cutter_governance.* PASS
KC-4 exactly 4 UNIQUE, exact names+cols pg_constraint contype='u' + conkey 4, exact⁴ PASS
KC-5 no CASCADE/SET — all refs NO ACTION confdeltype/confupdtype all a/a PASS
KC-6 0 CHECK, 0 trigger pg_constraint contype='c'; pg_trigger 0 / 0 PASS
CV-4 0 columns with DEFAULT information_schema.columns.column_default 0 PASS
NH-3 0 enum types in schema pg_type typtype='e' 0 PASS
AO-1 no view/matview/sequence/func/partition pg_class relkind + pg_proc NONE / 0 procs PASS
RB-1 rollback exact inverse, NO CASCADE psql output + post-state 12×DROP TABLE, no CASCADE PASS
RB-2 post-rollback 0 tables + 0 constraints information_schema / pg_constraint 0 / 0 PASS
¹ address_template_registry, authority_override, entity_kind_registry,
  entity_reference_registry, grammar_profile, grammar_profile_level,
  grammar_profile_status_marker, matcher_config_registry,
  metadata_key_registry, source_document_registry,
  source_document_version_registry, source_family_registry
² pk_address_template_registry, pk_authority_override, pk_entity_kind_registry,
  pk_entity_reference_registry, pk_grammar_profile, pk_grammar_profile_level,
  pk_grammar_profile_status_marker, pk_matcher_config_registry,
  pk_metadata_key_registry, pk_source_document_registry,
  pk_source_document_version_registry, pk_source_family_registry
³ fk_grammar_profile_address_template_ref  -> address_template_registry
  fk_grammar_profile_level_profile          -> grammar_profile
  fk_grammar_profile_level_matcher          -> matcher_config_registry
  fk_gpsm_profile                           -> grammar_profile
  fk_source_family_registry_grammar_profile -> grammar_profile
  fk_source_document_registry_family        -> source_family_registry
  fk_sdvr_source_document                   -> source_document_registry
  fk_entity_reference_registry_kind         -> entity_kind_registry
⁴ uq_grammar_profile_level_name (grammar_profile_ref, level)
  uq_source_document_registry_docprefix (address_docprefix)
  uq_sdvr_doc_checksum (source_document_ref, content_checksum)
  uq_entity_reference_registry_natural (entity_kind, source_system, natural_key)

2. AD-4 closure confirmation

canonical_fk_count_asserted: 8   observed_in_catalog: 8   -> CONFIRMED
canonical_unique_count_asserted: 4   observed_in_catalog: 4   -> CONFIRMED
ad4_status: CLOSED — corrected counts match the live catalog exactly

3. Not-exercised (residual — flagged, not skipped silently)

NG-1/NG-7 (collision with / ALTER of the 12 existing PRODUCTION tables):
  cannot be exercised without the real prod schema (no VPS access this
  session). Structurally moot here (clean cluster) but MUST be (re)verified
  in the production command-review / dry-run-on-restored-prod cycle.
AC-2 (BR-A1 separator VALUES '/' , '-', encodes_status=false):
  value-level, enforced at the separate SEED cycle — no rows in this DDL-only
  dry-run, correctly not asserted here.

4. Verdict

dry_run_verification: ALL PASS (fail_count=0)
fail_action: N/A — no FAIL; had any check FAILed, this phase would STOP and
  NOT recommend production (QG4). No schema self-fix was performed or needed.
production_recommendation: deferred to report file; production NOT authorized.

5. Statements

  • QG3: every check catalog-level; no rendered-string equality. QG4: no FAIL; no out-of-artifact schema change made. QG5: rollback exact inverse, NO CASCADE, verified clean.
  • No repo/VPS access in this session. No git commit.
  • Self-advance PROHIBITED — doc 3 of 4; STOP after package complete → route GPT/User.

Companion files: AD4-correction-note, isolated-dryrun-execution-log, isolated-dryrun-report.

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/v0.5-ws-q5-registry-substrate-ddl-dryrun/dot-iu-cutter-v0.5-WS-Q5-registry-substrate-isolated-dryrun-verification-result-2026-05-18.md