fix: Use shared role beads consistently
All agent bead creation now uses shared role beads: - gt-mayor-role, gt-deacon-role - gt-witness-role, gt-refinery-role - gt-crew-role, gt-polecat-role Previous code created per-instance role bead references like gt-witness-gastown-role which is wrong. Role beads are shared class definitions, not per-instance. Files fixed: - internal/rig/manager.go - internal/doctor/agent_beads_check.go - internal/cmd/prime.go 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -454,15 +454,14 @@ func (m *Manager) initAgentBeads(rigPath, rigName, prefix string, isFirstRig boo
|
||||
continue // Already exists
|
||||
}
|
||||
|
||||
// RoleBead establishes the canonical bead ID for this agent's role definition.
|
||||
// The bead may not exist yet - this declares the naming convention so tooling
|
||||
// (like gt doctor) can check for missing role beads and scaffold them.
|
||||
// RoleBead points to the shared role definition bead for this agent type.
|
||||
// Role beads are shared: gt-witness-role, gt-refinery-role, etc.
|
||||
fields := &beads.AgentFields{
|
||||
RoleType: agent.roleType,
|
||||
Rig: agent.rig,
|
||||
AgentState: "idle",
|
||||
HookBead: "",
|
||||
RoleBead: agent.id + "-role",
|
||||
RoleBead: "gt-" + agent.roleType + "-role",
|
||||
}
|
||||
|
||||
if _, err := bd.CreateAgentBead(agent.id, agent.desc, fields); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user