Skip to content

Restore the Caveat That a Review-Present Exit 0 Does Not Poll the Checks - #3491

Merged
ptr727 merged 3 commits into
developfrom
fix/3471-exit-0-review-caveat
Oct 25, 2026
Merged

ptr727 merged 3 commits into
developfrom
fix/3471-exit-0-review-caveat

Conversation

@ptr727

@ptr727 ptr727 commented Oct 25, 2026

Copy link
Copy Markdown
Owner

Summary

The fourth promotion review of #3484 found the rewrite of the wait help's exit 0 text dropping its caveat that exit 0 does not prove the required checks ran.

  • The help now says, right after its opening exit 0 line, that a review-present exit 0 does not poll the checks, so it does not prove the required checks ran. The README's exit 0 row says the same.
  • The help's claim that every workflow run on the head has completed is scoped to an open attested held head, the one case that polls its runs.

Behavior is unchanged.

Part of #3471, which the promotion pull request closes.

Pre-existing findings, not filed

  • scripts/pr_review.py help, the exit 0 "only under" sentence (pre-existing): its subject is "Exit 0", tied to the attested held head only by "then", so read alone it reads as covering a review-present exit 0 too.

Dropped findings

  • scripts/README.md, the exit 0 row (style): "on that review" reaches back past the held-head clause.
  • scripts/pr_review.py help (style): "held head whose commit the payload carries" reads the commit as separate from the head.

Test plan

  • prose_lint.py --check sentence-length is clean over the diff, and the pre-commit gates pass.
  • The recorded local pass checked each changed sentence against the end of wait and found it true.

🤖 Generated with Claude Code

ptr727 and others added 3 commits October 25, 2026 16:40
The fourth promotion review of #3484 found the rewrite of the exit 0
text dropping its caveat that exit 0 does not prove the required checks
ran, though a review-present exit 0 reads no check at all. The help and
the README's exit 0 row say so again.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The local pass found "reads no check" false, since the review-present
path still reads the rollup for exit 44, and the help's completed-runs
claim unscoped though only a held head polls its runs. The caveat now
says it does not poll the checks, the run claim names the held head,
and the README states the caveat for the review-present case alone.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The second local pass found the completed-runs claim covering a held
head no attestation covers, which polls nothing, and the caveat landing
after an exhaustive "only" list it then contradicted. The claim names
the attested held head, and the caveat now follows the opening line.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings October 25, 2026 23:46
@ptr727

ptr727 commented Oct 25, 2026

Copy link
Copy Markdown
Owner Author

A recorded local strict-review pass covers head 8c65e4d85d34e1ed10ccc8eef7a045a00211609a, the content this pull request carries at that commit against develop, and it recorded 3 findings.

@coderabbitai

coderabbitai Bot commented Oct 25, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

The documentation changes are fully reviewed, consistent, and have no unresolved blocking issues.

No open issues 🎉

What changed in this PR

This pull request restores documentation clarifying that a review-present wait exit 0 does not poll or prove required checks ran, while limiting workflow-completion claims to the attested held-head path. Runtime behavior is unchanged.

Changes:

  • Restores the exit 0 caveat in scripts/pr_review.py help text.
  • Mirrors the caveat in the scripts/README.md exit-code table.
  • Scopes workflow-run completion claims to open, attested, held heads.
File Description
scripts/​README.md Documents that a review-present exit 0 does not prove required checks ran.
scripts/​pr_review.py Restores the help caveat and scopes workflow-run completion claims.

Review effort: Lite

@codecov

codecov Bot commented Oct 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.04%. Comparing base (578a265) to head (8c65e4d).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #3491   +/-   ##
========================================
  Coverage    81.04%   81.04%           
========================================
  Files           25       25           
  Lines         8922     8922           
========================================
  Hits          7231     7231           
  Misses        1691     1691           
Flag Coverage Δ
python-3.13 81.04% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ptr727
ptr727 merged commit f87bf62 into develop Oct 25, 2026
14 checks passed
@ptr727
ptr727 deleted the fix/3471-exit-0-review-caveat branch October 25, 2026 23:57
ptr727 added a commit that referenced this pull request Oct 26, 2026
)

## Summary

Promotes the pull requests merged into develop since release 2.0.1184.

- [#3483](#3483): a held
`wait` exits `45` with `status=CHECKS_MISSING` where it used to exit `0`
over checks that never ran. The cases are a payload with no commit
matching the head, a `DIRTY` merge with no check posted, and a `DIRTY`
or `BEHIND` merge whose required context is unregistered or came from
another app. The `wait` help and `scripts/README.md` name each exception
that stays at `0`.

- [#3485](#3485): the
exit-0 list in the help and README names a pull request no longer open,
which this promotion's own review found missing.
- [#3486](#3486): where
the head's rollup holds a type the reader cannot parse, the
`CHECKS_MISSING` clause and the `BLOCKED` hold's note say a required
check may sit in that unread part, which this promotion's second review
found missing.
- [#3490](#3490): the
no-check-posted cause of exit `45` is scoped to `DIRTY` in the help and
README and names its remedy, which this promotion's third review found
missing.
- [#3491](#3491): the
`wait` help and README restore the caveat that a review-present exit `0`
does not poll the checks, which this promotion's fourth review found
dropped.

Closes #3471

## Constituent coverage

Each change this promotion carries had coverage on its own pull request
into develop:

| Pull request | Merged head | Coverage |
| --- | --- | --- |
| [#3483](#3483) |
`8f29cadd` | attested local pass at the merged head, base `develop`. A
Copilot round on the earlier head `ee530a4b` opened three findings, each
fixed in `995ce78a` and resolved, so no Copilot round covers the merged
head |
| [#3485](#3485) |
`275e4c8b` | attested local pass at the merged head, base `develop`, and
a Copilot table on the merged head naming exactly its 2 changed files,
no open findings |
| [#3486](#3486) |
`1f9fde03` | attested local pass at the merged head, base `develop`. A
Copilot round on the earlier head `b8a74e8a` opened three findings, each
fixed later on the branch and resolved, so no Copilot round covers the
merged head |
| [#3490](#3490) |
`ba37c856` | attested local pass at the merged head, base `develop`, and
a Copilot table on the merged head naming exactly its 4 changed files.
Its headline's test-wording preference was declined in a comment |
| [#3491](#3491) |
`8c65e4d8` | attested local pass at the merged head, base `develop`, and
a Copilot table on the merged head naming exactly its 2 changed files,
verdict clean, no open findings |

🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.

2 participants