13 — UI Current Contract Package v2
13 — UI Current Contract Package v2
UI must consume _current aliases only (now repointed to the corrected v2/v3 stack). No direct v1/v2/reliability names.
Surfaces the UI binds (all _current)
| surface | now points to | use |
|---|---|---|
v_rp_universal_node_ui_contract_current |
current_v2 | node rows + count + badges |
v_rp_full_population_drill_invariant_current |
invariant_v2 | per-node invariant_status |
v_rp_dynamic_drill_proof_matrix_current |
computed_v2 | per-axis proof |
v_rp_dynamic_drill_acceptance_dashboard_current |
v3 | acceptance summary |
v_rp_count_reliability_dashboard_current |
v2 | reliability summary |
v_rp_static_literal_live_mismatch_current |
static_v2 | literal/live badge |
Fields the UI renders (now available on the contract _current)
invariant_status (join by node_code) · reliability_label · source_scope · confidence_score · count_semantics (= grain: group_bucket / leaf / leaf_scoped / ledger_scalar) · count_provenance · grouping_scope · reconciles_against · count_correction_flag (badge: COUNT_CORRECTED_FROM_LIVE) · governance_status / synthetic / candidate / official · requires_view_edit (from registry_driven) · next_action_v2.
Consumption mechanism
The UI's read path is the env-gated read-only gateway rpQuery(sql) (server/utils/rpGatewayDb.ts). New-contract handlers issue e.g. SELECT … FROM v_rp_universal_node_ui_contract_current WHERE axis_code=$1 and … FROM v_rp_full_population_drill_invariant_current. If RP_PG_* unset → honest 503, never fabricated data.
Not done (out of scope / gated)
No UI deploy/push (forbidden; operator-gated). The production registries-pivot route still reads legacy pivot views (see 14) — wiring the new-contract handlers is the operator/dev step of the UI productionization macro.