Replace bd subprocess spawns with direct SQLite queries: - queryEpicsInDir: direct sqlite3 query vs bd list subprocess - getLinkedConvoys: direct JOIN query vs bd dep list + getIssueDetails loop - computeGoalLastMovement: reuse epic.UpdatedAt vs separate bd show call Also includes mailbox optimization from earlier session: - Consolidated multiple parallel queries into single bd list --all query - Filters in Go instead of spawning O(identities × statuses) bd processes 177x improvement (6.2s → 35ms) by eliminating subprocess overhead. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
17 KiB
17 KiB