Skip to content

ci: parity_receipt_denominator.sh verify mode is never run — only --self-test is wired (#3577 guard is dark) #4425

Description

@noahgift

Found by the S1 post-hoc quorum of #3669 (sonnet lane, verified by apr-features).

scripts/parity_receipt_denominator.sh has three modes: verify (no args), --print, and --self-test. On main, CI runs only --self-test (.github/workflows/ci.yml:1234 and :1258). The verify mode is not run by any workflow, Makefile target, or script (git grep on origin/main). Verify mode is the one that recomputes the receipt count from the tree and compares it with evidence/parity/EXPECTED_RECEIPTS.

So the defect #3577 exists to catch goes unchecked. A receipt added or removed without bumping EXPECTED_RECEIPTS passes CI, because the self-test only runs synthetic fixtures.

Today the verify mode passes on a git archive origin/main snapshot: 7 receipts, and EXPECTED_RECEIPTS says 7. Nothing is broken right now; the guard just never runs.

Fix: add a bash scripts/parity_receipt_denominator.sh (verify) line next to the --self-test line. This is a workflow edit, so it needs a cop check-in and a 3/3 quorum. Also plant a mutation (EXPECTED_RECEIPTS 7 -> 8) to prove the job goes red.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions