Skip to content

verify-1.6.0-done: the parity verdict judges every owed cell, not one; ledger sync keeps a gone scope with open findings (L-R23) (stacked on #918) - #950

Merged
MattJackson merged 1 commit into
predevfrom
lane-proof-verify-floor
Oct 15, 2026
Merged

MattJackson merged 1 commit into
predevfrom
lane-proof-verify-floor

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

PROOF-INTEGRITY lane, PR-E. DRAFT, stacked on #918 (row 90 edits the same script; agreed with the row-90 lane). Retargets to predev once #918 lands (queue rule 19).

TODO l.2750 item 7 — the floor of one. assert_parity_verdict (scripts/verify-1.6.0-done.sh:647-669 on predev) refused only owed == 0; its own selftest pinned owed=913 of 2,318 as GREEN. It now takes testing/shadow-oracle/owed-baseline.txt and testing/shadow-oracle/cells.json (the committed files) and refuses unless:

  • totals.owed == the golden's PASS count (1015 on predev; every one is in cells.json, measured),
  • totals.cells_in_scope == |cells.json cells| (2518),
  • owed + unbaselined == cells_in_scope (busbar-release run.rs:1770-1800 partitions the selected cells exactly so).
    Unbaselined cells stay governed by assert_golden_bookkeeping (named in accepted-gaps or rig-proven), unchanged. RED selftest fixtures: one owed cell judged, all but one, a short corpus, an open partition, no baseline named. Function exercised locally against all fixtures (shell only, no cargo).

L-R23 (TODO l.4173). cargo xtask ledger sync --write dropped a gone scope with open HIGH/MEDIUM findings and exited 0. It now refuses (exit 1, nothing written) unless --drop <id,..> names each such scope; a --drop naming no gone open scope is refused too. RED: audit_cmd::move_tests::sync_keeps_a_gone_scope_with_open_findings_unless_drop_names_it. The audit-rules step count moves 27 -> 28 in the same commit (audit 11 + audit_cmd 12 + pinned 5).

…; ledger sync keeps a gone scope with open findings (L-R23)

TODO l.2750 item 7: assert_parity_verdict refused only owed == 0, so the floor was ONE cell: a
replay whose id filter kept 1 owed cell of 1,015 printed green, and the selftest pinned owed=913 of
2,318 as the green case. The verdict now takes owed-baseline.txt and cells.json and refuses unless
totals.owed equals the golden's PASS count, totals.cells_in_scope equals the committed corpus, and
owed + unbaselined closes the scope (the pinned engine's partition, busbar-release run.rs). RED
selftest fixtures: one owed cell, all but one, a short corpus, an open partition, no baseline named.

L-R23 (TODO l.4173): `cargo xtask ledger sync --write` dropped a scope whose path is gone together
with its open HIGH/MEDIUM findings and exited 0. It now refuses (exit 1, nothing written) unless
`--drop <id>` names each such scope, and refuses a --drop that names no gone open scope. RED:
audit_cmd move_tests::sync_keeps_a_gone_scope_with_open_findings_unless_drop_names_it. The audit
ledger rules step's declared count moves 27 -> 28 in the same commit (audit 11 + audit_cmd 12 +
pinned 5).

Stacked on #918 (row 90), which edits the same script.
Base automatically changed from lane90-verify-audit-filter to predev October 15, 2026 05:33
@MattJackson
MattJackson merged commit ccae860 into predev Oct 15, 2026
1 check was pending
@MattJackson
MattJackson deleted the lane-proof-verify-floor branch October 15, 2026 13:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant