T2 RP — Decorated-Generated Repoint Pack
02 — Decorated-Generated Repoint Pack
Classification: READY_OPERATOR_GATED (engineering-complete) → DO-NOT-NOW.
Repoint is engineering-ready with a complete sequence + rollback, but the current decision is
DO NOT repoint now: production _current is green (no upside), the only candidate is
circular, and TRUE no-hardcode decoration is authority-gated. Verdict on record:
DECORATED_GENERATED_REPOINT_READY_OPERATOR.
Objects
- Candidate (circular — do NOT repoint to this as-is):
v_rp_universal_node_ui_contract_decorated_generated_candidate= generated_v2 backbone joined with current decoration. - Generated backbone v2:
v_rp_universal_node_ui_contract_generated_v2(87 rows, md5a79c9560…; v1 was2a9c1f00…). - Full-column parity proof:
v_rp_decorated_generated_full_column_parity= FULL_COLUMN_PARITY_PASS — 87/87 rows (gen_only 0, cur_only 0), 0 count diffs, route/action/reliability 87/87, substrate 81/87 (the 6 NULLs are by-design; current carries them too). Backed byfn_rp_decorated_generated_parity()(function-backed, OOM-safe). - Readiness dashboard:
fn_rp_generator_replacement_readiness()/v_rp_generator_replacement_readiness_dashboard= DECORATED_GENERATED_REPOINT_READY_OPERATOR (parity PASS, guard PASS, OOM_SAFE, repointed=false, no_hardcode_ready=false).
The circular-dependency hazard (the reason for the non-circular rebuild)
The candidate sources its decoration from _current, which is a thin ALIAS of
v_rp_universal_node_ui_contract_current_v2. If you repoint _current to a view that itself
reads _current, you create a recursion. A real repoint MUST rewire decoration to
_current_v2 (the real definition), not _current (the alias).
Backbone-only caveat (critical)
The generator regenerates the backbone (membership + count) only — NOT the decoration layer
(label / route / substrate / badges / reliability), which the v1 contract bakes into each leg
and which the UI _current stack depends on. DO NOT repoint the current alias to the bare,
undecorated generated backbone — that loses decoration and breaks the UI package.
Engineering-ready repoint sequence (operator step; from RUNBOOK_v2 §3)
- Build a NON-circular decorated-generated view: copy the candidate but source decoration from
v_rp_universal_node_ui_contract_current_v2(NOT_current). - Re-prove full-column parity of the non-circular view vs
_current_v2(expect 87/87, same profile). - Stage rollback: capture the current
_currentalias definition. - Repoint: redefine
v_rp_universal_node_ui_contract_currentto select from the new non-circular view.- Alias mechanics: use CREATE-OR-REPLACE only if the new view is a column-SUPERSET in the same order; if columns are reordered/inserted mid-list, you MUST DROP + CREATE.
- Re-run the full proof chain: deploy guard, invariant, computed proof, smoke, anti-false-green, and the OOM detector (must show 0 CRASH_LANDMINE).
Expected RP-state change on repoint
_currentbackbone derivation switches from hand-built to generator-driven; decoration stays hand-built (_current_v2). readiness dashboardrepointedflips false→true.- NO change to no-fake invariants (ownership/votes/RP/REALRUN untouched).
Rollback
- Restore the captured
_currentalias definition (step 3). - Drop the new decorated-generated objects:
v_rp_decorated_generated_full_column_parity,fn_rp_decorated_generated_parity(),v_rp_universal_node_ui_contract_decorated_generated_candidate,v_rp_final_operating_acceptance_dashboard/fn_rp_final_operating_acceptance(),v_rp_generator_replacement_readiness_dashboard/fn_rp_generator_replacement_readiness(). - Exact DROP statements are in RUNBOOK_v2 §4 on FS.
Why DO-NOT-NOW (no-go for repoint at this checkpoint)
- Production
_current/_current_v2are green; repoint has no current upside and adds risk. - The only existing candidate is circular (must be rebuilt non-circular first).
- TRUE NO-HARDCODE (registry-driven decoration = the 58 view-edits,
no_hardcode_ready=false) is AUTHORITY-gated: requires AX-PXT candidate-register + AX-TRIGGER owner/president register (see doc 04). Do this only when authority lands or an operator explicitly requests the backbone swap.