Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions .agents/skills/pr-review-conduct/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@ visible comments, routinely still carries a finding nobody has answered. Treatin
by commit SHA rather than assumed from a green merge-state. A push makes checks go green *before* the
re-review lands, and the matched review is **read**, not just counted. A review can carry the
head SHA and still decline the PR outright, or say it read only part of the changed files.
`pr_review.py` reads coverage into the digest's `coverage=` field, and only a stated partial
is an exit code, `42`. A round covering the head that states full coverage satisfies this
item. Where none states any, a round covering the head whose own file table names exactly the
changed files covers it, `coverage=table`, the reading a Copilot round at Balanced review
effort gives. Where no round covering the head carries a table of its own, the newest round
`pr_review.py` reads coverage into the digest's `coverage=` field, and only partial coverage
is an exit code, `42`. That is a head round stating partial, or a head round reading `UNKNOWN`
beside an earlier partial round. So is a head with non-refusal rounds, none stating coverage,
beside one. A round covering the head that states full coverage satisfies this item where no
other head round reads `UNKNOWN` or partial. Where none states any, a round covering the head
whose own file table names exactly the changed files covers it, `coverage=table`. That is the
reading a Copilot round at Balanced review effort gives. Where no round covering the head carries a table of its own, the newest round
that does, its table naming exactly the changed files, stands in as `coverage=carried:table`.
A table stands in only where no Copilot round on the pull request, on any commit, states
partial coverage, so a pull request that ever had a partial round goes to the maintainer.
Expand Down
Original file line number Diff line number Diff line change
@@ -1 +1 @@
75b92a3bbf15ab34
184af41cfc570242
12 changes: 7 additions & 5 deletions .claude-plugin/fleet-skills/skills/pr-review-conduct/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@ visible comments, routinely still carries a finding nobody has answered. Treatin
by commit SHA rather than assumed from a green merge-state. A push makes checks go green *before* the
re-review lands, and the matched review is **read**, not just counted. A review can carry the
head SHA and still decline the PR outright, or say it read only part of the changed files.
`pr_review.py` reads coverage into the digest's `coverage=` field, and only a stated partial
is an exit code, `42`. A round covering the head that states full coverage satisfies this
item. Where none states any, a round covering the head whose own file table names exactly the
changed files covers it, `coverage=table`, the reading a Copilot round at Balanced review
effort gives. Where no round covering the head carries a table of its own, the newest round
`pr_review.py` reads coverage into the digest's `coverage=` field, and only partial coverage
is an exit code, `42`. That is a head round stating partial, or a head round reading `UNKNOWN`
beside an earlier partial round. So is a head with non-refusal rounds, none stating coverage,
beside one. A round covering the head that states full coverage satisfies this item where no
other head round reads `UNKNOWN` or partial. Where none states any, a round covering the head
whose own file table names exactly the changed files covers it, `coverage=table`. That is the
reading a Copilot round at Balanced review effort gives. Where no round covering the head carries a table of its own, the newest round
that does, its table naming exactly the changed files, stands in as `coverage=carried:table`.
A table stands in only where no Copilot round on the pull request, on any commit, states
partial coverage, so a pull request that ever had a partial round goes to the maintainer.
Expand Down
12 changes: 7 additions & 5 deletions .github/skills/pr-review-conduct/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,13 @@ visible comments, routinely still carries a finding nobody has answered. Treatin
by commit SHA rather than assumed from a green merge-state. A push makes checks go green *before* the
re-review lands, and the matched review is **read**, not just counted. A review can carry the
head SHA and still decline the PR outright, or say it read only part of the changed files.
`pr_review.py` reads coverage into the digest's `coverage=` field, and only a stated partial
is an exit code, `42`. A round covering the head that states full coverage satisfies this
item. Where none states any, a round covering the head whose own file table names exactly the
changed files covers it, `coverage=table`, the reading a Copilot round at Balanced review
effort gives. Where no round covering the head carries a table of its own, the newest round
`pr_review.py` reads coverage into the digest's `coverage=` field, and only partial coverage
is an exit code, `42`. That is a head round stating partial, or a head round reading `UNKNOWN`
beside an earlier partial round. So is a head with non-refusal rounds, none stating coverage,
beside one. A round covering the head that states full coverage satisfies this item where no
other head round reads `UNKNOWN` or partial. Where none states any, a round covering the head
whose own file table names exactly the changed files covers it, `coverage=table`. That is the
reading a Copilot round at Balanced review effort gives. Where no round covering the head carries a table of its own, the newest round
that does, its table naming exactly the changed files, stands in as `coverage=carried:table`.
A table stands in only where no Copilot round on the pull request, on any commit, states
partial coverage, so a pull request that ever had a partial round goes to the maintainer.
Expand Down
4 changes: 2 additions & 2 deletions scripts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ uv run --no-project --script scripts/pr_review.py cleanup 452 --repo ptr727/Proj
| `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. |
| `42` | `status`, `wait` | The round covering the head states partial coverage, or states none while an earlier round states partial coverage. |
| `42` | `status`, `wait` | The round covering the head states partial coverage. Or a non-refusal head round exists while an earlier round states partial, and one reads `UNKNOWN` or none states coverage. |
| `44` | `wait` | The review loop closed, the merge reads `BLOCKED`, and a required check is in a shape no wait clears. |
| `49` | `wait` | No Copilot round covers the head and none was requested, on a pull request into a branch other than the default with no attestation. |
| `50` | `status`, `wait` | The round covering the head opens on a verdict other than the clean one while it counts no finding. Or a head round carries a part the reader cannot place, and nothing acknowledges its fingerprint. |
Expand All @@ -224,7 +224,7 @@ uv run --no-project --script scripts/pr_review.py cleanup 452 --repo ptr727/Proj

The digest reports the completed head review's effective effort as `lite`, `balanced`, or `max`, with `effort_source=default` for `Default (<level>)` and `explicit` for a bare level, and `unknown` for both where the body states none. Effort never changes a verdict, and the workflow never selects or changes the user-controlled setting.

**`coverage=` names how the head's diff is shown read, and only a stated partial is an exit.** `full` and `PARTIAL` are the reviewer's own statement, the `fleet-review` marker the fleet's review instructions ask for, and `UNKNOWN` is a statement this cannot believe, such as one reading more files than changed, or a body the reader failed on, the reason printed beside it. A count Copilot states in a top-level paragraph that opens on it, never a list item and never inside a counted finding section, is read too, and a partial wins over any other reading beside it. A head round stating nothing while an earlier round states partial reads as `PARTIAL`, so a pull request that ever had a partial round goes to the maintainer. Where nothing states coverage, a round covering the head whose own file table names exactly the changed files reads as `table`, and the newest round on any commit whose table does reads as `carried:table`. A table stands in only where no round states partial coverage and the review history is not cut by its window, since a table names the whole changed set on a partial round too. The changed-file list is paged to GitHub's own ceiling of 3,000 files, and a list not read whole, or read empty, is read again before a table is matched against nothing. A table row matches a changed path exactly, or by a `*` or `?` glob. Otherwise `coverage=none` prints with the reason no table stood in, `status` adds a note, and the exit stays `0`, since Merge Gate item 2 in `pr-review-conduct` reads this field rather than an exit code. A partial round is reported and handed over rather than retried into, since every partial on record stayed partial at the identical ratio across every later round.
**`coverage=` names how the head's diff is shown read, and only partial coverage is an exit.** `full` and `PARTIAL` are the reviewer's own statement, the `fleet-review` marker the fleet's review instructions ask for, and `UNKNOWN` is a statement this cannot believe, such as one reading more files than changed, or a body the reader failed on, the reason printed beside it. A count Copilot states in a top-level paragraph that opens on it, never a list item and never inside a counted finding section, is read too, and a partial wins over any other reading beside it. Beside an earlier partial round, a head round reading `UNKNOWN` reads as `PARTIAL`, and so does a head with non-refusal rounds, none stating coverage. Where nothing states coverage, a round covering the head whose own file table names exactly the changed files reads as `table`, and the newest round on any commit whose table does reads as `carried:table`. A table stands in only where no round states partial coverage and the review history is not cut by its window, since a table names the whole changed set on a partial round too. The changed-file list is paged to GitHub's own ceiling of 3,000 files, and a list not read whole, or read empty, is read again before a table is matched against nothing. A table row matches a changed path exactly, or by a `*` or `?` glob. Otherwise `coverage=none` prints with the reason no table stood in, `status` adds a note, and the exit stays `0`, since Merge Gate item 2 in `pr-review-conduct` reads this field rather than an exit code. A partial round is reported and handed over rather than retried into, since every partial on record stayed partial at the identical ratio across every later round.

**Findings no thread carries are counted and printed whole.** `suppressed=`, `previously_missed=`, and `cr_outside_diff=` count the findings a review body collapses into a counted section, read over every round rather than the head's alone, since a push does not answer a finding nobody replied to. Each reads `N (on_head=X earlier=Y)` with a trailing `+` where the reviews window was cut. A tally holding a count the reader cannot believe reads `?`. `previously_missed=` and `cr_outside_diff=` print only where one was raised or the window was cut. `qodo_open=` counts the entries in Qodo's findings comment carrying neither its `Resolved` nor `Dismissed` badge, `unknown` where that comment can sit behind the window. `overview=T/M` is the open findings the round covering the head states beside the threads it opened, `?` where it states no count. A count it cannot believe reads `?` too. `FINDINGS WITH NO THREAD` names findings the round names, in its count or its findings list, that no open entry links to a thread on the pull request. None of these decides an exit code, and each takes the triage a suppressed finding gets, answered with `comment` since no thread exists to reply on.

Expand Down
Loading