KB-2243
03 — residual_reconcile Fix
2 min read Revision 1
rpresidual-reconcilefix2026-06-05
03 — PROC:residual_reconcile Fix (stale 8 → live 2, scoped grouping)
Decision
The node represents the actionable residual subset = AWAITING_OWNER_RECONCILE = live 2 (not the full 23-row residual census, not the stale literal 8). Per SSOT guidance: scope grouping to AWAITING_OWNER + align to live ledger.
Changes (all additive, birth-free)
v_process_trigger_actionability_ledger_live_v2— residual count is live (2, provenancelive_residual_v4),count_grain='leaf_scoped',grouping_scope='v_workflow_residual_evidence_hardening_v4 residual_state_v4=AWAITING_OWNER_RECONCILE',reconciles_against='child_total'.v_pxt_grouped_children_v2— the residual leg is scopedWHERE residual_state_v4='AWAITING_OWNER_RECONCILE'and grouped byobject_key→ 2 groups of 1,child_total=2. (The 2 items: object_key4c12473167159f285b7e7837d260906canddot-pivot-update, both candidate WPC-DOT-BIN-RECONCILE.)v_rp_universal_node_ui_contract_current_v2—count_valueis overridden from the live ledger v2 → 2;count_correction_flag='COUNT_CORRECTED_FROM_LIVE'preserves an explicit audit of the old static value.
Result (dual-path verified)
v_rp_full_population_drill_invariant_v2 row for PROC:residual_reconcile: count=2, grain=leaf_scoped, group_count=2, child_total=2, reconcile_target=2, grouped_reconciles=true, invariant_status=PASS.
Audit trail of the old static value
The deprecated static ledger (v_process_trigger_actionability_ledger, literal 8) is retained and surfaced by v_rp_static_literal_live_mismatch_v2 as LIVE_DERIVED_IN_CURRENT (literal 8, live 2) — the current path uses the live 2; the 8 is visible only as a deprecated literal, never as truth.