fix(statusline): count only polecats in mayor status bar
The mayor tmux status line was counting all gt-* sessions as polecats, including witnesses, refineries, deacon, and crew workers. Now uses categorizeSession() to properly identify only actual polecats. Also removes dead code handling gt-witness-<rig> pattern (only gt-<rig>-witness is valid). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -99,13 +99,6 @@ func categorizeSession(name string) *AgentSession {
|
||||
return session
|
||||
}
|
||||
|
||||
// Witness uses gt-witness-<rig> naming
|
||||
if strings.HasPrefix(suffix, "witness-") {
|
||||
session.Type = AgentWitness
|
||||
session.Rig = strings.TrimPrefix(suffix, "witness-")
|
||||
return session
|
||||
}
|
||||
|
||||
// Rig-level agents: gt-<rig>-<type> or gt-<rig>-crew-<name>
|
||||
parts := strings.SplitN(suffix, "-", 2)
|
||||
if len(parts) < 2 {
|
||||
@@ -125,7 +118,6 @@ func categorizeSession(name string) *AgentSession {
|
||||
// Check for other agent types
|
||||
switch remainder {
|
||||
case "witness":
|
||||
// Alternate naming gt-<rig>-witness (for compatibility)
|
||||
session.Type = AgentWitness
|
||||
return session
|
||||
case "refinery":
|
||||
|
||||
@@ -93,17 +93,17 @@ func runMayorStatusLine(t *tmux.Tmux) error {
|
||||
return nil // Silent fail
|
||||
}
|
||||
|
||||
// Count gt-* sessions (polecats) and rigs
|
||||
// Count only actual polecats (not witnesses, refineries, deacon, crew)
|
||||
polecatCount := 0
|
||||
rigs := make(map[string]bool)
|
||||
for _, s := range sessions {
|
||||
if strings.HasPrefix(s, "gt-") && s != "gt-mayor" {
|
||||
agent := categorizeSession(s)
|
||||
if agent == nil {
|
||||
continue
|
||||
}
|
||||
if agent.Type == AgentPolecat {
|
||||
polecatCount++
|
||||
// Extract rig name: gt-<rig>-<worker>
|
||||
parts := strings.SplitN(s, "-", 3)
|
||||
if len(parts) >= 2 {
|
||||
rigs[parts[1]] = true
|
||||
}
|
||||
rigs[agent.Rig] = true
|
||||
}
|
||||
}
|
||||
rigCount := len(rigs)
|
||||
|
||||
Reference in New Issue
Block a user