KB-556D

10 — Safe Replacement Decision

2 min read Revision 1
rpreplacement-decision2026-06-05

10 — Safe Contract Replacement Decision (Phase 10)

Conditions check

  • generated parity v2 pass: YES (5/5 axes, 0 gap, 0 count diff).
  • invariant pass: YES (83/4/0).
  • smoke pass: YES (15/15).
  • guard pass: YES.
  • rollback staged: YES (99_rollback.sql).
  • no authority/policy blocker on the backbone: YES (generator binds source views directly).

Decision: APPLY CANDIDATE, DO NOT REPOINT PRODUCTION CURRENT

The generated backbone was applied as v_rp_universal_node_ui_contract_generated_current_candidate (additive, reversible). The production current alias was NOT repointed.

Why not repoint now

Repointing current to the bare generated backbone would drop the decoration layer (label/route/substrate/badges/reliability) that the UI _current package binds, breaking the UI. The generator regenerates the backbone, not the decoration. Repointing therefore requires first rebuilding the shared decoration layer on top of the generated backbone and proving full-COLUMN parity — an operator step (doc 09 Option B). The macro explicitly permits leaving an action-ready packet rather than an unsafe repoint, and forbids replacing current before full parity is proven and the decoration is preserved.

What is action-ready

  • Backbone parity PASS and proven (doc 07).
  • Replacement candidate live and reversible.
  • Dry-run plan + no-go conditions documented (doc 09).
  • Deploy guard confirms DB-side readiness (doc 13).

UI safety

The UI current package is NOT touched and continues to ride the decorated _current stack. No UI binding to the generated view at any point.

Back to Knowledge Hub knowledge/dev/reports/architecture/rp-generator-parity-fix-contract-replace-ui-deploy-standby-2026-06-05/10-safe-replacement-decision.md