Catalyst Dev — Change Log
7.4.0
Apr 16, 2026
Auto-Dispatch Fixup Workers
Blocked PRs with unresolved review threads or failed checks now automatically trigger fixup workers after a 10-minute stabilization window, capping at 2 attempts before escalating to human attention. The orchestrator polls BLOCKED states alongside existing DIRTY/BEHIND handling, eliminating the need for manual intervention on stuck PRs. New signal tracking includes blockedSince, fixupAttempts, and lastFixupDispatchedAt for dashboard visibility.
PRs
7.3.0
Apr 16, 2026
API Stream Idle Detection
Workers now recover immediately when hitting Claude API stream idle timeouts, instead of waiting up to 15 minutes for heartbeat staleness detection. Linear ticket states automatically transition when PRs are merged, with retroactive reconciliation available via orchestrate-bulk-close for tickets that stayed in “In Review” after successful merges.
PRs
- dev: detect API stream idle timeout in orchestrate-revive (CTL-62) (#196) (b89e342)
- dev: drive Linear ticket state transitions on PR merge (CTL-69) (#197) (dc58f32)
7.2.0
Apr 16, 2026
Authoritative Git and PR State
Workers are no longer marked as “stalled” based solely on signal file age — the orchestrator now uses git commit history and GitHub PR status as ground truth for completion detection. If a worker merged its PR but died before writing the terminal signal, it’s correctly recognized as complete rather than stalled. Run the orchestration monitor to see the improved accuracy in worker lifecycle tracking.
PRs
7.1.1
Apr 16, 2026
Worker Cost Display Fix
Dashboard now shows real-time worker costs (USD, input/output tokens, cache reads) instead of placeholder dashes. The orchestrator writes parsed usage data to each worker’s signal file, matching the existing global state format that powers the cost overview.
PRs
7.1.0
Apr 16, 2026
Session Resume Orchestration
When workers die mid-merge or stall with heartbeats, the orchestrator now revives them using claude --resume <session_id> instead of starting fresh — preserving full context while cutting costs ~10×. The system resolves session IDs from worker output streams and enforces per-ticket revive budgets, transitioning to stalled status when revival isn’t possible.
PRs
7.0.0
Apr 16, 2026
Orchestration State Isolation
Orchestrator runtime state now lives in ~/catalyst/runs/<orch-id>/ instead of git worktrees, keeping your worktree clean during runs. Output files move to workers/output/ to reduce noise, while worker signal files stay in their expected locations. The monitor automatically handles both new runs-based and legacy worktree-based orchestrators.
PRs
- dev: decouple orch state from worktrees — runs/ dir (CTL-59) (#188)
- dev: decouple orch state from worktrees — runs/ dir (CTL-59) (#188) (a357eaa)
6.39.1
Apr 16, 2026
Merged PR Status Writeback
The orchestration monitor now writes merged PR status back to worker signal files when it detects PRs have been merged on GitHub. Previously, merged PRs were only tracked in memory, causing the dashboard to show incorrect completion percentages when the orchestrator agent had already exited. Signal files now automatically update with status=done, phase=6, and merge timestamps for accurate project tracking.
PRs
6.39.0
Apr 16, 2026
Orchestrator Launch Failure Detection
Workers that die immediately after dispatch (bad flags, environment errors) are now detected within 30 seconds instead of waiting 15 minutes for the stalled-worker detector. The orchestrator runs a batch health check after each dispatch wave, verifying worker PIDs and automatically flagging dead-on-arrival processes as failed with attention items.
PRs
6.38.0
Apr 16, 2026
Agent Communication Channels
The new catalyst-comms CLI gives Claude Code agents file-based communication across worktrees, sub-agents, and orchestrators without requiring servers or HTTP dependencies. Agents can join channels, send messages, poll for updates, and coordinate completion through simple bash commands that work with any agent workflow. Channel activity is logged locally at ~/catalyst/comms/ with automatic cleanup and human audit capabilities via catalyst-comms watch and status.
PRs
- dev: catalyst-comms — file-based agent communication channels (CTL-60) (#182) (51a73de)
- dev: worker polls until PR merges instead of exiting at pr-created (#180) (351cc95)
6.37.2
Apr 16, 2026
Claude Worker Dispatch Fixes
Fixed broken worker dispatch where the -w flag was incorrectly used with paths instead of names, causing “Invalid worktree name” errors. Workers now launch in a backgrounded subshell with proper directory switching, include --dangerously-skip-permissions to prevent TTY blocking, and capture stderr to debuggable log files instead of /dev/null.