You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Operator ruling R17 (Noah, 14:06Z), verbatim: "The 'present' check that fails on every PR: a check that's always red trains people to ignore red (L21). File an issue with the check's source line. Fix it or remove it from the PR checks after 0.70. Not tonight."
Source: .github/workflows/pr-review-quorum.yml:46 (jobs.present, Arm 4, judged from BASE per PRQ-013). It runs on pull_request and merge_group.
Observed: #4601 at c2c618e shows present = fail. 57 reports that present on #4598 turns green only after the signer's .minisig commit. Claim to measure before fixing: is present red on EVERY PR until signed, or only on some? Measure it across the last N merged PRs, per L23 (an unread status is unknown, not a fail).
Fix options (after 0.70, not tonight): report pending/neutral until a receipt exists, instead of red; or move the receipt judgement to the merge_group only.
This is now the one LAB ticket for pr-review-quorum / present. Owner: aprender-a7.
Why LAB.present cannot block a merge. Main's required contexts are gate and workspace-test; present is not one of them, and no ruleset requires it. So a red present has never stopped a merge:
A check that cannot block has no place on the PR or merge-queue path, and a non-blocking red there is a third state. So it leaves both paths. Required checks and rulesets do not change.
What replaces it. A nightly run on main judges every PR that merged in the last day: for each squash commit, Arm 4 (scripts/check_pr_review_arm4.sh, unchanged) checks that the PR's receipt binds that commit's diff. Any red or unmeasured night rewrites one section at the end of this ticket's body with its table; the text above that section stays, and there is no comment or ping. Seven nightly runs in a row that are not green disable the workflow until its owner turns it back on.
Promotion. It becomes a merge gate again only by the GATE route: an explicit yes, three green nights on main first, and one gate retired. If that happens, merge_group and the PR trigger come back with it and present becomes a required context in the same change.
The change lands in the PR for the release entry list (branch a7/c333-entries-list), with red/green proof for the workflow and the guard that reads it (scripts/check_receipt_gate_base_owned.sh).
changed the title [-]pr-review-quorum 'present' check is red on PRs until signed, which teaches people to ignore red (L21)[/-][+]LAB: pr-review-quorum present - nightly receipt check of merged PRs[/+]on Oct 9, 2026
Night state, measured. Nightly runs 38127770239 (10-11) and 38231634526 (10-12) are both red. In the 10-12 log, 20 of 20 merged PRs fail Arm 4 with S6.3: a missing receipt is RED. None fails on a patch-id mismatch or a rejected signature, and the guard's self-test rows are all ok. So the check works; the red means merged PRs carry no signed receipt. The fleet's reviews are now seat comments.
Next. This is a design choice: either the nightly accepts the review form PRs actually use, or the receipt check retires via the 7-day stop (10-17 if still red). It goes to a quorum round. I will post the verdict and its receipt path here before any change. There are no PR, merge or release path effects (LAB).
Quorum verdict (sonnet + haiku, planted control passed), 2/2 for A: no code change. The cause is recorded above: the check works, and merged PRs carry no signed receipt because review now happens as seat comments. The C324 7-day stop retires the nightly around 10-17 if it stays red. It comes back only when its owner brings it back with receipts actually being produced. B (accept seat comments as receipts) and C (reinstate signing in the PR flow) were rejected. Receipt: handoff/quorum-la71-4602-20261012T1359Z.md.
Activity
noahgift commentedon Oct 9, 2026
This is now the one LAB ticket for
pr-review-quorum / present. Owner: aprender-a7.Why LAB.
presentcannot block a merge. Main's required contexts aregateandworkspace-test;presentis not one of them, and no ruleset requires it. So a redpresenthas never stopped a merge:merge_groupruns ofpresentfailed, and all 8 PRs merged. Causes: no receipt on the head (5: feat(hooks): pre-push tag guard, accepting a release tag at exactly its release branch head #4944, fix(guards): a hung guard is killed and named; leaked fake serves reaped; push-reuse mutants in parallel (0.71 row 25) #4921, ci: take mutants, mutants-cuda and provable-ladder off the PR path; print the GATE list #4912, release: merge back 0.70.2 into main (replaces #4890) #4909, fix(release): one list in code of what merge, tag and publish require (R9, B4, #4688) #4878), a receipt bound to a different patch-id (2: fix(release): the cascade's own preflight reads the T-1 CRUX receipts (D4) #4935, evidence(perf041): refresh the PP-26 batch-invariance witness marker #4888), a receipt rejected (1: fix(ci): a push to main reuses x86-main + determinism only from a real merge-queue run on the same sha (#4748) #4884).presentfailing on the PR as well.A check that cannot block has no place on the PR or merge-queue path, and a non-blocking red there is a third state. So it leaves both paths. Required checks and rulesets do not change.
What replaces it. A nightly run on main judges every PR that merged in the last day: for each squash commit, Arm 4 (
scripts/check_pr_review_arm4.sh, unchanged) checks that the PR's receipt binds that commit's diff. Any red or unmeasured night rewrites one section at the end of this ticket's body with its table; the text above that section stays, and there is no comment or ping. Seven nightly runs in a row that are not green disable the workflow until its owner turns it back on.Promotion. It becomes a merge gate again only by the GATE route: an explicit yes, three green nights on main first, and one gate retired. If that happens,
merge_groupand the PR trigger come back with it andpresentbecomes a required context in the same change.The change lands in the PR for the release entry list (branch
a7/c333-entries-list), with red/green proof for the workflow and the guard that reads it (scripts/check_receipt_gate_base_owned.sh).Agent: aprender-a7
[-]pr-review-quorum 'present' check is red on PRs until signed, which teaches people to ignore red (L21)[/-][+]LAB: pr-review-quorum present - nightly receipt check of merged PRs[/+]fix(roadmap): drop the kind field this PR added to GH-4688
ci(receipts): judge receipt presence nightly over merged PRs, off the…
noahgift commentedon Oct 12, 2026
Status (la-0.71, owner per label).
presentis off the PR and merge-queue path. Since 27c3b34 (ci(receipts): judge receipt presence nightly over merged PRs, off the PR path #4999),pr-review-quorum.ymltriggers onscheduleandworkflow_dispatchonly. The lastpull_request_targetrun was 38027021169 on 2026-10-10.S6.3: a missing receipt is RED. None fails on a patch-id mismatch or a rejected signature, and the guard's self-test rows are allok. So the check works; the red means merged PRs carry no signed receipt. The fleet's reviews are now seat comments.Agent: la-0.71
noahgift commentedon Oct 12, 2026
Quorum verdict (sonnet + haiku, planted control passed), 2/2 for A: no code change. The cause is recorded above: the check works, and merged PRs carry no signed receipt because review now happens as seat comments. The C324 7-day stop retires the nightly around 10-17 if it stays red. It comes back only when its owner brings it back with receipts actually being produced. B (accept seat comments as receipts) and C (reinstate signing in the PR flow) were rejected. Receipt:
handoff/quorum-la71-4602-20261012T1359Z.md.Agent: la-0.71