From f2c76304e9453b3fbc1534d81d66047e2b1dd0e7 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Mon, 29 Dec 2025 13:42:15 -0800 Subject: [PATCH] fix: Agent beads now reference shared role beads MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit crew_add.go: Use gt-crew-role instead of per-instance role bead polecat/manager.go: Add RoleBead field pointing to gt-polecat-role Per agent-as-bead design, role beads are shared class definitions. Each agent bead references its role via the role_bead field/slot. Fixes gt-ne9he 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- internal/cmd/crew_add.go | 2 +- internal/polecat/manager.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/cmd/crew_add.go b/internal/cmd/crew_add.go index 81e68253..39daaae1 100644 --- a/internal/cmd/crew_add.go +++ b/internal/cmd/crew_add.go @@ -88,7 +88,7 @@ func runCrewAdd(cmd *cobra.Command, args []string) error { RoleType: "crew", Rig: rigName, AgentState: "idle", - RoleBead: crewID + "-role", + RoleBead: "gt-crew-role", } desc := fmt.Sprintf("Crew worker %s in %s - human-managed persistent workspace.", name, rigName) if _, err := bd.CreateAgentBead(crewID, desc, fields); err != nil { diff --git a/internal/polecat/manager.go b/internal/polecat/manager.go index 195fdf2a..f57afb5f 100644 --- a/internal/polecat/manager.go +++ b/internal/polecat/manager.go @@ -221,6 +221,7 @@ func (m *Manager) Add(name string) (*Polecat, error) { RoleType: "polecat", Rig: m.rig.Name, AgentState: "spawning", + RoleBead: "gt-polecat-role", }) if err != nil { // Non-fatal - log warning but continue @@ -427,6 +428,7 @@ func (m *Manager) Recreate(name string, force bool) (*Polecat, error) { RoleType: "polecat", Rig: m.rig.Name, AgentState: "spawning", + RoleBead: "gt-polecat-role", }) if err != nil { fmt.Printf("Warning: could not create agent bead: %v\n", err)