From dbb8f185bdafce9f4facfc7b273a9db9c5c668ac Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Mon, 22 Dec 2025 23:40:28 -0800 Subject: [PATCH] Extend auto-continue to polecats (gt-rp0k) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Rename outputCrewAttachmentStatus to outputAttachmentStatus and extend to support both RoleCrew and RolePolecat. The Propulsion Principle ("If you find something on your hook, YOU RUN IT.") now applies to all worker types, not just crew. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- internal/cmd/prime.go | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/internal/cmd/prime.go b/internal/cmd/prime.go index 3a47f108..5b4fdcd7 100644 --- a/internal/cmd/prime.go +++ b/internal/cmd/prime.go @@ -92,8 +92,8 @@ func runPrime(cmd *cobra.Command, args []string) error { // Output handoff content if present outputHandoffContent(ctx) - // Output crew attachment status (for autonomous work detection) - outputCrewAttachmentStatus(ctx) + // Output attachment status (for autonomous work detection) + outputAttachmentStatus(ctx) // Output molecule context if working on a molecule step outputMoleculeContext(ctx) @@ -497,18 +497,25 @@ func runMailCheckInject(workDir string) { } } -// outputCrewAttachmentStatus checks for attached work molecule and outputs status. +// outputAttachmentStatus checks for attached work molecule and outputs status. // This is key for the autonomous overnight work pattern. -func outputCrewAttachmentStatus(ctx RoleContext) { - if ctx.Role != RoleCrew { +// The Propulsion Principle: "If you find something on your hook, YOU RUN IT." +func outputAttachmentStatus(ctx RoleContext) { + if ctx.Role != RoleCrew && ctx.Role != RolePolecat { return } // Check for pinned beads with attachments b := beads.New(ctx.WorkDir) - // Build assignee string for crew worker - assignee := fmt.Sprintf("%s/crew/%s", ctx.Rig, ctx.Polecat) + // Build assignee string based on role + var assignee string + switch ctx.Role { + case RoleCrew: + assignee = fmt.Sprintf("%s/crew/%s", ctx.Rig, ctx.Polecat) + case RolePolecat: + assignee = fmt.Sprintf("%s/%s", ctx.Rig, ctx.Polecat) + } // Find pinned beads for this agent pinnedBeads, err := b.List(beads.ListOptions{