From 475dcb37fa1ff72cfc5d66cde50f4c8b6a6aab81 Mon Sep 17 00:00:00 2001 From: Steve Yegge Date: Tue, 23 Dec 2025 16:39:26 -0800 Subject: [PATCH] gt sling: enable wisp spawning for patrol roles (gt-jsup) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Revert IsWisp: false → true for patrol spawning. bd mol run now auto-discovers the main database for templates when --db contains .beads-wisp, so patrol molecules can spawn correctly into ephemeral storage. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- internal/cmd/sling.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/internal/cmd/sling.go b/internal/cmd/sling.go index 239ce36c..90fa2261 100644 --- a/internal/cmd/sling.go +++ b/internal/cmd/sling.go @@ -677,7 +677,7 @@ func slingToDeacon(townRoot string, target *SlingTarget, thing *SlingThing) erro patrolThing := &SlingThing{ Kind: "proto", ID: patrolIssueID, // Use the resolved beads issue ID - IsWisp: false, // Templates are in main DB, spawn there for now + IsWisp: true, // Patrol cycles are ephemeral (gt-jsup) } patrolID, _, err = spawnMoleculeFromProto(beadsPath, patrolThing, deaconAddress) if err != nil { @@ -880,7 +880,7 @@ func slingToWitness(townRoot string, target *SlingTarget, thing *SlingThing) err patrolThing := &SlingThing{ Kind: "proto", ID: patrolIssueID, // Use the resolved beads issue ID - IsWisp: false, // Templates are in main DB, spawn there for now + IsWisp: true, // Patrol cycles are ephemeral (gt-jsup) } patrolID, _, err = spawnMoleculeFromProto(beadsPath, patrolThing, witnessAddress) if err != nil { @@ -1047,7 +1047,7 @@ func slingToRefinery(townRoot string, target *SlingTarget, thing *SlingThing) er patrolThing := &SlingThing{ Kind: "proto", ID: patrolIssueID, // Use the resolved beads issue ID - IsWisp: false, // Templates are in main DB, spawn there for now + IsWisp: true, // Patrol cycles are ephemeral (gt-jsup) } patrolID, _, err = spawnMoleculeFromProto(beadsPath, patrolThing, refineryAddress) if err != nil { @@ -1230,6 +1230,7 @@ func spawnMoleculeFromProto(beadsPath string, thing *SlingThing, assignee string // Check if wisp storage exists if _, err := os.Stat(wispPath); err == nil { // Use wisp storage - pass --db to point bd at the wisp directory + // bd mol run auto-discovers the main DB for templates when --db contains .beads-wisp (gt-jsup) args = append([]string{"--db", filepath.Join(wispPath, "beads.db")}, args...) fmt.Printf(" Using ephemeral storage: %s\n", style.Dim.Render(".beads-wisp/")) } else {