From 68483794b54145b80ec366af1736264a4af59806 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Sat, 17 Oct 2026 15:00:29 -0700 Subject: [PATCH 1/2] Drop the Claim That No Worktree Outlives an Unattended Lane Co-Authored-By: Claude Opus 5.5 --- .agents/skills/unattended-handoff/SKILL.md | 11 ++++++----- .../fleet-skills/.source-digests/unattended-handoff | 2 +- .../fleet-skills/skills/unattended-handoff/SKILL.md | 11 ++++++----- .github/skills/unattended-handoff/SKILL.md | 11 ++++++----- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/.agents/skills/unattended-handoff/SKILL.md b/.agents/skills/unattended-handoff/SKILL.md index 214b28e7..807013b6 100644 --- a/.agents/skills/unattended-handoff/SKILL.md +++ b/.agents/skills/unattended-handoff/SKILL.md @@ -328,11 +328,12 @@ does not qualify, since skipping one costs nothing and a guess costs a revert an rule's issue closes, and an adopted one stays open as ordinary work, which the loop may then take, since the maintainer has judged it. 7. **Close the lane out on done.** Each pull request the lane merged into `develop` has had - `drive-pr` step 4's cleanup run, so no finished worktree or branch outlives the lane. A cleanup - that exited other than `0` is named in the close-out comment rather than finished by hand. Comment on the handoff what merged, which - issues it fixed, and what it filed along the way, the lesson issue included, then close it. An `auto-*` lane holds one - issue, so its work is complete and it is the closed-out lane `session-handoff` "The Chain" names, - needing no successor. + `drive-pr` step 4's cleanup run. A cleanup that exited other than `0` leaves its worktree or + branch standing, and the close-out comment names it rather than the worker finishing it by + hand. Comment on the handoff what merged, which issues it fixed, and what it filed along the + way, the lesson issue included, then close it. An `auto-*` lane holds one issue, so its work is + complete and it is the closed-out lane `session-handoff` "The Chain" names, needing no + successor. 8. **Save no memory**, since state lives in the chain where any session on any machine reads it. Reply with one line, and only once nothing the worker started is still running, per step 4. diff --git a/.claude-plugin/fleet-skills/.source-digests/unattended-handoff b/.claude-plugin/fleet-skills/.source-digests/unattended-handoff index 403f9fc2..39390b5a 100644 --- a/.claude-plugin/fleet-skills/.source-digests/unattended-handoff +++ b/.claude-plugin/fleet-skills/.source-digests/unattended-handoff @@ -1 +1 @@ -3f5ccf7604397e31 +5f541e7280bcb4a8 diff --git a/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md b/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md index 214b28e7..807013b6 100644 --- a/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md @@ -328,11 +328,12 @@ does not qualify, since skipping one costs nothing and a guess costs a revert an rule's issue closes, and an adopted one stays open as ordinary work, which the loop may then take, since the maintainer has judged it. 7. **Close the lane out on done.** Each pull request the lane merged into `develop` has had - `drive-pr` step 4's cleanup run, so no finished worktree or branch outlives the lane. A cleanup - that exited other than `0` is named in the close-out comment rather than finished by hand. Comment on the handoff what merged, which - issues it fixed, and what it filed along the way, the lesson issue included, then close it. An `auto-*` lane holds one - issue, so its work is complete and it is the closed-out lane `session-handoff` "The Chain" names, - needing no successor. + `drive-pr` step 4's cleanup run. A cleanup that exited other than `0` leaves its worktree or + branch standing, and the close-out comment names it rather than the worker finishing it by + hand. Comment on the handoff what merged, which issues it fixed, and what it filed along the + way, the lesson issue included, then close it. An `auto-*` lane holds one issue, so its work is + complete and it is the closed-out lane `session-handoff` "The Chain" names, needing no + successor. 8. **Save no memory**, since state lives in the chain where any session on any machine reads it. Reply with one line, and only once nothing the worker started is still running, per step 4. diff --git a/.github/skills/unattended-handoff/SKILL.md b/.github/skills/unattended-handoff/SKILL.md index 214b28e7..807013b6 100644 --- a/.github/skills/unattended-handoff/SKILL.md +++ b/.github/skills/unattended-handoff/SKILL.md @@ -328,11 +328,12 @@ does not qualify, since skipping one costs nothing and a guess costs a revert an rule's issue closes, and an adopted one stays open as ordinary work, which the loop may then take, since the maintainer has judged it. 7. **Close the lane out on done.** Each pull request the lane merged into `develop` has had - `drive-pr` step 4's cleanup run, so no finished worktree or branch outlives the lane. A cleanup - that exited other than `0` is named in the close-out comment rather than finished by hand. Comment on the handoff what merged, which - issues it fixed, and what it filed along the way, the lesson issue included, then close it. An `auto-*` lane holds one - issue, so its work is complete and it is the closed-out lane `session-handoff` "The Chain" names, - needing no successor. + `drive-pr` step 4's cleanup run. A cleanup that exited other than `0` leaves its worktree or + branch standing, and the close-out comment names it rather than the worker finishing it by + hand. Comment on the handoff what merged, which issues it fixed, and what it filed along the + way, the lesson issue included, then close it. An `auto-*` lane holds one issue, so its work is + complete and it is the closed-out lane `session-handoff` "The Chain" names, needing no + successor. 8. **Save no memory**, since state lives in the chain where any session on any machine reads it. Reply with one line, and only once nothing the worker started is still running, per step 4. From 6d21bf6ea510332eeaaa2517fafcc801d600a606 Mon Sep 17 00:00:00 2001 From: Pieter Viljoen Date: Sat, 17 Oct 2026 15:01:19 -0700 Subject: [PATCH 2/2] Name a Cleanup That Could Not Run in the Unattended Close-Out Co-Authored-By: Claude Opus 5.5 --- .agents/skills/unattended-handoff/SKILL.md | 8 ++++---- .../fleet-skills/.source-digests/unattended-handoff | 2 +- .../fleet-skills/skills/unattended-handoff/SKILL.md | 8 ++++---- .github/skills/unattended-handoff/SKILL.md | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.agents/skills/unattended-handoff/SKILL.md b/.agents/skills/unattended-handoff/SKILL.md index 807013b6..023c704f 100644 --- a/.agents/skills/unattended-handoff/SKILL.md +++ b/.agents/skills/unattended-handoff/SKILL.md @@ -327,10 +327,10 @@ does not qualify, since skipping one costs nothing and a guess costs a revert an Once answered, the label comes off per `GOVERNANCE.md` "Communicating with the User". A declined rule's issue closes, and an adopted one stays open as ordinary work, which the loop may then take, since the maintainer has judged it. -7. **Close the lane out on done.** Each pull request the lane merged into `develop` has had - `drive-pr` step 4's cleanup run. A cleanup that exited other than `0` leaves its worktree or - branch standing, and the close-out comment names it rather than the worker finishing it by - hand. Comment on the handoff what merged, which issues it fixed, and what it filed along the +7. **Close the lane out on done.** Each pull request the lane merged into `develop` is cleaned up + per `drive-pr` step 4. A cleanup that could not run, or exited other than `0`, is named in the + close-out comment with its output, rather than finished by hand. Comment on the handoff what + merged, which issues it fixed, and what it filed along the way, the lesson issue included, then close it. An `auto-*` lane holds one issue, so its work is complete and it is the closed-out lane `session-handoff` "The Chain" names, needing no successor. diff --git a/.claude-plugin/fleet-skills/.source-digests/unattended-handoff b/.claude-plugin/fleet-skills/.source-digests/unattended-handoff index 39390b5a..c5aa3a50 100644 --- a/.claude-plugin/fleet-skills/.source-digests/unattended-handoff +++ b/.claude-plugin/fleet-skills/.source-digests/unattended-handoff @@ -1 +1 @@ -5f541e7280bcb4a8 +f9f7cdf131599565 diff --git a/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md b/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md index 807013b6..023c704f 100644 --- a/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md +++ b/.claude-plugin/fleet-skills/skills/unattended-handoff/SKILL.md @@ -327,10 +327,10 @@ does not qualify, since skipping one costs nothing and a guess costs a revert an Once answered, the label comes off per `GOVERNANCE.md` "Communicating with the User". A declined rule's issue closes, and an adopted one stays open as ordinary work, which the loop may then take, since the maintainer has judged it. -7. **Close the lane out on done.** Each pull request the lane merged into `develop` has had - `drive-pr` step 4's cleanup run. A cleanup that exited other than `0` leaves its worktree or - branch standing, and the close-out comment names it rather than the worker finishing it by - hand. Comment on the handoff what merged, which issues it fixed, and what it filed along the +7. **Close the lane out on done.** Each pull request the lane merged into `develop` is cleaned up + per `drive-pr` step 4. A cleanup that could not run, or exited other than `0`, is named in the + close-out comment with its output, rather than finished by hand. Comment on the handoff what + merged, which issues it fixed, and what it filed along the way, the lesson issue included, then close it. An `auto-*` lane holds one issue, so its work is complete and it is the closed-out lane `session-handoff` "The Chain" names, needing no successor. diff --git a/.github/skills/unattended-handoff/SKILL.md b/.github/skills/unattended-handoff/SKILL.md index 807013b6..023c704f 100644 --- a/.github/skills/unattended-handoff/SKILL.md +++ b/.github/skills/unattended-handoff/SKILL.md @@ -327,10 +327,10 @@ does not qualify, since skipping one costs nothing and a guess costs a revert an Once answered, the label comes off per `GOVERNANCE.md` "Communicating with the User". A declined rule's issue closes, and an adopted one stays open as ordinary work, which the loop may then take, since the maintainer has judged it. -7. **Close the lane out on done.** Each pull request the lane merged into `develop` has had - `drive-pr` step 4's cleanup run. A cleanup that exited other than `0` leaves its worktree or - branch standing, and the close-out comment names it rather than the worker finishing it by - hand. Comment on the handoff what merged, which issues it fixed, and what it filed along the +7. **Close the lane out on done.** Each pull request the lane merged into `develop` is cleaned up + per `drive-pr` step 4. A cleanup that could not run, or exited other than `0`, is named in the + close-out comment with its output, rather than finished by hand. Comment on the handoff what + merged, which issues it fixed, and what it filed along the way, the lesson issue included, then close it. An `auto-*` lane holds one issue, so its work is complete and it is the closed-out lane `session-handoff` "The Chain" names, needing no successor.