diff --git a/internal/storage/sqlite/ready.go b/internal/storage/sqlite/ready.go index 29604142..7be64097 100644 --- a/internal/storage/sqlite/ready.go +++ b/internal/storage/sqlite/ready.go @@ -17,7 +17,8 @@ import ( // Excludes pinned issues which are persistent anchors, not actionable work (bd-92u) func (s *SQLiteStorage) GetReadyWork(ctx context.Context, filter types.WorkFilter) ([]*types.Issue, error) { whereClauses := []string{ - "i.pinned = 0", // Exclude pinned issues (bd-92u) + "i.pinned = 0", // Exclude pinned issues (bd-92u) + "(i.ephemeral = 0 OR i.ephemeral IS NULL)", // Exclude wisps (hq-t15s) } args := []interface{}{} diff --git a/internal/storage/sqlite/schema.go b/internal/storage/sqlite/schema.go index 898b13f4..3eb19f45 100644 --- a/internal/storage/sqlite/schema.go +++ b/internal/storage/sqlite/schema.go @@ -230,6 +230,7 @@ WITH RECURSIVE SELECT i.* FROM issues i WHERE i.status = 'open' + AND (i.ephemeral = 0 OR i.ephemeral IS NULL) AND NOT EXISTS ( SELECT 1 FROM blocked_transitively WHERE issue_id = i.id );