feat: add bd slot commands for agent bead slot management (gt-h5sza)

Add slot management commands:
- bd slot set <agent> <slot> <bead> - set slot (error if occupied)
- bd slot clear <agent> <slot> - clear slot
- bd slot show <agent> - show all slots

These enforce cardinality constraints for agent bead slots.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-28 00:11:22 -08:00
parent 46cdf075d4
commit ecff74e2af
6 changed files with 496 additions and 1 deletions

View File

@@ -126,6 +126,9 @@ type UpdateArgs struct {
Pinned *bool `json:"pinned,omitempty"` // If true, issue is a persistent context marker
// Reparenting field (bd-cj2e)
Parent *string `json:"parent,omitempty"` // New parent issue ID (reparents the issue)
// Agent slot fields (gt-h5sza)
HookBead *string `json:"hook_bead,omitempty"` // Current work on agent's hook (0..1)
RoleBead *string `json:"role_bead,omitempty"` // Role definition bead for agent
}
// CloseArgs represents arguments for the close operation

View File

@@ -101,6 +101,13 @@ func updatesFromArgs(a UpdateArgs) map[string]interface{} {
if a.Pinned != nil {
u["pinned"] = *a.Pinned
}
// Agent slot fields (gt-h5sza)
if a.HookBead != nil {
u["hook_bead"] = *a.HookBead
}
if a.RoleBead != nil {
u["role_bead"] = *a.RoleBead
}
return u
}