KB-659C

09 — Non-Circular Candidate (built + proven)

2 min read Revision 1

09 — Non-Circular Candidate (built and proven)

Built three additive, reversible, birth-free objects mirroring the proven crash-safe pattern:

  • v_rp_decorated_generated_candidate_noncircular — backbone from v_rp_universal_node_ui_contract_generated_v2, decoration from v_rp_universal_node_ui_contract_current_v2 DIRECTLY (not the _current alias), so a repoint of _current to it cannot recurse.
  • fn_rp_decorated_generated_parity_v2() — a plpgsql function isolating each parity metric as a separate single- or two-stack statement (no smoke probe), aggregated into scalars.
  • v_rp_decorated_generated_full_column_parity_v2 — a thin function-backed view over the function.

Apply note: the first apply used a 64-character view name that Postgres truncated to 63 characters (dropping the trailing 2). It worked functionally but was a confusing artifact, so the objects were dropped and recreated with the clean name v_rp_decorated_generated_candidate_noncircular (46 characters). Both applies were birth-free (birth_registry 1,205,419 equal before and after each).

Proof: v_rp_decorated_generated_full_column_parity_v2 = DECORATED_GENERATED_FULL_COLUMN_PARITY_PASS_NONCIRCULAR — generated 87, current 87, matched 87, gen_only 0, cur_only 0, count_value_diffs 0, decoration_missing 0, route 87, action 87, reliability 87, substrate 81 (by-design), row_parity, count_parity, decoration_complete all true, noncircular true.

OOM after build: v_rp_guard_safety_status still OOM_SAFE with 0 live_crash_landmines (function_backed_guards now 7). The detector classifies the new candidate SAFE and the new parity view SAFE_FUNCTION_BACKED. The full session log window is free of any signal-9.

Back to Knowledge Hub knowledge/dev/reports/architecture/rp-post-deploy-final-acceptance-or-operator-standby-2026-06-05/09-noncircular-candidate.md