When adding a dog, creates an agent bead with role_type:dog label.
When removing a dog, deletes the corresponding agent bead.
This enables @dogs group resolution in the mail router by allowing
queries like `bd list --type=agent --label=role_type:dog`.
Changes:
- Add DogBeadID(), DogRoleBeadID() helper functions
- Add CreateDogAgentBead() for creating dog agent beads with labels
- Add FindDogAgentBead() and DeleteDogAgentBead() for cleanup
- Add Labels field to Issue struct for label parsing
- Update ParseAgentBeadID() to handle dog bead IDs (gt-dog-<name>)
- Update IsAgentSessionBead() to include "dog" as valid role
(gt-qha0g)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Implements dog management commands:
- gt dog add <name>: Create dog in kennel with multi-rig worktrees
- gt dog remove <name>: Retire dog, cleanup worktrees
- gt dog list: Show the pack with status
- gt dog call [name]: Wake idle dog(s)
- gt dog status [name]: Show detailed dog state
Dogs are reusable workers managed by the Deacon for infrastructure tasks.
Each dog gets worktrees into all configured rigs (gastown, beads, etc.).
Includes internal/dog package with Manager and state handling (from gt-0x5og.2).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>