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:
Steve Yegge
2025-12-29 14:02:45 -08:00
parent 99b978e547
commit c6ba5361ad
3 changed files with 12 additions and 13 deletions

View File

@@ -1096,14 +1096,14 @@ func getAgentFields(ctx RoleContext, state string) *beads.AgentFields {
RoleType: "crew",
Rig: ctx.Rig,
AgentState: state,
RoleBead: fmt.Sprintf("gt-crew-%s-%s-role", ctx.Rig, ctx.Polecat),
RoleBead: "gt-crew-role",
}
case RolePolecat:
return &beads.AgentFields{
RoleType: "polecat",
Rig: ctx.Rig,
AgentState: state,
RoleBead: fmt.Sprintf("gt-polecat-%s-%s-role", ctx.Rig, ctx.Polecat),
RoleBead: "gt-polecat-role",
}
case RoleMayor:
return &beads.AgentFields{
@@ -1122,14 +1122,14 @@ func getAgentFields(ctx RoleContext, state string) *beads.AgentFields {
RoleType: "witness",
Rig: ctx.Rig,
AgentState: state,
RoleBead: fmt.Sprintf("gt-witness-%s-role", ctx.Rig),
RoleBead: "gt-witness-role",
}
case RoleRefinery:
return &beads.AgentFields{
RoleType: "refinery",
Rig: ctx.Rig,
AgentState: state,
RoleBead: fmt.Sprintf("gt-refinery-%s-role", ctx.Rig),
RoleBead: "gt-refinery-role",
}
default:
return nil