The swarm Manager was maintaining an in-memory map of swarms that was never persisted and duplicated state from beads. This caused stale state after restarts and confusion about source of truth. Changes: - Remove swarms map from Manager (now stateless) - Add LoadSwarm() that queries beads for swarm state - Refactor all methods to use LoadSwarm() instead of in-memory lookup - Discover workers from assigned tasks in beads - Remove obsolete unit tests that tested in-memory behavior - Keep type/state tests that do not need beads The E2E test (gt-kc7yj.4) now covers the beads integration. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
25 lines
498 B
Go
25 lines
498 B
Go
package swarm
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/steveyegge/gastown/internal/rig"
|
|
)
|
|
|
|
func TestGetWorkerBranch(t *testing.T) {
|
|
r := &rig.Rig{
|
|
Name: "test-rig",
|
|
Path: "/tmp/test-rig",
|
|
}
|
|
m := NewManager(r)
|
|
|
|
branch := m.GetWorkerBranch("sw-1", "Toast", "task-123")
|
|
expected := "sw-1/Toast/task-123"
|
|
if branch != expected {
|
|
t.Errorf("branch = %q, want %q", branch, expected)
|
|
}
|
|
}
|
|
|
|
// Note: Integration tests that require git operations and beads
|
|
// are covered by the E2E test (gt-kc7yj.4).
|