All versions since 8.3.0
8.3.0
May 08, 2026
AI Activity Brief and Broker Evolution
The Catalyst plugin ecosystem now includes an AI-powered Activity Brief panel that generates executive summaries of the last 30m/1h/6h of development activity, plus a new /god skill for cross-project omniscient status monitoring. The core event filtering system has evolved into catalyst-broker with structured agent identity, automatic PR correlation, and deterministic routing for Linear ticket events. Run catalyst-monitor.sh forward-start to enable the new OTLP/PostHog/Cloudflare Analytics Engine telemetry forwarder that ships canonical events to external observability platforms.
PRs
- dev: Activity Brief panel — AI summary of recent event activity (CTL-282) (#470) (e76bed7)
- dev: add /god skill — cross-project omniscient status view (CTL-193) (#466) (0daed35)
- dev: add color-coded source chips to activity feed (CTL-276) (#464) (01565e5)
- dev: canonical OTel-shaped event envelope (CTL-300) (#501) (f2402c4)
- dev: canonical SVC/SEV/TRACE columns in catalyst-hud (CTL-308) (#504) (1a50efb)
- dev: catalyst-hud TUI — Ink-based terminal with scrollback, filter, detail pane, trace pivot (CTL-312) (#514) (db1e346)
- dev: CTL-306 tail-and-forward daemon (canonical events → OTLP / PostHog / Cloudflare AE) (#516) (ecb71c7)
- dev: deterministic event routing for PR lifecycle (CTL-284) (#496) (675cd81)
- dev: enrich Linear issue events with human-readable descriptions (CTL-281) (#469) (5d1988c)
- dev: evolve filter daemon into broker — structured agent identity, auto-correlation, ticket_lifecycle routing (CTL-303) (#515) (c0e5417)
- dev: generalize filter.register to all agent types (CTL-269) (#441) (ddd493b)
- dev: include message body in comms.message.posted events (CTL-279) (#468) (ad20724)
- dev: multi-team webhook support + Layer 2 config alignment (CTL-273) (f6e1eee)
- dev: per-repo color config for HUD scope chips (CTL-277) (#471) (f952bfa)
- dev: per-team Linear webhook secrets + fix pre-existing bugs (CTL-285) (#474) (bbdb60f)
- dev: populate traceId on webhook-emitted canonical events (CTL-310) (#509) (74e4150)
- dev: rename catalyst-filter → catalyst-broker as primary CLI (CTL-315) (#521) (6e94290)
- dev: replace console.* with pino structured logging in broker + forwarder (CTL-314) (#520) (8200ca8)
- dev: webhook teardown script + auto-startup docs (CTL-219) (#513) (33b7b79)
- dev: wire Linear webhook events into HUD activity feed (CTL-275) (#463) (510e6a7)
- dev: align Linear webhook URL key with consumers (CTL-274) (#450) (bf6ba0c)
- dev: catalyst-hud column alignment + event-name truncation (CTL-311) (#511) (f34af09)
- dev: event filter bugs — Codex reviews silently dropped (CTL-270) (#443) (82b1d3f)
- dev: keyed-format fallback for linearSmeeChannel (CTL-301) (#493) (332e8e3)
- dev: read groq.apiKey from config.json when GROQ_API_KEY env var is absent (#445) (ec5c84e)
- dev: read Linear webhookId from cross-project Layer 2 (CTL-272) (#449) (5ceb79e)
- dev: replace polling with fs.watch reactive tailing in filter daemon (CTL-283) (#461) (c1cca6e)
- dev: resolve symlink before deriving SCRIPT_DIR in catalyst-hud (#517) (de226e9)
- dev: show repo chip on non-PR GitHub events (CTL-278) (#467) (d5b704e)
8.4.0
May 09, 2026
Event Log Analysis CLI
Query your event logs using either technical filters or plain English — get phase timing breakdowns, identify orchestration stalls, and analyze CI funnels from JSONL logs. Natural language queries like “show errors in the last hour” are translated to structured filters via Claude and work in both the CLI and live TUI. Legacy event formats are now handled gracefully to prevent the catalyst-hud loading hang.
PRs
- dev: event log analysis CLI — phase-time, stalls, ci-funnel (CTL-307) (#523) (1f7158a)
- dev: natural-language event query for catalyst-events + TUI (CTL-313) (#524) (0a8b235)
- dev: guard against legacy events crashing catalyst-hud (#528) (f0bcf34)
- dev: orchestrate-verify uses
bun run testnotbun test(CTL-317) (#531) (76fcbf8)
9.0.0
May 11, 2026
Catalyst HUD Bottom-Anchored Panels
Detail panes and help overlays now anchor to the bottom of your terminal with the event list expanding to fill all remaining space above. Event rows are self-explanatory — comms events show sender/recipient/type, filter events display as “wake”/“filter reg” instead of truncated names, and all text is cleaned of HTML/Markdown markup. Column headers stay pinned when detail panes are open, and the core catalyst-pm plugin now focuses on 12 essential strategy/PRD skills with ops features moved to dedicated sibling plugins.
PRs
- pm: shrink catalyst-pm to 12 strategy/PRD skills (CTL-322) (#543)
- pm: shrink catalyst-pm to 12 strategy/PRD skills (CTL-322) (#543) (43b1c89)
- dev: bottom-anchor catalyst-hud detail pane (CTL-324) (#553) (9de7767)
- dev: bottom-anchor catalyst-hud help panel (CTL-325) (#554) (474702d)
- dev: broker writes canonical filter.wake events + HUD shows filter.* labels (CTL-331) (#558) (6a28db7)
- dev: catalyst-hud — make comms rows self-explanatory (CTL-330) (#559) (37cdf68)
- dev: catalyst-hud detail header — 24h datetime, prevent timestamp wrap (CTL-327) (#552) (8440c9b)
- dev: catalyst-hud sticky column header (CTL-332) (#560) (8f4447a)
- dev: catalyst-hud UI polish — live tail, scrollable panes, redesigned detail (#529) (b6fac3f)
- dev: make catalyst-hud and install-cli resilient to plugin upgrades (#538) (3a07708)
- dev: strip HTML and Markdown markup from catalyst-hud event details (CTL-326) (#551) (80870da)
9.1.0 (2026-05-13)
Features
- dev: broker comms_lifecycle + env-gate Groq prose path (CTL-357) (#607) (39adb7a)
- dev: per-event UUID (event.id) across canonical emitters (CTL-344) (#580) (2b9acc9)
Bug Fixes
- dev: API key health — startup warning, probe, status surface, gateway (CTL-343) (#579) (543449f)
- dev: broker interests integrity + empty-state observability (CTL-352) (#602) (fd09601)
- dev: broker prose-match suppression gate uses Groq intent (CTL-340) (#585) (6e864be)
- dev: broker reads canonical filter.register events (CTL-336) (#567) (8abc0d5)
- dev: broker skips self-emitted filter.wake/broker.daemon events (CTL-346) (#586) (33859e7)
- dev: broker tryDeterministicRoute canonical-envelope read (CTL-359) (#609) (523b6fe)
- dev: correct filter.wake predicate in skill docs (CTL-354) (#599) (b7193a4)
- dev: delete retired filter-daemon directory (CTL-349) (#590) (d553c7e)
- dev: HUD + broker observability rework (CTL-350) (#592) (3d9a02b)
- dev: HUD filter row display — DETAILS, REF, and SOURCE (CTL-337) (#569) (944410e)
- dev: HUD glyph fixes — NF v3 codepoint move + PR space (CTL-358) (#606) (17d30f4)
- dev: HUD glyph polish — SOURCE icon prefix, PR symbol, REF/ORCH dedup (CTL-355) (#601) (3dfc153)
- dev: HUD highlight uses inverse video for readable contrast (CTL-342) (#578) (a257e65)
- dev: HUD in-progress glyph uses Nerd Font when available, else ellipsis (CTL-353) (#598) (8baceda)
- dev: HUD polish + broker.daemon.shutdown event (CTL-351) (#595) (dd99679)
- dev: install-cli.sh owns ~/.catalyst/bin + auto PATH bootstrap (CTL-339) (#571) (3284f5a)
- dev: orchestrate-dispatch-next leaks parent stdin into worker (CTL-334) (#577) (8dfb293)
- dev: pr_lifecycle interest refresh + auto-correlate at PR open (CTL-341) (#588) (eadab91)
- dev: surface wake target + reason in HUD rows (CTL-348) (#587) (f1bfbb1)
9.2.0 (2026-05-14)
Features
- dev: broaden HUD
/filter to substring-match across all event fields (CTL-367) (#644) (f900348) - dev: enrich session events with Claude Code metadata (CTL-374) (#638) (d1f78e2)
- dev: HUD — merge SOURCE + EVENT columns into single wider EVENT column (CTL-364) (#645) (2ad9d26)
- dev: HUD footer cleanup — right-align event count, separator, width hints (CTL-363) (#627) (65cb93b)
- dev: lift cicd.pipeline.run.status to typed canonical attribute (CTL-366) (#632) (3608818)
- dev: orchestrator-id short form
o-<repo>-<tickets>(CTL-373) (#637) (3353d8c) - dev: vcs.repository.name enrichment for linear/orchestrator/broker events (CTL-362) (#628) (c6e6138)
Bug Fixes
- dev: canonical worker-event allowlist + schema-drift cleanup (CTL-370) (#635) (94ea15d)
- dev: HUD DETAILS column truncates instead of wrapping (CTL-361) (#626) (0e4e267)
- dev: HUD filtered viewport — autoFollow UP scroll anchor (CTL-368) (#630) (681f351)
- dev: NL query — refresh prompt schema, add events catalog, inject current time (CTL-365) (#631) (506eb4f)
- dev: orchestrate dispatch prompt teaches broker Pattern 3 preference (CTL-371) (#634) (ce2e0f2)
- dev: reconcile orchestrate Phase 4 grep pipe with monitor-events prohibition (CTL-372) (#636) (4aeae33)
- dev: require wake narration line per Monitor wake (CTL-369) (#633) (1bd684d)
9.3.0 (2026-05-15)
Features
- dev: —version flag on every catalyst-* CLI + commit hash (CTL-390) (#667) (e6c85a1)
- dev: add reason field to agent.checkout payload (CTL-402) (#725) (dab0fac)
- dev: add SESSION column to HUD Interests dashboard (CTL-422) (#739) (bd0a61f)
- dev: add wake-extract CLI + document wake payload schema (CTL-408) (#726) (939550e)
- dev: add WORKER column to HUD interests table (CTL-427) (#743) (cd8b811)
- dev: broker wait-loop visibility — worker.waiting/resumed events (CTL-403) (#717) (fa030f5)
- dev: broker_claim_pr as easy path — probe command + fallback telemetry (CTL-409) (#744) (16cc5dc)
- dev: emit orchestrator.status events for self-status announcements (CTL-405) (#738) (c1679bb)
- dev: expand REPO column coverage across canonical event emitters (CTL-385) (#665) (baf2d7d)
- dev: HUD — relocate EVENT-ID from row to detail pane (CTL-393) (#684) (13af477)
- dev: HUD — show raw event.name in EVENT column; split icon into its own 1-char column (CTL-391) (#668) (eb7e70d)
- dev: HUD — unified Claude-Code-style prompt input box (CTL-386) (#688) (4d569e3)
- dev: HUD :since — first-class filter (overlay, ESC, footer chip) (CTL-387) (#663) (3e71819)
- dev: HUD broker/worker dashboard view (CTL-392) (#678) (917ebdb)
- dev: HUD Claude Code-style full-width input bar with separate status line (CTL-417) (#736) (e641ea4)
- dev: HUD Escape progressively undoes state — scope reset + live-tail resume (CTL-423) (#740) (3321ace)
- dev: HUD Runs tab showing orchestrator → tickets/workers hierarchy (CTL-426) (#742) (f3c85e6)
- dev: HUD unified active-filter indicator in footer (CTL-389) (#685) (bb74832)
- dev: HUD user-configurable column display and order (CTL-394) (#691) (77ae454)
- dev: HUD Workers/Orchestrators tabs — sortable columns (CTL-425) (#741) (165d7a7)
- dev: HUD wrap-mode toggle — ‘w’ key to flip truncate/wrap (CTL-384) (#683) (b8584e1)
- dev: per-event-class DETAILS formatting for GitHub and Linear events (CTL-418) (#732) (db3f111)
- dev: populate vcs.pr.number + vcs.ref.name on check_suite/workflow_run (CTL-396) (#687) (efdae78)
- dev: surface prose interest disabled status in HUD (CTL-421) (#720) (e38636e)
- dev: wire SubagentStop/Stop hooks as agent.checkout fallback (CTL-404) (#714) (5d313e7)
Bug Fixes
- dev: add 1-character left margin to HUD root container (CTL-430) (#734) (37777c9)
- dev: add retry loop to broker_claim_pr and broker_register_comms (CTL-429) (#731) (3c87905)
- dev: apply wrap=truncate to all HUD columns to eliminate ghost chars (CTL-416) (#730) (d34c71f)
- dev: batch stale-heartbeat wakes + HUD wake recipient visibility (CTL-419) (#722) (c2ebc63)
- dev: build-orchestrator-filter drops github.pr.merged when PR not yet in signal files (CTL-398) (#737) (b493715)
- dev: dedupe filter.wake emissions by (source_event_id, interest_id) (CTL-406) (#712) (985e62e)
- dev: drop comms.message.posted from Groq queue when no deterministic match (CTL-397) (#718) (8f3780b)
- dev: enrich filter.wake reasons for check_suite non-success/failure conclusions (CTL-399) (#728) (cfb499a)
- dev: HUD — eliminate ghost chars in DETAILS via explicit width (CTL-395) (#686) (73c058e)
- dev: HUD — truncate long orchestrator IDs in ORCH column (CTL-383) (#662) (4b869fc)
- dev: HUD detail pane no longer pins selected event at list top (CTL-420) (#733) (795b2f7)
- dev: HUD pivot keys o/t pause live mode before scoping (CTL-388) (#664) (9604fb7)
- dev: orchestrate-verify.sh false-positive on post-merge branch lookup (CTL-400) (#735) (ef3f8e1)
- dev: populate REPO column for linear.* and filter.wake events (CTL-412) (#724) (8b928eb)
- dev: reject range operators on wrong-typed fields in NLQ DSL (CTL-415) (#729) (c150a6b)
- dev: remove stale filter-input.test.ts after FilterInput.tsx deletion (#689) (6b871d7)
- dev: remove unnecessary type assertions left by CTL-394 worker (#694) (e6dee50)
- dev: remove unused ink-text-input dependency from orch-monitor (#690) (0fa7777)
- dev: route bare durations to since-filter in HUD query input (CTL-414) (#727) (2f0126c)
- dev: route session.heartbeat to broker watchdog liveness map (CTL-401) (#711) (f5d7649)
- dev: suppress redundant broker wakes when downstream state unchanged (CTL-407) (#719) (2a5293e)
- dev: surface toState, actorName, and scalar fields in Linear webhook canonical payload (CTL-424) (#721) (9e6e494)
- dev: use Date.getTime() for since-filter comparison in HUD (CTL-413) (#723) (81f0e34)
10.0.0 (2026-05-18)
⚠ BREAKING CHANGES
- dev: turn-cap exhaustion → automated handoff continuation (CTL-484) (#844)
Features
- dev: add phase_lifecycle interest type to broker daemon (CTL-447) (#795) (840f2ef)
- dev: add phase-triage + phase-monitor-deploy skills (CTL-451) (#802) (decabfd)
- dev: add verifying/reviewing transition keys for phase-agent observability (CTL-454) (#797) (303e96a)
- dev: ADR-drift detector for morning-briefing Step 3 (CTL-459) (#806) (d442e87)
- dev: briefing-followup action handlers — calendar/ticket/orchestrate/email (CTL-463) (#813) (63383aa)
- dev: briefing-followup ADR-drift resolution flow (CTL-464) (#815) (8207175)
- dev: briefing-followup resolution write-back (CTL-465) (#816) (7881962)
- dev: briefing-followup skill MVP — load + present agenda (CTL-462) (#808) (bd875bf)
- dev: catalyst-hud surfaces per-phase signal files (CTL-476) (#835) (2a821fa)
- dev: event-source workers/*.json via broker projection (CTL-483) (#842) (f6c1bdb)
- dev: HUD WORKER column strips orch prefix (CTL-431) (#755) (4b89cbe)
- dev: morning-briefing skill MVP (CTL-457) (#804) (d02bdaf)
- dev: multi-output briefing fan-out (CTL-458) (#807) (3e25223)
- dev: orchestrator state-machine rewrite + —bg cutover (CTL-452) (#809) (487cc38)
- dev: phase-agent skill scaffold + dispatch helper (CTL-448) (#799) (29e91c7)
- dev: phase-implement + phase-pr + phase-monitor-merge skills (CTL-449) (#803) (eb3c008)
- dev: phase-research + phase-plan + phase-verify + phase-review skills (CTL-450) (#801) (e3a4294)
- dev: research-curate contradiction detection + CONTRADICTIONS.md (CTL-468) (#810) (185814f)
- dev: research-curate skill — inventory + staleness + INDEX.md (CTL-467) (#805) (dce7f14)
- dev: turn-cap exhaustion → automated handoff continuation (CTL-484) (#844) (a521ca9)
Bug Fixes
- dev: catalyst-events tail/wait-for exit when parent dies (CTL-439) (#762) (bc5b657)
- dev: consolidate HUD Header chip row onto single line (CTL-434) (#758) (0737ed9)
- dev: HUD filter input + status row span full terminal width (CTL-433) (#757) (5532042)
- dev: HUD interests footer drops ‘ago’ suffix on null timestamps (CTL-432) (#754) (46887d2)
- dev: populate session_metrics from worker stream cost data (CTL-455) (#798) (6eeb7ec)
- dev: unbreak phase-agent dispatch end-to-end (CTL-490) (#848) (ba6fd03)
- dev: widen HUD Interests TYPE column to 18 + add margin before WATCHES (CTL-438) (#761) (cf97d3c)
- dev: wire orchestrate-roll-usage into monitor loop + enable phase-agents dispatch (CTL-487) (#845) (3807a0f)
10.1.0 (2026-05-18)
Features
- dev: propagate OTEL_RESOURCE_ATTRIBUTES to phase-agent claude —bg children (CTL-492) (#862) (19166f0)
10.2.0 (2026-05-28)
Features
- dev: aggregate sub-agent-inclusive cost/token totals for the phase mirror footer (CTL-666) (#1123) (5bf0e2f)
- dev: boot-resume passes —resume-session for true session continuation (CTL-690) (#1155) (b52c4c7)
- dev: capture Linear webhook scoping fields + drop per-event scoping poll (CTL-681) (#1138) (545e2f6)
- dev: cold-start detection signal for execution-core recovery (CTL-640) (#1071) (9221ef8)
- dev: Linear state TTL cache for execution-core daemon (CTL-634) (#1069) (43917b3)
- dev: machine-level config fallback for phase-agent-dispatch (CTL-689) (#1152) (23eae98)
- dev: repoint broker watchdog to claude-agents liveness (CTL-672) (#1163) (6f1c7bf)
- dev: route triage/research/implement/pr phase workers to Sonnet (CTL-689) (#1150) (c5061e6)
Bug Fixes
- dev: add Linear rate-limit circuit breaker + drop redundant triaged label (CTL-679) (#1136) (c5e550d)
- dev: carry project/linear.key/orchestration in canonical-event resource block (CTL-636) (#1070) (f011f12)
- dev: classify Linear cross-team label-UUID errors as missing-label (#1137) (e336f36)
- dev: enforce one-worker-per-ticket — liveness-gate reclaim + reap on remediate cycle (CTL-661) (#1107) (a4bbfea)
- dev: make phase-emit-complete.sh sourceable under zsh (CTL-618) (#1067) (ebde111)
- dev: make phase-triage body resilient to slash-arg substitution (CTL-602) (#1031) (fab4c66)
- dev: orchestrate-dispatch-next phase-fork bugs — phase-aware RUNNING count + stdin drain guard (CTL-605) (#1068) (c19dea5)
- dev: phase-mode turn-cap continuation — orchestrate-revive fires —resume in phase-agents mode (CTL-613) (#1099) (b3d5b49)
- dev: resolve session UUID from resumeSessionId + formal config schemas (CTL-710) (#1181) (2fedd98)
- dev: stop execution-core label-retry storm on missing workspace labels (CTL-585) (#1007) (b9e06e1)
- dev: stop scheduler tick from crashing on yield-tombstone files (CTL-702) (#1170) (b732664)
- dev: supersede guard for predecessor reaping (CTL-606) (#1072) (a6c7f1c)
- execution-core: broaden reclaim trigger to cover stale bg jobs (CTL-588) (#988) (30f1655)
- execution-core: reclaim dead phase-implement workers via commit-state probe (CTL-574) (#985) (747a3f6)
10.2.1 (2026-05-28)
Bug Fixes
- dev: inject liveBackgroundCount in scheduler tests broken by CTL-705 preemption (CTL-715) (#1188) (9e1dedf)
10.2.2 (2026-05-28)
Bug Fixes
10.3.0 (2026-05-30)
Features
- dev: board real-time layer — async assembleBoard + reactive SSE push (CTL-733) (#1230) (f034a14)
- dev: live Worker/Ticket board UI wired to execution-core (CTL-727) (#1216) (0d5aac0)
- dev: real shadcn components + Linear-style board UX (CTL-727) (#1219) (d8396d2)
- dev: serve the Worker/Ticket board from the monitor (CTL-730) (#1229) (50e9b2e)
- dev: Workers board Status↔Pipeline column toggle (CTL-732) (#1228) (4468bc7)
Bug Fixes
- dev: stabilize main — revive idle/budget gaps + cache-only de-starvation reconciliation (CTL-735 / CTL-736 PR-0) (#1234) (dbabfbb)
- dev: worker session short-code to distinguish revive-duplicates (CTL-727) (#1223) (b3d1fdf)
10.4.0 (2026-05-31)
Features
- dev: atomic single-flight worker claim + fencing token (CTL-736 Phase 1) (#1235) (d09fb2b)
- dev: board SharedWorker + IndexedDB real-time client (CTL-733 PR-2b) (#1242) (4a76d27)
- dev: CTL-736 Phase 2-3 — state.json death trigger + progress probe (retire the revive-storm guard stack) (#1245) (0a0624a)
- dev: per-step conditional levers — model/effort/preamble in dispatch (descriptor v1.1) (#1239) (673bdc1)
Bug Fixes
10.5.0 (2026-06-03)
Features
- dev: CTL-747 per-phase effort + dynamic-workflow execution driven by ticket points (#1262) (0b7bbe0)
Bug Fixes
- dev: CTL-736 revive re-issues the phase command so a pre-first-turn death self-heals (#1263) (084a522)
- dev: CTL-745 gate synthetic done on terminal pipeline state (#1287) (b65bc27)
- dev: CTL-752 neutralize frozen-daemon workflow_id leak + doc join queries (#1274) (d499be9)
- dev: CTL-756 self-echo guard for handleCommentWake (#1283) (7319d7c)
10.6.0 (2026-06-04)
Features
- dev: CTL-760 per-worker OpenTelemetry for the background-worker execution model (#1294) (5399a29)
- dev: CTL-770 setpoint-seeking autotuner + CTL-771 autotune OTel gauges (#1307) (6f4cfd9)
Bug Fixes
- dev: CTL-769 give the execution-core reaper a poll-fallback drain (#1304) (068795d)
- dev: CTL-770 reach idle convergence — autotuner no longer bails at bgCount===0 (#1308) (3cc5c99)
11.0.0 (2026-06-05)
Features
- dev: CTL-734 ticket-detail drill-in — kibo-ui Gantt of per-phase worker spans (#1319) (5b5d562)
- dev: CTL-761 emit revive/attempt count as OTEL dimensions on terminal phase events (#1321) (087e4b1)
- dev: CTL-775 demand-driven autotuner — saturation-gated up, Claude-attributed down (#1316) (1da9db8)
- dev: document and enforce the Linear app-actor botUserId requirement (#1282) (a4bb94d)
Bug Fixes
- dev: CTL-623 residual — describe-pr sibling-ref prose + ci-describe-pr body_file fix (#1322) (cab4e9b)
- dev: CTL-731 residual — default eligibleQuery to Todo + Release-As 11.0.0 (#1331) (f9345bd)
- dev: CTL-766 persist real tailer offset in otel-forward checkpoint (#1310) (1ddf24a)
- dev: CTL-772 platform-aware available memory — stop autotuner false-clamping to 1 on macOS (#1311) (a06c481)
- dev: CTL-777 reliable phase-worker signal flip via surviving settings.env channel (step 1) (#1326) (ccab289)
- dev: repair removeLabel (linearis rejects —label-mode remove) + hermetic test guard (#1327) (0e80e26)