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)

  1. v_process_trigger_actionability_ledger_live_v2 — residual count is live (2, provenance live_residual_v4), count_grain='leaf_scoped', grouping_scope='v_workflow_residual_evidence_hardening_v4 residual_state_v4=AWAITING_OWNER_RECONCILE', reconciles_against='child_total'.
  2. v_pxt_grouped_children_v2 — the residual leg is scoped WHERE residual_state_v4='AWAITING_OWNER_RECONCILE' and grouped by object_key → 2 groups of 1, child_total=2. (The 2 items: object_key 4c12473167159f285b7e7837d260906c and dot-pivot-update, both candidate WPC-DOT-BIN-RECONCILE.)
  3. v_rp_universal_node_ui_contract_current_v2count_value is 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.

Back to Knowledge Hub knowledge/dev/reports/architecture/rp-count-substrate-fix-registryization-generator-fullpop-v2-2026-06-05/03-residual-reconcile-fix.md