When using `gt sling <formula> --on <bead>`, the wisp was bonded to the
target bead but the attached_molecule field wasn't being set in the
bead's description. This caused `gt hook` to report "No molecule
attached" even though the formula was correctly bonded.
Now both sling.go (--on mode) and sling_formula.go (standalone formula)
call storeAttachedMoleculeInBead() to record the molecule attachment
after wisp creation. This ensures gt hook can properly display molecule
progress.
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Combines three related sling improvements:
1. Auto-attach mol-polecat-work (Issue #288)
- Automatically attach work molecule when slinging to polecats
- Ensures polecats have standard guidance molecule attached
2. Fix polecat hook with molecule (Issue #197)
- Use beads.ResolveHookDir() for correct directory resolution
- Prevents bd cook from failing in polecat worktree
3. Spawn fresh polecat when target has no session
- When slinging to a dead polecat, spawn fresh one instead of failing
- Fixes stale convoys not progressing due to done polecats
- gt rig park now accepts variadic args (fixes#375)
- gt rig unpark updated for consistency
- Errors collected and reported at end
Also fixes test self-interruption bug where sling tests sent real
tmux nudges containing "Work slung: gt-wisp-xyz", causing agents
running tests to interrupt themselves. Added GT_TEST_NO_NUDGE env
var to skip nudge during tests.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>