KB-7D80

Stage 2.6A — Plan Registry SSOT

3 min read Revision 1
QT001stage2.6Aplan-registry

02 — Plan Registry SSOT (SUPERTRACK B)

The plan is now a first-class governed object, not a literal list.

Objects

  • Table qt001_plan_registry — columns: plan_id, plan_version, generated_at, source_metadata_hash, collection_name, src_rows, existing_births, expected_delta, unresolvable, divergence, policy_decision, identity_strategy, tier_code, parity_status, validation_status, blocked_reason, checksum, status, superseded_by. PK (plan_id, collection_name).
  • Function fn_qt001_build_plan_registry(p_plan_id text) — refreshes the live snapshot (metadata-driven fn_qt001_plan_all over collection_registry), computes a source_metadata_hash over canonical eligible plan facts, retires the prior CURRENT generation (status→SUPERSEDED, superseded_by set), and inserts the new generation with per-row checksum.
  • Views v_qt001_plan_registry_current, v_qt001_plan_registry_diff_vs_hardcoded, v_qt001_plan_registry_no_go_guard.

Generation (live)

First generation: plan_id PLAN-20260606-093413, plan_version 1, source_metadata_hash f8d2272fd9ff4fdbdfc8d362847d485b, 13 rows (the eligible/expected_delta>0 collections across all tiers).

Tier is derived from DATA, not a code list

tier_code is computed by: ineligible/zero-delta/unresolvable → TIER_INELIGIBLE; else divergence≠0 → TIER3; else if a non-superseded validated-collection review row exists for the collection → TIER1; else → TIER2. The 5-collection Tier1 membership comes from qt001_review_validated_collection (a recorded Codex review), replacing the hardcoded IN-list (HC-01).

Reproduction parity (the proof hardcode elimination is faithful)

The data-driven tiers reproduce the prior hardcoded classification exactly:

Tier Collections Total delta Members
TIER1_CODEX_VALIDATED 5 137 apr_action_types, apr_approvals, dot_domain_rules, field_type_equivalences, normative_relations
TIER2_METADATA_CONSISTENT_UNVALIDATED 2 137 law_catalog, measurement_registry
TIER3_PARITY_DIVERGENT_RECLASSIFY 6 505 approval_requests, governance_relations, law_dot_enforcement, law_jurisdiction, table_registry, workflows

Currency is provable (supersedes HC-10)

Each generation carries source_metadata_hash (whole-plan) + per-row checksum + generated_at. Freshness is no longer "row count > 0". (Atomic versioned snapshot pointer + TTL remains a NEXT-layer hardening.)

No-go guard

v_qt001_plan_registry_no_go_guard.pass = true: exactly one CURRENT plan_id, all 13 rows carry a blocked_reason, all 13 rows are hashed. Every plan row's blocked_reason states APPLY_FORBIDDEN (tier apply_allowed=false; independent signoff NOT_SAFE; SCALE_NOT_SAFE).

Drift comparator

v_qt001_plan_registry_diff_vs_hardcoded FULL JOINs the registry against the legacy hardcoded v_birth_qt001_dryrun_result (HC-03) for transparency — it is a drift signal, never an authority gate.

Back to Knowledge Hub knowledge/dev/reports/architecture/birth-stage2-6a-qt001-plan-tier-registry-ssot-hardcode-elimination-2026-06-06/02-plan-registry-ssot.md