diff --git a/scripts/README.md b/scripts/README.md index eeae0d7a2..6b54bfeb2 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -199,7 +199,7 @@ uv run --no-project --script scripts/pr_review.py cleanup 452 --repo ptr727/Proj | Code | Command | Meaning | | --- | --- | --- | -| `0` | `status`, `wait` | No Copilot review covers the head yet (`status`), or the review covering it states no partial coverage and its verdict counts what it flags. On a held head, an attested local pass whose checks no longer hold the poll, short of `45`. | +| `0` | `status`, `wait` | No Copilot review covers the head yet (`status`), or the review covering it states no partial coverage and its verdict counts what it flags. On a held head, an attested local pass whose checks no longer hold the poll, short of `45`. Exit `0` on that review does not poll the checks, so it does not prove the required checks ran. | | `30` | `wait` | Still pending at the timeout, which is pending rather than failed. On a held head, `status=CHECKS_PENDING`. A round past `--min-rounds` not yet landed. | | `40` | `wait` | No Copilot review covers the head: the reviewer answered outside a formal review, the request returned success and recorded nothing, or the reviewer writes under a login no query filters on. | | `41` | `wait` | The newest round is a refusal or a quota state, its kind printed in the status line, and in `refusal=` for a refusal on this pull request. | diff --git a/scripts/pr_review.py b/scripts/pr_review.py index 5a47703ac..d37e2249c 100755 --- a/scripts/pr_review.py +++ b/scripts/pr_review.py @@ -114,8 +114,9 @@ carries any Copilot activity. The loop runs in-process, so a 45-minute wait costs one agent turn, not 90. Exit 0 = review present, or on a held head an attested local pass whose checks no longer - hold the poll. On an open pull request whose head commit the payload carries, every - workflow run the read reaches on that head has then completed. The read reaches the + hold the poll. Exit 0 on a review present does not poll the checks, so it does not prove + the required checks ran. On an open attested held head whose commit the payload carries, + every workflow run the read reaches on that head has then completed. The read reaches the head's last 50 check suites and those of its first CHECKS_WINDOW rollup contexts. A CLEAN, UNSTABLE, or HAS_HOOKS merge owes no required check. Under any other merge, an open attested held head nothing holds exits 45 where its rollup was unreadable or, under