fix(rig): check witness/state.json instead of witness/rig (gm-2ej)
Witnesses don't have git clones like other agents. The detection was checking for witness/rig which doesn't exist. Now correctly checks for witness/state.json which is created by AddRig. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -128,9 +128,9 @@ func (m *Manager) loadRig(name string, entry config.RigEntry) (*Rig, error) {
|
||||
}
|
||||
}
|
||||
|
||||
// Check for witness
|
||||
witnessPath := filepath.Join(rigPath, "witness", "rig")
|
||||
if _, err := os.Stat(witnessPath); err == nil {
|
||||
// Check for witness (witnesses don't have clones, just state.json)
|
||||
witnessStatePath := filepath.Join(rigPath, "witness", "state.json")
|
||||
if _, err := os.Stat(witnessStatePath); err == nil {
|
||||
rig.HasWitness = true
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,12 @@ func createTestRig(t *testing.T, root, name string) {
|
||||
}
|
||||
}
|
||||
|
||||
// Create witness state.json (witnesses don't have clones, just state)
|
||||
witnessState := filepath.Join(rigPath, "witness", "state.json")
|
||||
if err := os.WriteFile(witnessState, []byte(`{"role":"witness"}`), 0644); err != nil {
|
||||
t.Fatalf("write witness state: %v", err)
|
||||
}
|
||||
|
||||
// Create some polecats
|
||||
polecatsDir := filepath.Join(rigPath, "polecats")
|
||||
for _, polecat := range []string{"Toast", "Cheedo"} {
|
||||
|
||||
@@ -37,11 +37,12 @@ type Rig struct {
|
||||
}
|
||||
|
||||
// AgentDirs are the standard agent directories in a rig.
|
||||
// Note: witness doesn't have a /rig subdirectory (no clone needed).
|
||||
var AgentDirs = []string{
|
||||
"polecats",
|
||||
"crew",
|
||||
"refinery/rig",
|
||||
"witness/rig",
|
||||
"witness",
|
||||
"mayor/rig",
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user