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) — zeropg_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.