Repository navigation
Narrow the Unattended Picker's Promotion Stop and Worker Decision Read - #2185
Conversation
An adopted lesson issue keeps the options it was filed with after its decision label comes off, so the Auto-Resolvable test now counts a choice as closed once the maintainer's answer is recorded on the issue. The picker's promotion STOP now matches only a decision issue stating that it blocks the open develop -> main pull request, the wording Parking step 2 already requires, rather than any issue naming it. A resuming worker now follows only the decision issue the parking comment names as what the lane waits on, and neither follows nor parks on a lesson issue the same comment names. Closes on promotion: #1812
The promotion STOP now also reads comments on a decision issue, since Parking step 2's reuse path records a newly blocked pull request as a comment. A choice overtaken at triage counts as closed like an answered one. The parking comment names the decision it waits on apart from any lesson issue, and a worker resuming a lane whose waited-on decision has no answer finishes parking rather than proceeding.
A choice now counts as closed only once the issue's decision label has come off with the answer or reason recorded, so a comment from anyone without triage rights cannot close one. A resuming worker treats the lane as interrupted mid-park only where the parking comment is on the current link and its decision still carries the label, and checks that before following the recorded answer or reason.
The Auto-Resolvable test returns to its original wording, since telling an adopted lesson apart from an issue that never carried decision needs a signal the picker can read, which is now its own decision. The promotion check names its read with an explicit limit and the full-page check, and worker step 1 acts on the newest parking comment only where it names a decision issue.
Worker step 1 returns to following the answer on the decision issue the lane waits on, the interrupted-park branch having drawn a finding in every pass without being part of what the change set out to fix. The promotion check reads each open decision issue's body and comments through --json, since gh issue view --comments prints no body when it runs without a terminal.
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Repository: ptr727/ProjectTemplate/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID:
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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #2185 +/- ##
========================================
Coverage 56.47% 56.47%
========================================
Files 16 16
Lines 7455 7455
========================================
Hits 4210 4210
Misses 3245 3245
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:
|
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The prose-only narrowing is internally consistent, the generated mirrors and digest match the source, and the sole finding is an optional line-wrap nit that does not block approval.
Review effort: Balanced
Findings: 1
Open (1)
What changed in this PR
This PR narrows two over-broad matches in the unattended-handoff skill so the unattended loop stops and resumes on the right signals. The picker's promotion STOP now fires only when an open decision issue actually states it blocks the open develop -> main promotion PR (in body or a comment), rather than any issue that merely names the promotion, and a resuming worker follows only the decision issue the parking comment names as what the lane waits on, ignoring any lesson issue the same comment cites. The hand-authored source lives in .agents/skills/; the .github/skills/ and .claude-plugin/fleet-skills/ mirrors plus the source digest are regenerated from it.
Changes:
- Picker step 1:
STOPonly on adecisionissue stating it blocks the promotion PR, read viagh issue list --json number,body,commentsunder step 2's full-page check. - Worker step 1 and Parking step 3: separate the waited-on decision issue from any lesson issue named in the same parking comment.
- Regenerated the two SKILL.md mirrors and updated the source digest.
| File | Description |
|---|---|
.agents/skills/unattended-handoff/SKILL.md |
Canonical source: narrows the picker's promotion STOP and the worker's decision-issue read. |
.github/skills/unattended-handoff/SKILL.md |
Generated mirror, byte-identical to source. |
.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md |
Generated mirror, byte-identical to source. |
.claude-plugin/fleet-skills/.source-digests/unattended-handoff |
Regenerated digest (31784baf190feb5b), verified to match the source tree. |
Verification notes: the three SKILL.md copies are byte-identical, the stored digest reproduces build_dist.py's tree_digest exactly, the text is ASCII-clean with no mid-sentence semicolons or bare issue refs, and the internal cross-references all resolve. The deferred gaps (#2183, #2184) are documented as out of scope. The only finding is a minor, optional wrap-consistency nit on line 203.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
It is a narrow, internally consistent documentation edit whose generated mirrors and source digest were verified in sync with the authored source, with no defects found.
Review effort: Balanced
Findings: None
Resolved since last review (1)
… and Narrow the Unattended Picker (#2189) ## Summary Promotes develop to main, carrying [#2185](#2185) and [#2188](#2188). - **#2188** stops `scripts/pr_review.py status` from exiting 43 on a clean Copilot review whose overview lists its changes as bold-led bullets inside the collapsed `What changed in this PR` block, which a promotion's overview does. The narrative block's own content is blanked before metadata labels are vetted, while every other label is still vetted in the same order. Markup cases left out are filed as #2187, and an older `details_spans` duplication as #2186. - **#2185** narrows the `unattended-handoff` picker's promotion STOP to a `decision` issue stating, in its body or a comment, that it blocks the open promotion. The picker now reads those issues as JSON so their bodies are visible. A resuming worker follows only the decision its lane waits on, never a lesson issue the same parking comment names. The adopted-lesson stall is now decision #2183, and the remaining loop gaps are #2184. Fixes #2182 Fixes #1812 🤖 Generated with [Claude Code](https://claude.com/claude-code)

Narrows two over-broad matches in the
unattended-handoffskill.decisionissue stating, in its body or in a comment on it, that it blocks the open develop -> main pull request. That is the wording "Parking" step 2 already requires. Before, it fired on any issue that named the promotion, so a lesson citing it stopped everymainorreleaserun. The step also names its read,--json number,body,commentsunder the full-page check, becausegh issue view --commentsprints no body when run without a terminal.Out of scope, by the maintainer's choice after five local review passes (4, 2, 4, 4 and 1 findings):
Closes on promotion: #1812
🤖 Generated with Claude Code