You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Let an Unattended Worker File a Wording-Only Finding Past the Two-Round Cap Instead of Parking #2353
Two rounds of edits answer a pass, one budget per push and one per sweep issue. Where an introduced finding is still open after the second round, editing stops and what remains goes to the maintainer with its counts per class, per pr-review-conduct "Escalate to the maintainer when".
In an unattended-handoff worker, "goes to the maintainer" means parking: a decision issue, the blocked label, and a whole run's round trip before the lane moves again. That holds even where the open finding is a comment or message string that changes no behavior and no verdict the change gives.
Observed
In ptr727/HomeAutomation-Config, four unattended runs on 2026-10-03 and 2026-10-04 parked 5 times. All 5 parks were this cap.
The three wording parks each cost a decision issue, the maintainer's attention, and a full extra run, for a change a worker could have filed as a follow-up.
Proposal
In an unattended worker, an introduced finding still open after the second round that touches only comment or message text, and changes no behavior, no verdict, and no text a decision rests on, is filed once as a follow-up issue and the pull request opens. A finding that changes behavior, a verdict, or decision text still parks, as today. The worker's PR body names the follow-up, so the merged text's known gap is visible.
Revision after consulting the hub session. It replaces the proposal above.
The remedy is a deletion, not a filed follow-up. Filing each capped wording finding as an issue is the backlog pump #1311 describes, one more issue per park. Instead, past the second round, a wording-only finding is resolved by an edit that only deletes text: remove the offending clause or comment and add no words. One final pass is recorded so the pre-push receipt matches, and the pull request opens with the hosted reviewers as the next reader. A finding that pass raises against the deletion itself is filed rather than fixed, so the loop still ends deterministically. Deleting text cannot introduce a new claim, which is the mechanism #1311 names: each fix producing the next defect.
The boundary is judged on the edit, not on the kind of text. Agents read comments as instructions, so a false claim in a comment can be behavioral in effect. A finding qualifies only where a worker can check all three:
(a) The round-3 diff only removes text: git diff --word-diff shows no {+...+} beyond a reflow.
(b) Nothing matches the removed text. Tests, parsers, gates and watchers are grepped for the string, since a regex-read status line or gate message is behavior.
(c) No verdict, exit code, or decision text changes.
Under this rule a false claim gets the best treatment, since deleting it is always safe. Text that is imprecise but true has no deletion-only fix, so it is declined as style or parks as today. Where a deletion would leave intent undocumented in a way a reviewer has said matters, the finding is not wording-only and parks.
Scope: attended and unattended alike. This is a disposition rule, so its one home is local-strict-review's budget bullet ("Two rounds of edits answer a pass"). It is written there as maintainer-approved rule text, which also settles the tension with pr-review-conduct "Escalate to the maintainer when"'s bullet that declining a real finding is never the agent's alone: the maintainer decides it once, in the rule, rather than per finding. An unattended-only carve-out would state one rule on two surfaces, and two surfaces drift.
The two behavioral parks in the data (#756, #766) still park under this version.
Three of four lanes reached the cap, and the maintainer answered "fix, then PR" each time, including for the behavioral one. In every case one bounded edit, plus one recorded pass whose findings were filed rather than fixed, ended the loop. Under the deletion-only boundary only the #2338 case would have qualified, and only loosely. That suggests the rule's real value may be "one bounded edit with a filed-not-fixed final pass" for every class, keeping the maintainer's answer as the gate, rather than a wording-only exemption from asking.
Maintainer's answer (2026-10-04, at the close of the hub session that wrote #2361): the deletion-only exemption, as the revision above states. Past the second round, a finding resolved by an edit that only deletes text, with no added words, no string a test, parser or watcher matches, and no verdict or decision-text change, is fixed by that deletion. One final pass is recorded, the PR opens, and a finding against the deletion is filed rather than fixed. Anything else still goes to the maintainer. The rule's one home is local-strict-review's budget bullet, and it applies to attended and unattended seats alike. The decision label is removed, and this stays open as the work to write it.
Activity
ptr727 commentedon Oct 4, 2026
Revision after consulting the hub session. It replaces the proposal above.
The remedy is a deletion, not a filed follow-up. Filing each capped wording finding as an issue is the backlog pump #1311 describes, one more issue per park. Instead, past the second round, a wording-only finding is resolved by an edit that only deletes text: remove the offending clause or comment and add no words. One final pass is recorded so the pre-push receipt matches, and the pull request opens with the hosted reviewers as the next reader. A finding that pass raises against the deletion itself is filed rather than fixed, so the loop still ends deterministically. Deleting text cannot introduce a new claim, which is the mechanism #1311 names: each fix producing the next defect.
The boundary is judged on the edit, not on the kind of text. Agents read comments as instructions, so a false claim in a comment can be behavioral in effect. A finding qualifies only where a worker can check all three:
git diff --word-diffshows no{+...+}beyond a reflow.Under this rule a false claim gets the best treatment, since deleting it is always safe. Text that is imprecise but true has no deletion-only fix, so it is declined as
styleor parks as today. Where a deletion would leave intent undocumented in a way a reviewer has said matters, the finding is not wording-only and parks.Scope: attended and unattended alike. This is a disposition rule, so its one home is
local-strict-review's budget bullet ("Two rounds of edits answer a pass"). It is written there as maintainer-approved rule text, which also settles the tension withpr-review-conduct"Escalate to the maintainer when"'s bullet that declining a real finding is never the agent's alone: the maintainer decides it once, in the rule, rather than per finding. An unattended-only carve-out would state one rule on two surfaces, and two surfaces drift.The two behavioral parks in the data (#756, #766) still park under this version.
ptr727 commentedon Oct 4, 2026
Data from an attended hub session on 2026-10-04, four lanes (#2352, #2355, #2356, #2359), each with dispatcher-run strict passes:
Three of four lanes reached the cap, and the maintainer answered "fix, then PR" each time, including for the behavioral one. In every case one bounded edit, plus one recorded pass whose findings were filed rather than fixed, ended the loop. Under the deletion-only boundary only the #2338 case would have qualified, and only loosely. That suggests the rule's real value may be "one bounded edit with a filed-not-fixed final pass" for every class, keeping the maintainer's answer as the gate, rather than a wording-only exemption from asking.
ptr727 commentedon Oct 4, 2026
Maintainer's answer (2026-10-04, at the close of the hub session that wrote #2361): the deletion-only exemption, as the revision above states. Past the second round, a finding resolved by an edit that only deletes text, with no added words, no string a test, parser or watcher matches, and no verdict or decision-text change, is fixed by that deletion. One final pass is recorded, the PR opens, and a finding against the deletion is filed rather than fixed. Anything else still goes to the maintainer. The rule's one home is local-strict-review's budget bullet, and it applies to attended and unattended seats alike. The
decisionlabel is removed, and this stays open as the work to write it.