Repository navigation
List Pre-Existing Review Findings in the PR Body Instead of Filing Them - #3401
Conversation
A pre-existing finding, from a local pass or a PR-hosted review, is listed in the pull request body under "Pre-existing findings, not filed" with its location and class, and no issue is filed for it. A pre-existing correctness defect with a stated failure is the one exception, filed once and labeled pre-existing. A style, wording, consolidation, or restatement finding on untouched text is dropped with one body line. The canonical-unit tracker is unchanged. Over 2026-10-16 to 2026-10-23, 108 of 329 non-handoff issues filed across four fleet repositories carried pre-existing, each later costing a lane, a pull request, and a review. Decision (ptr727, 2026-10-23) on #3391, item 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The first bullet that fits decides, the canonical-unit tracker is scoped to pre-existing findings, and the body list is named by its place rather than a heading that one of its entries would contradict. A suppressed finding gets a "Listed in the body" verdict, a body line needs no second answer, and the class-sweep sibling keeps outcome 1's own rule. The class-label note no longer calls every style finding declined. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Outcome 4 covers a deferral or a finding on untouched text, leaving a deliberate leave-as-is to outcome 3. The listed and dropped lines sit under one named heading kept apart from the spent-budget list, and a thread-less finding's pointer is a "Listed in the body" answer. The tracker reads as outcome 4's first bullet, and the cost sentence keeps its "once worked" condition. 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. ⚙️ Run configuration
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. Comment |
There was a problem hiding this comment.
🟡 Changes recommended
Unresolved moderate and nit findings affect rule scope, body-entry placement, heading accuracy, and sentence-length compliance.
4 open issues
What changed in this PR
This pull request changes review-disposition rules so most pre-existing findings are recorded in the pull request body instead of becoming separate issues, while preserving canonical-unit tracking and issue filing for correctness defects.
Changes:
- Updates
pr-review-conductoutcome 4 and suppressed-finding handling. - Aligns
local-strict-review,drive-pr, and repository label documentation with the new rules. - Regenerates the Copilot and Claude skill distributions and source digests.
- Five unresolved findings remain: three moderate findings and two nit findings in
.agents/skills/pr-review-conduct/SKILL.mdand.agents/skills/local-strict-review/SKILL.md.
| File | Description |
|---|---|
repo-config/README.md |
Updates documentation for style-finding labels. |
.github/skills/pr-review-conduct/SKILL.md |
Generated review-disposition guidance. |
.github/skills/local-strict-review/SKILL.md |
Generated local-review disposition guidance. |
.github/skills/drive-pr/SKILL.md |
Generated drive-loop inclusion of the revised rules. |
.claude-plugin/fleet-skills/skills/pr-review-conduct/SKILL.md |
Generated Claude review-disposition guidance. |
.claude-plugin/fleet-skills/skills/local-strict-review/SKILL.md |
Generated Claude local-review guidance. |
.claude-plugin/fleet-skills/skills/drive-pr/SKILL.md |
Generated Claude drive-loop guidance. |
.claude-plugin/fleet-skills/.source-digests/pr-review-conduct |
Updated source digest. |
.claude-plugin/fleet-skills/.source-digests/local-strict-review |
Updated source digest. |
.claude-plugin/fleet-skills/.source-digests/drive-pr |
Updated source digest. |
.agents/skills/pr-review-conduct/SKILL.md |
Authored review-disposition and merge-gate rules. |
.agents/skills/local-strict-review/SKILL.md |
Authored local-review disposition guidance. |
.agents/skills/drive-pr/SKILL.md |
Authored drive-loop inclusion of the revised outcome. |
Review effort: Lite
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3401 +/- ##
========================================
Coverage 81.33% 81.33%
========================================
Files 18 18
Lines 10049 10049
========================================
Hits 8173 8173
Misses 1876 1876
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:
|
The outcome 3 carve-out is scoped to an introduced finding. A filed pre-existing defect goes under "Pre-existing findings, filed" and a dropped finding under "Dropped findings", so no style line sits under a pre-existing heading, and the Merge Gate exempts every heading outcome 4 names. Only a reviewer's suppressed finding owes a "Listed in the body" answer. The tracker sentence is split into short sentences. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The not-filed heading holds the fourth bullet's lines only, a filed exception's thread gets the issue link and is resolved, and a suppressed filed finding takes the Deferred verdict. A local-pass finding owes no pointer rather than nothing at all. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
## Summary Promotes these pull requests from develop. Each carries a maintainer decision recorded on #3391. - [#3399](#3399): states the write guard's threat model and documents two shapes it keeps allowed, a quoted run-time `-C` value and an `xargs` replace string run as a shell script (item 1). - [#3401](#3401): lists a pre-existing review finding in the pull request body instead of filing an issue for it (item 2). - [#3402](#3402): keeps one standing handoff issue per track, edited in place each round, with a `close` subcommand that ends a track (item 5). - [#3400](#3400): adds a weekly backlog and review-cost report script. - [#3403](#3403): runs the Copilot review once per change, at the promotion, with the attested local pass covering a pull request into develop (item 4). - [#3404](#3404): aligns the remaining review rule text with the promotion-only Copilot review (items 2 and 4). - [#3406](#3406): fixes the findings this promotion's first Copilot round raised on the content above, in the `wait` note for a head no local pass covers, the pr-review-conduct heading, and the backlog report's label line and cost scoping. Closes #3382 Closes #3385 ## Pre-existing findings, not filed - The [Copilot round on 4a77a1d](#3405 (review)) headline says documentation does not consistently describe current-head Copilot refusal handling. `local_cover` in `scripts/pr_review.py` refuses an attested head whose current Copilot round is a refusal, and `wait` exits `41` there. The `wait` entry of the `pr_review.py` docstring ("An attested head is covered at once.") and the `scripts/README.md` paragraph on the defined review moments ("Where it is attested, `wait` polls the head's checks instead.") leave that exception out. `pr-review-conduct` Merge Gate item 2 states it ("A refusal is not that coverage"). Both omissions are on `main` already, so this promotion did not introduce them. 🤖 Generated with [Claude Code](https://claude.com/claude-code)


