Repository navigation
Give backlog-burndown a Disposition for a Standalone Clone and Keep the Agent-Safety Hold Past a Park - #3832
Conversation
…he Agent-Safety Hold Past a Park A worker that falls back to a standalone clone records its path on the claim comment at once, so a dead worker's clone stays findable. Cleanup gains a clone paragraph: the clone must be clean, and its tip must equal the remote tip to be retired alone, or be on origin/develop to be removed with its branch. The dead-worker, abandoned, resume, and away-mode retire paths cite it, since git worktree remove errors on a clone path. Releasing a parked group never lifts the away-mode agent-safety hold, so that work resumes only in an attended run, and the report names it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The worker records the clone's directory name before cloning, never the temporary root, whose path can name the local account. The clone paragraph says why the abandoned discard does not run there, orders the directory delete before the remote delete and release, and treats a reaped clone as retired. A failed clone retire stops a dead worker's group, and the stop prompt asks whether a clone holds commits the remote lacks. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…Maintainer A missing clone now fails the clean check and goes to the maintainer, since a later session cannot tell a reaped clone from one under a root it never saw. Deleting a clone strikes its recorded name from the claim comments. The stop prompt says pushing or removing a clone's unpushed commits is the maintainer's, and the resume retires the clone once that is done. The guard reason for skipping the abandoned discard is deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
🟡 Changes recommended
Active critical findings remain around remote-branch verification and deletion ordering, away-mode release consistency, and preserving unpushed branches, with additional wording issues about claim cleanup and temporary-root disclosure.
5 open issues
What changed in this PR
This pull request updates backlog-burndown to track and safely dispose of standalone worker clones across failure, abandonment, resumption, and away-mode paths. It also preserves the away-mode hold for agent-safety changes and regenerates distributed skill copies.
Changes:
- Records standalone clone names in claim comments and defines cleanup and branch-validation rules.
- Updates dead-worker, abandoned-group, resume, and away-mode procedures.
- Keeps agent-safety work held until an attended run.
- Regenerates the GitHub and Claude skill copies and source digest.
This pull request requires changes.
| File | Description |
|---|---|
.github/skills/backlog-burndown/SKILL.md |
Generated GitHub Copilot skill distribution. |
.claude-plugin/fleet-skills/skills/backlog-burndown/SKILL.md |
Generated Claude fleet skill distribution. |
.claude-plugin/fleet-skills/.source-digests/backlog-burndown |
Updated source digest for the regenerated skill. |
.agents/skills/backlog-burndown/SKILL.md |
Canonical procedures for standalone-clone tracking, cleanup, resumption, and agent-safety holds. |
Review effort: Lite
…efore a Clone Resume The abandoned clone's remote checks and delete now run before its directory goes, so a failed check still leaves the clone standing. The recorded name is removed rather than struck. A resumed clone waits for the maintainer to push what the remote lacks, since a removal alone leaves no remote branch to attach. The claim comment now says only that it carries the name rather than the path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## develop #3832 +/- ##
===========================================
+ Coverage 81.60% 82.97% +1.36%
===========================================
Files 26 29 +3
Lines 9070 9741 +671
===========================================
+ Hits 7402 8083 +681
+ Misses 1668 1658 -10
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:
|
…k for a Branch Push The is-ancestor check and the pushed-branch remote delete now apply only to a clone removed with its branch and no merged pull request, so a retired clone's branch is never deleted. The stop prompt asks whether the remote lacks any of the clone's branch, and the resume waits for that push. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ush on the Park Away-mode step 2 runs the retire-alone checks on a clone and leaves one failing them parked, as it does a dirty tree. The park's state comment says whether the remote lacks a clone's branch. The resume waits until the remote holds the branch, and the release sentence is scoped to a clone with no merged pull request. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
The release on deleting a clone is limited to one removed with its branch and no merged pull request, so a clone retired alone keeps its claim for the fresh worker. A later run that named another temporary root cannot find the clone, and its group goes to the maintainer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The retire-alone remote-tip read now runs with git -C <clone>, so it uses the origin the clone was made from rather than the caller's directory. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |
…ecks The stop prompt, the resume, and the away park comment now say whether a clone's tip equals the remote tip, the test the retire-alone check applies, rather than whether the remote lacks any of its branch. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
A recorded local strict-review pass covers head |


Summary
Gives
backlog-burndowna disposition for a worker's standalone clone on every path that retires or removes one, and states that releasing a parked group never lifts the away-mode agent-safety hold.repo-worktreestandalone-clone fallback records the clone's directory name on its group's claim comments before cloning, keeping the claim opening. The brief names the temporary root, which is never posted. This is what lets the orchestrator find a dead worker's clone.origin/develop. The directory is deleted perrepo-worktree, and its recorded name is removed from the claim comments. Any failed check leaves the clone standing and stops the group. The abandoned-worker discard does not run in a clone.git worktree removeerrors on a clone path). The stop prompt says whether a clone holds commits the remote lacks, and pushing or removing them is the maintainer's.host-setup/agent-safety/, so such a group resumes only in an attended run and the report names it as held. "Parking Instead of Asking" defers to "Ranking" there.Generated copies regenerated with
scripts/build_dist.py.Closes on promotion: #3771, #3794, #3825
Findings from the local passes
Each finding the pass on the first push left open has an outcome. Each one the hosted round raised is answered in its thread.
Resume bullet,
introduced: a removed or never-pushed clone could never pass the retire-alone check. Fixed in 1573113 and cb8addf: the resume waits until the remote holds the clone's branch.Dispatch bullet,
introduced: "That root is never posted" was false. Fixed in 1573113 by deleting the claim.Clone paragraph,
introduced: "strikes its recorded name". Fixed in 1573113 ("removes").Clone paragraph,
introduced: the release also reached a clone retired alone, and a later run could not find a clone under a root it never named. Fixed in 873a9b7: a clone retired alone keeps its claim, and the paragraph says a later run that named another root sends the group to the maintainer.Clone paragraph,
introduced: the retire-alonels-remoteread the caller'sorigin. Fixed in dee2602 (git -C <clone> ls-remote).Clone paragraph retire-alone check, stop bullet, and park step 4,
introduced: the check needs tip equality while the prompt and park comment asked whether the remote lacked any of the branch. Fixed in 1cafaa2: all three now say whether the clone's tip equals the remote tip.Pre-existing findings, filed
pre-existing: it requires tip equality withheadRefOidwhererepo-worktreeaccepts a tip at or behind it. Filed on the unit tracker .agents/skills/backlog-burndown/SKILL.md > Dispatching a Worker #3833.Deferred, filed
🤖 Generated with Claude Code