fix: gt unsling now correctly clears hooks for remote agents (gt-yea94)
The unsling command had two bugs: 1. It used the local beads directory instead of the target agent's rig 2. It looked for status=hooked beads instead of the agent bead's hook_bead field Changes: - unsling.go: Rewrote to use agent bead's hook_bead field (matches how sling works) - unsling.go: Now uses target agent's rig beads path, not local - status.go: Prefer SQLite columns (issue.HookBead, issue.AgentState) over parsing description text, with fallback for legacy beads - beads.go: Added AgentState field to Issue struct for SQLite column access This fixes the issue where `gt unsling gastown/crew/joe` would say "no work hooked" even when gt status showed joe had a hook. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
committed by
Steve Yegge
parent
4bafbfb0f7
commit
121150b49f
@@ -103,8 +103,9 @@ type Issue struct {
|
||||
Labels []string `json:"labels,omitempty"`
|
||||
|
||||
// Agent bead slots (type=agent only)
|
||||
HookBead string `json:"hook_bead,omitempty"` // Current work attached to agent's hook
|
||||
RoleBead string `json:"role_bead,omitempty"` // Role definition bead (shared)
|
||||
HookBead string `json:"hook_bead,omitempty"` // Current work attached to agent's hook
|
||||
RoleBead string `json:"role_bead,omitempty"` // Role definition bead (shared)
|
||||
AgentState string `json:"agent_state,omitempty"` // Agent lifecycle state (spawning, working, done, stuck)
|
||||
|
||||
// Counts from list output
|
||||
DependencyCount int `json:"dependency_count,omitempty"`
|
||||
|
||||
Reference in New Issue
Block a user