KB-4101

T2 UI-Current Audit — 05 Next UI-Productionization Acceptance Checklist

5 min read Revision 1
terminal2auditchecklistui-productionizationreliability-badgessmokenext-macro2026-06-05

05 · Acceptance Checklist — RP_UI_CURRENT_PRODUCTIONIZATION_WITH_RELIABILITY_BADGES_AND_SMOKE

The exact, ordered checklist so the next macro is writable without rediscovery. Each item is birth-free / reversible / no-authority unless marked [OPERATOR] or [AUTHORITY].

A — Pre-bind gates (DB, query_pg RO + one CREATE OR REPLACE)

  1. [T1, may already be in substrate-fix-v2] Resolve the 2 invariant FAILs (PROC:new_candidates 6≠50, PROC:residual_reconcile 8≠23): either fix count semantics / repoint residual to live count (8→2), or put them on an explicit known-FAIL allow-list with reliability_label=STALE surfaced on the node. Do not deploy with silent CANDIDATE labels on FAIL nodes.
  2. Build v_rp_contract_current_guard (missing today): single-row PASS/FAIL asserting — rowcount==87; 0 null drill_action/next_route/reliability_label/source_scope; 0 unexpected invariant_status LIKE 'FAIL_%'; _current definition == reliability decorator (identity check); v_rp_contract_divergence_detector divergences are all v1-only (not in _current). Ship 99_rollback.sql.
  3. Confirm _current still = 87 rows and carries all reliability fields (live: ✓).

B — UI package authoring (the missing artifact)

  1. Author the _current route package — pass-through rpQuery routes bound exclusively to: v_rp_universal_node_ui_contract_current, v_rp_dynamic_drill_proof_matrix_current, v_rp_dynamic_drill_acceptance_dashboard_current, v_rp_node_final_substrate_contract_current, and v_rp_full_population_drill_invariant (for the status branch). No business math in Nuxt.
  2. Render model = axis-agnostic: switch on drill_action + invariant_status (never on axis_code). Add a lint forbidding an axis_code switch.
  3. Badges: every count renders with source_scope + reliability_label; chips for confidence_score, lane_code, count_semantics (NOT_ADDITIVE warning), warning_flags_v2, next_action_v2. Distinguish SYNTHETIC (source_scope=synthetic_axis / is_registry_backed=false), CANDIDATE/OFFICIAL (governance_status), PARTIAL (source scope), STALE (from static-literal detector / invariant — NOT from reliability_label alone).
  4. Status branch: invariant_status LIKE 'FAIL_%' → red, never green; PASS_EXPECTED_BLOCKER → amber status chip; NEEDS_GROUPING → capped list + "grouping pending"; missing substrate + SHOW_SUBSTRATE → safe FAIL fallback (no dead-end).
  5. Unknown axis/drill_actionDISPLAY leaf + governance badge; never crash, never 404 on a registry-known axis.

C — Verification (read-only, pre-deploy)

  1. Grep gate [needs UI source access]: 0 refs to _v1/_v2/_reliability/non-current contract names in server/api/**,pages/**,composables/**.
  2. Negative test: binding → v1 ⇒ ≥12 FAIL surfaced; binding → _current ⇒ only allow-listed FAILs.
  3. False-green test: every invariant FAIL node renders non-green.
  4. Smoke set against _current: contract_current, proof_matrix_current, invariant, acceptance_current, one AX-PROCESS drill, one AX-PXT FAIL-node drill (proves red render), one synthetic-axis node (proves SYNTHETIC badge).
  5. v_rp_contract_current_guard = PASS.

D — Deploy [OPERATOR] / [AUTHORITY]

  1. [OPERATOR] Converge feat/process-axis-dashboard (ahead17/behind13) via isolated worktree (cron commits main 04:00/16:00); push/PR/merge (agent has no push creds).
  2. [OPERATOR] Deploy Nuxt; run the smoke set live; confirm guard PASS post-deploy.
  3. [AUTHORITY] President votes PROC-OWN-01..05 → official RP; AX-TRIGGER/AX-PROCESS/AX-TOPIC owners; real_run_enabled flip. UI ships as a CANDIDATE/SUPERVISION surface meanwhile — 0 official is correct, not a defect.

E — Auto-scale honesty (must remain labelled until STEP 6)

  1. UI must display the readiness verdict NEEDS_REGISTRYIZATION / auto-scale PARTIAL (58/87 requires_view_edit). Do NOT repoint _currentregistry_driven until that view yields all 87 nodes at requires_view_edit=false (doc 02).

PASS condition for the next macro

Guard PASS + grep 0 non-current refs + false-green test green + 2 FAILs resolved-or-allow-listed + _current package deployed by operator + auto-scale labelled PARTIAL. Anything less = ship as SUPERVISION/CANDIDATE with visible warnings, not "productionized."

Back to Knowledge Hub knowledge/dev/reports/architecture/parallel-terminal2-ui-current-autoscale-generator-deploy-risk-audit-2026-06-05/05-next-ui-productionization-checklist.md