Repository navigation
Restore the Caveat That a Review-Present Exit 0 Does Not Poll the Checks - #3491
Conversation
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>
|
A recorded local strict-review pass covers head |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
🟢 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
0caveat inscripts/pr_review.pyhelp text. - Mirrors the caveat in the
scripts/README.mdexit-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 Report✅ All modified and coverable lines are covered by tests. 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
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
) ## 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)
Summary
The fourth promotion review of #3484 found the rewrite of the
waithelp's exit 0 text dropping its caveat that exit 0 does not prove the required checks ran.Behavior is unchanged.
Part of #3471, which the promotion pull request closes.
Pre-existing findings, not filed
scripts/pr_review.pyhelp, 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.pyhelp (style): "held head whose commit the payload carries" reads the commit as separate from the head.Test plan
prose_lint.py --check sentence-lengthis clean over the diff, and the pre-commit gates pass.waitand found it true.🤖 Generated with Claude Code