refactor: rename Ephemeral → Wisp (Steam Engine metaphor)

Wisp = ephemeral vapor produced by the Steam Engine (Gas Town).
This aligns with the metaphor:
- Claude = Fire
- Claude Code = Steam
- Gas Town = Steam Engine
- Wisps = ephemeral vapor it produces

Changes:
- types.Issue.Ephemeral → types.Issue.Wisp
- types.IssueFilter.Ephemeral → types.IssueFilter.Wisp
- JSON field: "ephemeral" → "wisp"
- CLI flag: --ephemeral → --wisp (bd cleanup)
- All tests updated

Note: SQLite column remains "ephemeral" (no migration needed).
This is a breaking change for JSON consumers using 0.33.0.

🤖 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-21 15:22:45 -08:00
parent 61361995cb
commit 358d076fde
23 changed files with 214 additions and 209 deletions

View File

@@ -27,9 +27,9 @@ func insertIssue(ctx context.Context, conn *sql.Conn, issue *types.Issue) error
sourceRepo = "." // Default to primary repo
}
ephemeral := 0
if issue.Ephemeral {
ephemeral = 1
wisp := 0
if issue.Wisp {
wisp = 1
}
pinned := 0
if issue.Pinned {
@@ -55,7 +55,7 @@ func insertIssue(ctx context.Context, conn *sql.Conn, issue *types.Issue) error
issue.EstimatedMinutes, issue.CreatedAt, issue.UpdatedAt,
issue.ClosedAt, issue.ExternalRef, sourceRepo, issue.CloseReason,
issue.DeletedAt, issue.DeletedBy, issue.DeleteReason, issue.OriginalType,
issue.Sender, ephemeral, pinned, isTemplate,
issue.Sender, wisp, pinned, isTemplate,
)
if err != nil {
// INSERT OR IGNORE should handle duplicates, but driver may still return error
@@ -90,9 +90,9 @@ func insertIssues(ctx context.Context, conn *sql.Conn, issues []*types.Issue) er
sourceRepo = "." // Default to primary repo
}
ephemeral := 0
if issue.Ephemeral {
ephemeral = 1
wisp := 0
if issue.Wisp {
wisp = 1
}
pinned := 0
if issue.Pinned {
@@ -110,7 +110,7 @@ func insertIssues(ctx context.Context, conn *sql.Conn, issues []*types.Issue) er
issue.EstimatedMinutes, issue.CreatedAt, issue.UpdatedAt,
issue.ClosedAt, issue.ExternalRef, sourceRepo, issue.CloseReason,
issue.DeletedAt, issue.DeletedBy, issue.DeleteReason, issue.OriginalType,
issue.Sender, ephemeral, pinned, isTemplate,
issue.Sender, wisp, pinned, isTemplate,
)
if err != nil {
// INSERT OR IGNORE should handle duplicates, but driver may still return error