KB-1D49

One-Roof Prod Release Ultra-Macro — 02 Artifact Inventory & Conflict Resolution (2026-06-03)

6 min read Revision 1
one-roof-governanceproduction-releaseartifact-inventoryconflict-resolution2026-06-03

02 — Artifact Inventory & Conflict Resolution

A. Inventory and classification

Artifact (source package) Class Disposition in canonical release
G_prod_01_axis_ddl_and_seed.sql (axis-substrate) incomplete 6 base tables + only 3 of 9 axis views + responsibility seed. Tables & 3 views absorbed into prod/10_structure.sql; responsibility seed split to prod/20_responsibility_axis.sql.
G_prod_10_structure.sql (topic-promotion) superseded (partial) Self-contained Tier-5 structure, but 10-branch drift + non-facet reconcile. Superseded by finalization A/D bodies; merged into prod/10_structure.sql.
G_prod_60_finalization_structure.sql (finalization) stale / pointer-only Non-executable ("apply the structural subset of A and D"). Replaced by self-contained prod/10_structure.sql.
A_reconcile_decision.sql (finalization) canonical (structure) Facet-aware v_reconcile_collection_topic_vs_label + decision-aware v_reconcile_topic_projection_gap + topic_label_reconcile_decision table → folded into prod/10_structure.sql (structure) and prod/50_topic_finalization.sql (decisions).
D_projection_lag_timing.sql (finalization) canonical (structure) v_projection_lag_timing + 11-branch v_drift_finding + 11-entry v_drift_event_mapprod/10_structure.sql.
F_prod_01_ownership_seed_commit.sql (extended) canonical (seed) 30-anchor responsibility ownership; sovereign-gated. Adopted as prod/30_ownership_seed.sql.
G_prod_20_containment_seed_GATED.sql (finalization) canonical (seed, extended) Containment rule + 35 assignments + 35 ownership. Made self-contained (adds axis registry + 5 values) as prod/40_containment.sql.
G_prod_30_topic_finalization_GATED.sql (finalization) canonical (seed, extended) Auto-derive decisions. Extended with portable vocabulary + guarded assignments as prod/50_topic_finalization.sql.
D_scanner.sql / D_scanner_fix.sql (topic-promotion) canonical (in structure) fn_governance_scan (ON CONFLICT collision bug already fixed: axis_code in uniq key + SELECT DISTINCT). In prod/10_structure.sql.
E_issue_event.sql, UI views canonical (in structure) issue/event payload views + 7 UI views. In prod/10_structure.sql.
G_prod_00_preflight.sql (×3 packages) superseded (merged) Three different preflights → one consolidated prod/00_preflight.sql (gate + prereq + greenfield + baseline).
G_prod_90_verify.sql, G_prod_99_rollback.sql, Z_rollback_finalization.sql superseded Verify merged into prod/90_verify.sql; rollbacks replaced by greenfield teardown prod_rollback/99_rollback_full.sql + per_tier_rollback.sql.
*_clone*.sql build/test files (all packages) clone-only Test scaffolding (BEGIN..ROLLBACK rehearsals, RAISE 'UNDO_*'). Not for production; retained in source packages.
F1–F5 dry-run SQL clone-only / historical Read-only & rollback-only rehearsals. Superseded by committed clone state.

B. Conflicts resolved

  1. Scattered / incomplete DDL — the 6 axis views v_axis_assignment_quality, v_axis_coverage_summary, v_axis_registry_coverage, v_axis_missing_assignment, v_axis_topic_parentage_conflict, v_axis_issue_payload were clone-proven but never packaged as production DDL. → Extracted byte-exact from clone and included, dependency-ordered, in prod/10_structure.sql.
  2. Pointer-only fileG_prod_60 was non-executable prose. → Replaced with self-contained executable DDL.
  3. Superseded view bodies coexisting — chose the LATEST finalization-era bodies: facet-aware reconcile (A), decision-aware projection gap (A), 11-branch drift + 11-entry event map (D). The pre-finalization bodies in _clone_defs.txt are archival (rollback reference) only.
  4. Missing-cast risk (F2-1)collection_name is varchar(255); the prereq seam views already cast ::text. Axis views key on object_ref text — no cast conflict.
  5. Stale thresholds — confidence/staleness thresholds live in coverage_rule rows (CR-CONTAIN confidence 0.5, staleness 0); no hardcoded thresholds in views. Stale-candidate-value detector uses a 30-day interval (carried as designed).
  6. Event-trigger assumption — confirmed: governance event types are inactive; v_drift_issue_payload.emit_blocked = NOT etr.active; no dispatcher and no trigger writes to event_outbox. Boundary stays fail-closed; event activation is a separate future tier.
  7. Axis-ownership model divergence — two orthogonal models kept distinct: responsibility coverage uses the app-owned governance_object_ownership (Tier 3); axis (containment/topic) ownership uses the parallel axis_object_ownership (Tier 4). The app table is never altered.
  8. source_system label — clone payload views carry 'governance_clone'/'axis_substrate_clone'. Canonical production sets 'governance_production' (documented, cosmetic — never emitted while event types are inactive). This is the only deliberate body divergence from clone.
  9. Three different preflights — consolidated into one gate.
  10. Environment-specific topic content — prior package warned "do NOT copy clone collection names blindly." Canonical Tier 5 seeds portable vocabulary unconditionally, guards topic assignments to collections that exist in v_governance_object_inventory, and auto-derives reconcile decisions from the reconcile views (no clone collection names hardcoded into decisions).
Back to Knowledge Hub knowledge/dev/reports/architecture/one-roof-production-release-engineering-ultra-macro-2026-06-03/02-artifact-inventory-and-conflict-resolution.md