KB-50B6

02 — Contract Divergence Map

2 min read Revision 1

02 — Contract Divergence Map

Version inventory (v_rp_contract_version_inventory)

view version nodes axes grouping substrate reliability recommended risk
v_rp_universal_node_ui_contract v1 87 5 DEPRECATE_KEEP hardcoded UNION ALL (7 legs); no grouping; no reliability
v_rp_universal_node_ui_contract_v2 v2 87 5 INTERIM adds PXT grouping + empty-substrate overlay
v_rp_universal_node_ui_contract_reliability reliability 87 5 CURRENT reliability_label/source_scope/confidence + synthetic detection

Lineage: reliability ⊃ v2 ⊃ v1. v2 = v1 + v_rp_pxt_grouping_surface (GROUPED overlay) + v_rp_empty_substrate_classification. reliability = v2 + axis_registry LEFT JOIN (synthetic detection) + label model + warning_flags_v2.

Divergence detector (v_rp_contract_divergence_detector)

Per-node FULL JOIN across all three versions on (node_code, axis_code):

  • 77 CONSISTENT
  • 10 DRILL_DIVERGENCE_V1_V2 — the AX-PXT grouped nodes where v1 emits DRILL/SHOW_SUBSTRATE but v2/reliability emit DRILL_GROUPS. v1 is stale for these; reliability is correct.
  • 0 v2↔reliability drill divergences (reliability inherits v2 drill semantics).
  • 0 NODE_MISSING (all three carry the full 87).

Consumer risk & decision

  • v1 is the hardcode source (UNION ALL, 7 literal legs across 5 axes) and is drill-stale on 10 nodes → mark DEPRECATE_KEEP (retain for lineage, do not consume).
  • reliability = current → UI must consume via the _current alias (Phase 3), never v1.
  • No ambiguity remains about which contract is stale vs current.
Back to Knowledge Hub knowledge/dev/reports/architecture/rp-contract-canonical-registry-driven-fullpop-nohardcode-closeout-2026-06-05/02-contract-divergence-map.md