KB-302D
07 — Generator Parity Validation v2
2 min read Revision 1
rpparity-validation2026-06-05
07 — Generator Parity Validation v2 (Phase 7)
Objects
- v_rp_contract_generator_validation_v2 (per axis): full outer join current vs generated_v2 on axis+node.
- v_rp_contract_generator_validation_summary_v2 (rollup + coverage).
Per-axis result (dual-path confirmed)
| axis | current | generated | membership gap | count diff | parity | | AX-BASE | 39 | 39 | 0 | 0 | pass | | AX-PROCESS | 22 | 22 | 0 | 0 | pass | | AX-PXT | 12 | 12 | 0 | 0 | pass | | AX-TOPIC | 7 | 7 | 0 | 0 | pass | | AX-TRIGGER | 7 | 7 | 0 | 0 | pass |
Summary
- axes_parity_pass 5/5, axes_parity_gap 0.
- current_rows 87, generated_rows 87.
- total membership gap (both directions) 0; total count diffs 0.
- Decoration coverage on the 87 matched nodes: route 87/87 (route_parity true), action 87/87 (action_parity true), reliability 87/87 (reliability_parity true).
- invariant_parity true: all 87 generated nodes map to an invariant v2 row and 0 are FAIL.
- substrate_parity FALSE — surfaced honestly, NOT hidden. Some current nodes carry NULL final_substrate_ref by design (empty-by-design WPC bootstrap/unclassified and a few synthetic-axis nodes). This is a decoration-coverage observation, not a backbone-parity break; it does not affect membership or count parity.
- safe_to_replace_v1_backbone TRUE.
- generated_v2_sql_md5 a79c9560b12c36619f8a2c3500fcf63e.
- verdict GENERATOR_BACKBONE_PARITY_PASS__REPLACE_READY_BACKBONE.
Interpretation
The generator now reproduces the current contract BACKBONE (which nodes exist + their counts) with zero gap. The decoration layer (labels, routes, substrate, badges, reliability) is a shared layer applied on top of whatever backbone, with 100% route/action/reliability coverage proven; substrate is intentionally null for empty-by-design nodes. Backbone parity is the gap the macro targeted; it is now closed.