wip: simplify wisp architecture - single db with Wisp flag (bd-bkul)

Progress on eliminating separate .beads-wisp/ directory:

- Add --wisp flag to bd create (creates issue with Wisp=true)
- Update bd wisp create to use main db instead of separate wisp storage
- Update bd wisp list to query main db with Wisp filter
- Update bd wisp gc to work with main database
- Add Wisp field to RPC ListArgs for daemon mode support
- Fix terminology: use "old/abandoned" for time-based cleanup,
  reserve "stale" for graph-pressure staleness (per Gas Town taxonomy)

Still TODO:
- Finish mol squash simplification (remove cross-store logic)
- Remove runWispSquash and squashWispToPermanent functions
- Update mol burn similarly
- Deprecate .beads-wisp/ functions in internal/beads/beads.go
- Test all changes

🤖 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:31:27 -08:00
parent 5f16d10634
commit c0271aedbf
5 changed files with 135 additions and 201 deletions

View File

@@ -8,7 +8,6 @@ import (
"time"
"github.com/spf13/cobra"
"github.com/steveyegge/beads/internal/beads"
"github.com/steveyegge/beads/internal/storage"
"github.com/steveyegge/beads/internal/storage/sqlite"
"github.com/steveyegge/beads/internal/types"
@@ -21,15 +20,17 @@ var molSquashCmd = &cobra.Command{
Short: "Compress molecule execution into a digest",
Long: `Squash a molecule's wisp children into a single digest issue.
This command collects all wisp child issues of a molecule, generates
a summary digest, and optionally deletes the wisps.
This command collects all wisp child issues of a molecule (Wisp=true),
generates a summary digest, and promotes the wisps to persistent by
clearing their Wisp flag (or optionally deletes them).
The squash operation:
1. Loads the molecule and all its children
2. Filters to only wisps (ephemeral vapor from the Steam Engine)
2. Filters to only wisps (ephemeral issues with Wisp=true)
3. Generates a digest (summary of work done)
4. Creates a permanent digest issue
5. Deletes the wisps (unless --keep-children)
4. Creates a permanent digest issue (Wisp=false)
5. Clears Wisp flag on children (promotes to persistent)
OR deletes them with --delete-children
AGENT INTEGRATION:
Use --summary to provide an AI-generated summary. This keeps bd as a pure
@@ -38,12 +39,12 @@ for generating intelligent summaries. Without --summary, a basic concatenation
of child issue content is used.
This is part of the wisp workflow: spawn creates wisps,
execution happens, squash compresses the trace into an outcome.
execution happens, squash compresses the trace into an outcome (digest).
Example:
bd mol squash bd-abc123 # Squash with auto-generated digest
bd mol squash bd-abc123 --dry-run # Preview what would be squashed
bd mol squash bd-abc123 --keep-children # Create digest but keep children
bd mol squash bd-abc123 # Squash and promote children
bd mol squash bd-abc123 --dry-run # Preview what would be squashed
bd mol squash bd-abc123 --delete-children # Delete wisps after digest
bd mol squash bd-abc123 --summary "Agent-generated summary of work done"`,
Args: cobra.ExactArgs(1),
Run: runMolSquash,