refactor: Update bd pour/wisp → bd mol pour/wisp

Beads CLI restructured: pour and wisp are now subcommands of mol.
- bd pour → bd mol pour
- bd wisp → bd mol wisp

Updated all documentation, templates, and code to use new command structure.

🤖 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 23:48:50 -08:00
parent 8298ee34b5
commit bb5a78c4fa
12 changed files with 82 additions and 17 deletions

View File

@@ -459,7 +459,7 @@ func outputStartupDirective(ctx RoleContext) {
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
fmt.Println("3. Check for attached patrol: `gt mol status`")
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
fmt.Println(" - If no mol → create patrol: `bd wisp mol-witness-patrol`")
fmt.Println(" - If no mol → create patrol: `bd mol wisp mol-witness-patrol`")
case RolePolecat:
fmt.Println()
fmt.Println("---")
@@ -480,7 +480,7 @@ func outputStartupDirective(ctx RoleContext) {
fmt.Println("2. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
fmt.Println("3. Check for attached patrol: `gt mol status`")
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
fmt.Println(" - If no mol → create patrol: `bd wisp mol-refinery-patrol`")
fmt.Println(" - If no mol → create patrol: `bd mol wisp mol-refinery-patrol`")
case RoleCrew:
fmt.Println()
fmt.Println("---")
@@ -502,7 +502,7 @@ func outputStartupDirective(ctx RoleContext) {
fmt.Println("3. Check mail: `gt mail inbox` - look for 🤝 HANDOFF messages")
fmt.Println("4. Check for attached patrol: `gt mol status`")
fmt.Println(" - If mol attached → **RUN IT** (resume from current step)")
fmt.Println(" - If no mol → create patrol: `bd wisp mol-deacon-patrol`")
fmt.Println(" - If no mol → create patrol: `bd mol wisp mol-deacon-patrol`")
}
}

View File

@@ -124,15 +124,15 @@ func (c *WispGCCheck) countAbandonedWisps(rigPath string) int {
return count
}
// Fix runs bd wisp gc in each rig with abandoned wisps.
// Fix runs bd mol wisp gc in each rig with abandoned wisps.
func (c *WispGCCheck) Fix(ctx *CheckContext) error {
var lastErr error
for rigName := range c.abandonedRigs {
rigPath := filepath.Join(ctx.TownRoot, rigName)
// Run bd --no-daemon wisp gc
cmd := exec.Command("bd", "--no-daemon", "wisp", "gc")
// Run bd --no-daemon mol wisp gc
cmd := exec.Command("bd", "--no-daemon", "mol", "wisp", "gc")
cmd.Dir = rigPath
if output, err := cmd.CombinedOutput(); err != nil {
lastErr = fmt.Errorf("%s: %v (%s)", rigName, err, string(output))

View File

@@ -42,6 +42,7 @@ Town ({{ .TownRoot }})
- Mail ALWAYS uses town beads - `gt mail` routes there automatically
- Project issues use your clone's beads - `bd` commands use local `.beads/`
- Run `bd sync` to push/pull beads changes via the `beads-sync` branch
- **GitHub URLs**: Use `git remote -v` to verify repo URLs - never assume orgs like `anthropics/`
## Prefix-Based Routing

View File

@@ -66,7 +66,7 @@ gt mail inbox
gt mol attach-from-mail <mail-id>
# Step 3: Still nothing? Create patrol wisp (two-step: create then pin)
bd wisp create mol-deacon-patrol
bd mol wisp create mol-deacon-patrol
bd update <wisp-id> --status=pinned --assignee=deacon
```
@@ -135,7 +135,7 @@ 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 create mol-deacon-patrol
bd mol wisp create mol-deacon-patrol
bd update <wisp-id> --status=pinned --assignee=deacon
# Continue to first step...

View File

@@ -68,6 +68,7 @@ Town ({{ .TownRoot }})
- **Rig beads**: Project work lives in git worktrees (crew/*, polecats/*)
- The rig-level `<rig>/.beads/` is **gitignored** (local runtime state)
- Rig beads use `beads-sync` branch for multi-clone coordination
- **GitHub URLs**: Use `git remote -v` to verify repo URLs - never assume orgs like `anthropics/`
## Prefix-Based Routing

View File

@@ -39,6 +39,7 @@ Town ({{ .TownRoot }})
- You're in a project git worktree - your `.beads/` is tracked in the project repo
- The rig-level `{{ .RigName }}/.beads/` is **gitignored** (local runtime state)
- Run `bd sync` to push/pull beads changes via the `beads-sync` branch
- **GitHub URLs**: Use `git remote -v` to verify repo URLs - never assume orgs like `anthropics/`
## Prefix-Based Routing

View File

@@ -99,7 +99,7 @@ gt mail inbox
gt mol attach-from-mail <mail-id>
# Step 4: Still nothing? Create patrol wisp
bd wisp mol-witness-patrol --assignee={{ .RigName }}/witness
bd mol wisp mol-witness-patrol --assignee={{ .RigName }}/witness
```
**Hook → Execute. No exceptions.**