refactor: split gt sling into gt hook + gt handoff <bead> (gt-z4bw)

- Add gt hook <bead>: durability primitive, attaches work to hook
- Update gt handoff: accept optional bead arg (detects bead vs role)
- Deprecate gt sling: shows warning, points to new commands
- Update doctor fix hint to reference new commands

🤖 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-24 20:41:51 -08:00
parent c4dda5c055
commit 32cac078e5
5 changed files with 271 additions and 14 deletions

View File

@@ -13,17 +13,20 @@ import (
)
var slingCmd = &cobra.Command{
Use: "sling <bead-id>",
Short: "Attach work to hook and restart agent",
Long: `Sling work onto the agent's hook and restart with that context.
Use: "sling <bead-id>",
Short: "[DEPRECATED] Use 'gt hook' or 'gt handoff <bead>' instead",
Deprecated: "Use 'gt hook <bead>' to attach work, or 'gt handoff <bead>' to attach and restart.",
Long: `DEPRECATED: This command is deprecated. Use instead:
gt hook <bead> # Just attach work to hook (no restart)
gt handoff <bead> # Attach work AND restart (what sling did)
Sling work onto the agent's hook and restart with that context.
This is the "restart-and-resume" mechanism - attach a bead (issue) to your hook,
then restart with a fresh context. The new session wakes up, finds the slung work
on its hook, and begins working on it immediately.
The wisp is ephemeral (stored in .beads-wisp/, not git-tracked). It's burned
after the agent picks it up.
Examples:
gt sling gt-abc # Attach issue and restart
gt sling gt-abc -s "Fix the bug" # With handoff subject