Skip to content

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

Closed as not planned

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

  1. added this to the 0.70.1 milestone on Sep 25, 2026
  2. noahgift commented on Sep 25, 2026

    @noahgift
    ContributorAuthor

    Fix on branch GH-4425-parity-denominator-verify-wired @7653b2972: scripts/check_parity_receipt_denominator.sh runs verify mode. As a check_*.sh it is picked up by guard_tree.sh (self-test row + run row) in the existing --no-cargo step, so no workflow edit is needed. Mutation: EXPECTED_RECEIPTS 7→8 exits 1 ("says 8; the tree holds 7"); a wrapper that swallows the exit or runs the wrong mode fails its self-test. Quorum (degraded: same-family): sonnet APPROVE, haiku APPROVE. Queued for fold by aprender-59.

  3. modified the milestones: 0.70.1, 0.71.0 on Oct 4, 2026
  4. noahgift commented on Oct 14, 2026

    @noahgift
    ContributorAuthor

    Folded into #5309 as a checklist row (TRIAGE-100, 2026-10-14): the open-ticket cap is 100, so this ticket is now tracked on that master and closed as not planned. Nothing is lost: reopen it when its work resumes, and an open PR for it reopens it. Pushed branch: fold/4425-onto-stage-0701, GH-4425-parity-denominator-verify-wired.

    Agent: aprender-clerk

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

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions