Repository navigation
Keep an Unattended Run Moving: Hand a Spent Edit Budget to the PR, and Narrow a Blocked Promotion to Develop #2534
Copy link
Copy link
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Problem
The maintainer's direction, in their words: "i want the cause fixed, they should not stop and ask, they should park the ask and then move on, interrupting the unattended session is counterproductive".
A run of unattended-handoff on 2026-10-07 and 2026-10-08 finished no lane in its first three rounds. Every worker parked, and the run then stopped. Two rules caused that, and neither case was a choice only the maintainer could make.
- Spending the local edit budget is treated as a maintainer decision.
local-strict-review"Disposing of Findings" says that where anintroducedfinding is still open after the second round, "what remains goes to the maintainer", perpr-review-conduct"Escalate to the maintainer when". For a subagent, that section says it "escalates to whoever dispatched it and stops that unit of work there". So Decide Whether a Note-Stripped File-Table Row Counts as Coverage on Its Own (auto-2251) #2522 and Decide How to Finish Design Before Code After the Local Review Budget Ran Out #2525 each parked a lane whose fixes the worker had already written out. The maintainer's answer to both was just to apply the worker's own recommendation. - A blocked promotion stops the whole run. Under scope
mainorrelease, the picker returnsSTOPwhere an opendecisionissue blocks the develop -> main pull request (Decision: Merge Promotion #2532 Over pr_review.py's Unrecognized Overview Block (#2480) #2533 on Promote develop to main: Gate Prose on the Merge Commit's Own Base #2532). So one parked promotion ends every later round, even rounds that could merge their own work to develop.
Change
- The edit budget running out is not an escalation. In
local-strict-review"Disposing of Findings", when the second round leaves anintroducedfinding open, editing stops and the remaining findings go to the pull request rather than to the maintainer. The worker opens or updates the pull request with each remaining finding listed in its body, so the hosted review disposes of them underpr-review-conduct. The budget still bounds local editing, which is what itsWhy:line protects. Escalation stays for the casespr-review-conduct"Escalate to the maintainer when" lists by nature: a genuine design trade-off, a finding judged real but not to be fixed, and an architectural redesign. Running out of budget is none of those. - A blocked promotion narrows the run to develop instead of stopping it. In
unattended-handoff, the picker's promotion check stops returningSTOPand picks as usual. A worker that finds the open promotion blocked by adecisionissue merges its own pull request to develop and closes its lane out, leaving its issue to close when the promotion merges. That holds undermainorrelease. It does not open, merge, or release a promotion while that decision is open.STOPstays for states no round can work around, such as a missing label, an exhausted reviewer quota, or a refused push. - Make parking, not stopping, the default stated once.
unattended-handoff"The Worker" gets one line: a worker parks only on a choice only the maintainer can make, and anything with a determined outcome is applied or handed to the pull request's review instead.
Related
#2480 is the third cause seen in that run: pr_review.py cannot read Copilot's collapsible "N open findings" block, so a promotion parks on it (#2533). Fixing #2480 removes that one, and it is ordinary auto-resolvable work.
Done when
local-strict-review,pr-review-conductwhere it restates the budget, andunattended-handoffsay the above, regenerated withbuild_dist.py.- No skill sends a worker's spent edit budget to the maintainer as a decision.
- A picker never returns
STOPonly because a decision blocks the promotion.
🤖 Generated with Claude Code
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Activity
Hand a Spent Edit Budget to the PR, and Narrow a Blocked Promotion to…
Promote develop to main: Keep Unattended Runs Moving and Merge Covere…