Repository navigation
chore(skills): after a nit-only round, check only its fixes - #1612
Open
fuad-daoud wants to merge 1 commit into
Open
fuad-daoud wants to merge 1 commit into
fuad-daoud wants to merge 1 commit into
Conversation
fuad-daoud
marked this pull request as ready for review
November 7, 2026 09:13
This was referenced Nov 7, 2026
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
In short: After a review round finds only
nit:s, the next round still reads every angle over all that moved, and from the third round such rounds took 34% of reviewer CPU for 17% of theissue:findings (#1611). This lets that round check only the fixes, unless a commit is not a fix, changes what code, a script, a rule or normative text does, or a merge touches the change; the review still ends only on a round that finds nothing.Once a review's round finds only
nit:, the next round no longer reads everythingreferences/rounds.md#later-rounds-read-what-movedlists. From the third round, where each commit of the change since fixes a finding, leaving unchanged what production code, a script, rule or normative text does, and no merge, the setup's too, touched the change's files, it reads CI's run, each fix against the tree and each body sentence against the fixes, and runs each open cell, instead of running the angles, planting otherwise only for a fix's test; a merge addsreferences/rounds.md#recheck-against-final-tree. Anissue:returns the next round to the full reading, and a wrong brief this round. The review still ends only on a round that finds nothing, so the bar of nonit:stands.Measured over 29 issues (#1611, with the query, the pattern and the limits): from the third round, rounds after a nit-only round took 34% of reviewer CPU for 17% of
issue:findings, 334 CPU-minutes a finding against 107 to 164 for first rounds and rounds after anissue:or a clean round. Those 9 findings are the cost: a narrower round meets some of them later, or not at all. The sample is four days of CPU data. No cost has been measured for the narrower round, so what this saves is unknown, and 34% is its ceiling.The new rule,
nit-round-checks-its-fixes, followslater-rounds-read-what-moved, and each rule it meets stands as follows:review-ends-with-nothing-leftnames both ways a next round can read.later-rounds-read-what-movedopens "short of" the new rule.missed-cell-widens-the-roundexcepts anit:found in or just before a round under the new rule. Anissue:in a filled cell still widens. Whether anit:should widen anywhere else is skills: any miss in a filled cell sends the next round over the whole change #1563's, which this leaves open.fresh-reader-for-the-second-roundlets a reader's brief hold what the new rule asks, as a reader cannot otherwise know what the round before found.audit-what-a-reader-clearedis unchanged: a cell it reopens is run in a narrow round, a plant included.recheck-against-final-treeopens "short of" the new rule for a fix; a merge still takes it, as the new rule says. Withmainmoving several times a day, most narrow rounds will carry that recheck, which this leaves as the safe side; its cost is unmeasured too.first-round-finds-everythingis unchanged: the first two rounds stay whole, so a nit-only first round is never a PR's only whole read. Starting at the second round is the alternative, which saves more and risks more.A reader cannot tell what the round before found, so the rule has a round's brief say so, and no tool checks that a brief does.
SKILL.md's third step cites both rules.A commit no finding asked for also takes the full reading, as nothing the narrow round reads reaches it.
Before and after
flowchart LR subgraph before["Before"] direction TB b1["round 3 or later follows a nit-only round"] --> b2["every angle over each file that moved,<br/>each fix and the whole PR body"] b2 --> b3["it ends on a round that finds nothing"] end subgraph after["After"] direction TB a1["round 3 or later follows a nit-only round"] --> a2{"a commit is no fix or changes what production code,<br/>a script, rule or normative text does,<br/>or a merge touches the change?"} a2 -- "no" --> a3["each fix, its lines, each body sentence<br/>against them, cells left open;<br/>a merge adds recheck-against-final-tree"] a2 -- "yes" --> a4["every angle over what moved"] a3 --> a5["it ends on a round that finds nothing"] a4 --> a5 end before ~~~ afterWhat it brings: a review stops paying a full round to confirm a reworded comment, while an
issue:, a commit no finding asked for, a change to what production code, a script, a rule or normative text does, and the bar of nonit:keep what they had.Test plan
python3.14 .claude/skills/morphic-curating-skills/scripts/skills_lint.py:skills_lint: clean (9 skills), which holds the new rule's 150 words, its keys and citations.python3.14 .claude/skills/morphic-shipping-prs/scripts/subjects.py --base origin/main 1612 "<title>": clean.after nits only, round >= 3: rounds 49 ... cpu_h 50.1 (34%) issues 9 (17%) ... cpu_min/issue 334.TestDocuments_OpenNoLineWithAPlusreads these files as Markdown and passes at this head, and CI run 42358220625 passed onab36a06c, the gate included (coverage gate: all 20085 statements covered).Closes #1611
Related: #1522, #1530, #1563, #1588