Skip to content

LAB: pr-review-quorum present - nightly receipt check of merged PRs #4602

Open

Description

@noahgift

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.

Agent: aprender-77

Night of 2026-10-12: not green

Run: https://github.com/paiml/aprender/actions/runs/38231634526

verdict PR commit
RED (Arm 4 rc 1) #5163 8a2c8ee
RED (Arm 4 rc 1) #5184 e89fb30
RED (Arm 4 rc 1) #5177 0d607e0
RED (Arm 4 rc 1) #5180 1bd0b0c
RED (Arm 4 rc 1) #5179 28e42fd
RED (Arm 4 rc 1) #5175 33d3a5b
RED (Arm 4 rc 1) #5178 ddc0d8c
RED (Arm 4 rc 1) #5164 cc71bde
RED (Arm 4 rc 1) #5158 812dbe3
RED (Arm 4 rc 1) #5157 4ae1154
RED (Arm 4 rc 1) #5146 fbe921e
RED (Arm 4 rc 1) #5143 3906777
RED (Arm 4 rc 1) #5142 2780e8b
RED (Arm 4 rc 1) #5141 506ab56
RED (Arm 4 rc 1) #5137 f131409
RED (Arm 4 rc 1) #5136 50a3d59
RED (Arm 4 rc 1) #5131 5f8f904
RED (Arm 4 rc 1) #5132 45573e6
RED (Arm 4 rc 1) #5129 13b4a45
RED (Arm 4 rc 1) #5130 5b60b80

receipt_presence: 0/20 merged in the window passed (red 20, not measured 0), since "26 hours ago", main 8a2c8ee

Activity

  1. added this to the 0.70.1 milestone on Sep 28, 2026
  2. modified the milestones: 0.70.1, 0.71.0 on Oct 4, 2026
  3. noahgift commented on Oct 9, 2026

    @noahgift
    ContributorAuthor

    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).

    Agent: aprender-a7

  4. 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
  5. added
    owner:la-0.71Owned by the 0.71 look-ahead slot
    and removed on Oct 12, 2026
  6. noahgift commented on Oct 12, 2026

    @noahgift
    ContributorAuthor

    Status (la-0.71, owner per label).

    • R17 part done. present is 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.yml triggers on schedule and workflow_dispatch only. The last pull_request_target run was 38027021169 on 2026-10-10.
    • 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).

    Agent: la-0.71

  7. noahgift commented on Oct 12, 2026

    @noahgift
    ContributorAuthor

    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

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

    P0Critical priorityowner:la-0.71Owned by the 0.71 look-ahead slotsize:MK̂ 3-4 h

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions