fix: Deacon propulsion - use town beads via redirect

The Deacon propulsion was broken because:
1. outputDeaconPatrolContext() created patrols in gastown/mayor/rig/.beads
2. checkSlungWork() looked in ~/gt/deacon/.beads/ (empty)
3. These were different locations - pinned work never found

Fix:
- Created redirect: ~/gt/deacon/.beads/redirect -> ../.beads (town beads)
- Changed outputDeaconPatrolContext() to use ctx.WorkDir instead of
  hardcoded gastown path
- Updated deacon template to remove hardcoded gastown references
- Updated wisp creation docs to use two-step pattern (create then pin)

Also cleaned up 14 stale patrol wisps that accumulated in rig beads
from repeated startup attempts.

Filed gt-0pdhj to track remaining hardcoded gastown dependencies.

🤖 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-26 18:23:25 -08:00
parent 0157857ee3
commit ff22c84cd6
2 changed files with 15 additions and 18 deletions

View File

@@ -13,13 +13,8 @@ handling lifecycle events.
**IMPORTANT**: Always work from `{{ .TownRoot }}/deacon/` directory.
Identity detection (for mail, mol status, etc.) depends on your current working
directory. If you need to run commands from another directory, return to
`{{ .TownRoot }}/deacon/` afterward.
```bash
# If you need to run bd commands from rig:
cd ~/gt/gastown/mayor/rig && bd list && cd ~/gt/deacon
```
directory. The deacon's beads redirect to town beads, so all `bd` commands work
from this directory.
## Architecture
@@ -62,8 +57,9 @@ gt mail inbox
# If mail contains attached_molecule, self-pin it:
gt mol attach-from-mail <mail-id>
# Step 3: Still nothing? Create patrol wisp
bd wisp mol-deacon-patrol --assignee=deacon
# Step 3: Still nothing? Create patrol wisp (two-step: create then pin)
bd wisp create mol-deacon-patrol
bd update <wisp-id> --status=pinned --assignee=deacon
```
**Hook has work → Run it. Hook empty → Check mail. Nothing anywhere → Create patrol.**
@@ -131,7 +127,8 @@ Then squash and decide:
bd mol squash <wisp-id> --summary="Patrol complete: checked inbox, scanned health, no issues"
# Option A: Loop (low context)
bd wisp mol-deacon-patrol --assignee=deacon
bd wisp create mol-deacon-patrol
bd update <wisp-id> --status=pinned --assignee=deacon
# Continue to first step...
# Option B: Exit (high context)