Files
gastown/internal/cmd/prime_test.go
gastown/crew/george 60ecf1ff76 refactor: migrate callers from deprecated MayorBeadID/DeaconBeadID to Town variants (gt-gbw0a)
Update all callers of deprecated MayorBeadID()/DeaconBeadID() to use
MayorBeadIDTown()/DeaconBeadIDTown() which return hq- prefix IDs for
town-level beads storage.

Changes:
- internal/daemon/lifecycle.go: identityToAgentBeadID and checkStaleAgents
- internal/cmd/prime.go: getAgentBeadID
- internal/cmd/molecule_status.go: buildAgentBeadID
- internal/cmd/prime_test.go: update expected values to hq-*
- Comments updated to reflect hq- prefix for town-level agents

The deprecated functions remain for backward compatibility and are used
by the migration tool (migrate_agents.go).

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-03 21:53:30 -08:00

98 lines
1.8 KiB
Go

package cmd
import (
"os"
"path/filepath"
"testing"
"github.com/steveyegge/gastown/internal/beads"
)
func writeTestRoutes(t *testing.T, townRoot string, routes []beads.Route) {
t.Helper()
beadsDir := filepath.Join(townRoot, ".beads")
if err := os.MkdirAll(beadsDir, 0755); err != nil {
t.Fatalf("create beads dir: %v", err)
}
if err := beads.WriteRoutes(beadsDir, routes); err != nil {
t.Fatalf("write routes: %v", err)
}
}
func TestGetAgentBeadID_UsesRigPrefix(t *testing.T) {
townRoot := t.TempDir()
writeTestRoutes(t, townRoot, []beads.Route{
{Prefix: "bd-", Path: "beads/mayor/rig"},
})
cases := []struct {
name string
ctx RoleContext
want string
}{
{
name: "mayor",
ctx: RoleContext{
Role: RoleMayor,
TownRoot: townRoot,
},
want: "hq-mayor",
},
{
name: "deacon",
ctx: RoleContext{
Role: RoleDeacon,
TownRoot: townRoot,
},
want: "hq-deacon",
},
{
name: "witness",
ctx: RoleContext{
Role: RoleWitness,
Rig: "beads",
TownRoot: townRoot,
},
want: "bd-beads-witness",
},
{
name: "refinery",
ctx: RoleContext{
Role: RoleRefinery,
Rig: "beads",
TownRoot: townRoot,
},
want: "bd-beads-refinery",
},
{
name: "polecat",
ctx: RoleContext{
Role: RolePolecat,
Rig: "beads",
Polecat: "lex",
TownRoot: townRoot,
},
want: "bd-beads-polecat-lex",
},
{
name: "crew",
ctx: RoleContext{
Role: RoleCrew,
Rig: "beads",
Polecat: "lex",
TownRoot: townRoot,
},
want: "bd-beads-crew-lex",
},
}
for _, tc := range cases {
t.Run(tc.name, func(t *testing.T) {
got := getAgentBeadID(tc.ctx)
if got != tc.want {
t.Fatalf("getAgentBeadID() = %q, want %q", got, tc.want)
}
})
}
}