Repository navigation
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Description
Refs: #7583
Why: #7583's Decision "the nit cap lives in its per-concern file (Q570)" is the one decision of that issue not yet delivered. No file under docs/review/ or REVIEW.md caps nits today. The only nit text is the severity row | Suggestion | 🟡 Nit | at REVIEW.md:31.
Summary
Add a per-concern review file that limits how many Suggestion-severity findings (🟡 Nit in REVIEW.md's severity table) a single review posts. Then index it in docs/review/README.md with a trigger that fires on every review. REVIEW.md is synced from melodic-software/standards and stays unchanged. Its "Depth" section already points self-hosted and local reviews at docs/review/README.md.
Fix
- Create
docs/review/findings.mdwith a# Findingsheading and this rule as one list line, in the shape of the other files indocs/review/(rule text, then a link):- A review posts at most five Suggestion-severity findings (🟡 Nit), choosing the five with the most consequence. It reports how many more it found as a count in the summary, and posts none of them inline. Critical and Important findings,
blockingfindings, andmanifest <field>: flaglines are never capped: Code Review: Choose what to write in REVIEW.md.
- A review posts at most five Suggestion-severity findings (🟡 Nit), choosing the five with the most consequence. It reports how many more it found as a count in the summary, and posts none of them inline. Critical and Important findings,
- Add one row to the table in
docs/review/README.md, directly under theREVIEW.mdrow:
| [`findings.md`](findings.md) | anything: how many findings one review posts | - Leave
REVIEW.mdunchanged. A change there ismelodic-software/standardswork, which standards: per-concern standards layout #7583 marks as an owner stop.
Basis:
- The cap moves to a per-concern file: owner answer Q570 (poteto-review interview ledger) and standards: per-concern standards layout #7583's Decisions.
- The number five comes from the upstream example, not from an owner decision. https://code.claude.com/docs/en/code-review-customize (read 2026-11-01) has "Report at most five Nits per review." under the "Cap the nits" heading of its example REVIEW.md, and, under "Choose what to write in REVIEW.md", says a cap of five nits "keeps reviews actionable".
- The excess is reported as a count: judgment. The upstream page does not say what happens to nits past the cap; the poteto-review research draft recommends "report nits as a count" for incremental reviews, and a count keeps the dropped volume visible without posting it.
- A new file and not
pull-requests.md: judgment.pull-requests.mdcovers author-side post-PR triage, and the index loads a file only when the change touches its concern, so a cap there would not load on most reviews. - The CI code-review lane (
plugins/review/skills/code-review/SKILL.md, "High-signal bar") already excludes style nits; this rule does not change that skill.
Done when
-
docs/review/findings.mdexists, andgrep -n "at most five Suggestion" docs/review/findings.mdprints one line. -
grep -n "count" docs/review/findings.mdprints the line saying the findings past the cap are reported as a count in the summary. -
grep -n "never capped" docs/review/findings.mdprints the line exempting Critical, Important,blockingandmanifest <field>: flagfindings. -
grep -n "code-review-customize" docs/review/findings.mdprints the rule line's upstream link. -
grep -n "(findings.md)" docs/review/README.mdprints one table row whose second column starts withanything. -
git diff --quiet origin/main -- REVIEW.mdexits 0. -
grep -cP '\x{2014}' docs/review/findings.md docs/review/README.mdprints a count of0for each file (no em dash). -
git diff --name-only origin/mainlists onlydocs/review/findings.mdanddocs/review/README.md.
Verification
Run the grep and git commands in Done when against the PR head.
Related
- standards: per-concern standards layout #7583 (parent decision), standards: per-concern standards layout - part 1 of 2 #10231 (part 1: AGENTS.md review rules moved into
docs/review/, closed by docs(review): move the AGENTS.md code review rules into per-concern docs review files #12124), standards: per-concern standards layout - part 2 of 2 #10232 (part 2: the REVIEW.md generation drift check, open). - Out of scope: the nit cap for Managed Code Review. It honors a nit cap only from the root
REVIEW.mdor a file beside it thatREVIEW.mdincludes, and an include of a path underdocs/is not followed (https://code.claude.com/docs/en/code-review-customize, "Include other files in REVIEW.md"). That would bemelodic-software/standardswork.
Metadata
Metadata
Assignees
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Type
Fields
No fields configured for Task.
Activity
melodic-automation-lanes commentedon Nov 2, 2026
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41369888632, the work-resolve-issue run that
agent-readystarted, before it did any work; that run ended at 2026-11-02T01:18:57Z. work-unblock has now removed and addedagent-readyback to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last addedagent-readyor a run last reported, work-unblock waits longer before each one, up to 24 hours.github-actions commentedon Nov 2, 2026
melodic-automation-lanes commentedon Nov 2, 2026
This records a re-fire of an earlier refusal, not a new refusal. The lanes kill switch stopped run 41374154413, the work-resolve-issue run that
agent-readystarted, before it did any work; that run ended at 2026-11-02T02:23:18Z. work-unblock has now removed and addedagent-readyback to start a fresh run. A kill-switch refusal is no fault in this issue or the lanes, so it never counts against later re-fires; after limits.limit-stops-per-issue of them since a person last addedagent-readyor a run last reported, work-unblock waits longer before each one, up to 24 hours.github-actions commentedon Nov 2, 2026
github-actions commentedon Nov 2, 2026