Summary
Changes the review-disposition rule so a
pre-existingfinding is no longer filed as its own issue.pr-review-conduct"Every finding ends in a listed outcome", outcome 4, is rewritten in place. It covers a finding deferred past the pull request or found on text it did not touch, and anintroducedfinding deliberately left as is still takes outcome 3. The first bullet that fits decides:pre-existingfinding on a canonical Markdown unit keeps the per-unit tracker, which already costs one link per unit.pre-existingcorrectness defect with a stated failure (it names an input or state and the wrong output or crash) is filed once, labeledpre-existing, and its line underPre-existing findings, filedlinks it.style, wording, consolidation, or restatement finding on text the change did not touch is dropped: one line underDropped findings, no decline text, no issue, no reply beyond a pointer that resolves the thread.pre-existingfinding, local or PR-hosted, is listed underPre-existing findings, not filedwith its location and class. The body line is its outcome.pr-review-conduct"Merge Gate" item 3 names the tracker as outcome 4's first bullet and exempts a line under any heading outcome 4 names from a second answer. "Answering a suppressed finding" gains aListed in the bodyverdict.local-strict-review"Disposing of Findings" points to outcome 4 instead of saying "filed once".repo-config/README.mdno longer says everystylefinding is declined, since one on untouched text is now dropped.drive-prchanges only through its generated include of outcome 4, regenerated bybuild_dist.py, never hand-edited.Why: over 2026-10-16 to 2026-10-23, 108 of 329 non-handoff issues filed across four fleet repositories carried
pre-existing. Each one costs a lane, a pull request, and a review once worked.Decision (ptr727, 2026-10-23) on #3391, item 2.
Verification
python3 scripts/build_dist.py --check, exit 0:Prose gate,
python3 scripts/prose_lint.py --diff origin/develop, exit 0:The opt-in
--check sentence-lengthrun reports hits only on base sentences listed below.A
local-strict-reviewpass at thefrontiertier covers each push. The pass recorded and attested on head 5090774 raised no finding on text this change wrote, and the four it raised on base text are listed below.Open introduced findings, edit budget spent
The six findings the third local pass left open on the opening push are each fixed, in c05e4d3, b4faf80, and 5090774. Four of them were also raised by Copilot, and those threads carry the fixing SHAs. None remains open.
Pre-existing findings, not filed
.agents/skills/pr-review-conduct/SKILL.md:162,pre-existing: the base "A carrying repository routes a finding on a verbatim unit" sentence is 70 words. A reflow moved it onto its own line..agents/skills/local-strict-review/SKILL.md:151,pre-existing: the unchanged "Unless evidence disproves it" sentence is 30 words.repo-config/README.md:52,pre-existing: the unchanged first sentence is 34 words.repo-config/README.md:52,pre-existing: the unchangedcommentssentence is 28 words.Follow-ups, not edited here
.agents/skills/drive-pr/SKILL.mdlines 152-231 carry outcome 4 as a generated include, so they change with this PR through the regenerate only..agents/skills/backlog-burndown/SKILL.mdlines 87 and 490 describe "the deferral issues this round's reviews filed" as the next round's ranking input. They do not restate the rule, but withpre-existingfindings no longer filed, fewer such issues reach the ranking. Whether a burndown round should also read thePre-existing findings, not filedbody lists is a decision for the maintainer..agents/skills/unattended-handoff/SKILL.md: the grep found no restatement.GOVERNANCE.md"Verification Discipline" (a class-sweep sibling in an untouched file "is filed rather than folded in") and "Design Before Code" (sites in untouched files are "filed as one issue naming each") still file siblings. Outcome 4 scopes them out explicitly, since a class-sweep sibling is not a finding a review raised. Whether siblings should also go to the body list is a decision for the maintainer.🤖 Generated with Claude Code