Catalyst Dev — Change Log
Version 12.7.0 (2026-06-13)
Workers Dispatch/Board Split & Node Drain Mode
The Workers surface now splits into two dedicated screens — Dispatch (ControlTower) and Board (WorkerSwimlaneBoard) — toggled from the app-shell header, eliminating the sticky column header overlap and giving each view its own scroll container. Node drain mode lands alongside it: run catalyst-execution-core drain to stop a node from accepting new tickets while in-flight work finishes, with a HUD display and --off toggle to resume. This release also fixes phase workers stranding commits on transient bgIsolation branches, hardens the artifact gate to resolve paths against the ticket worktree rather than the process cwd, and prevents stale-ref PRs by push-verifying HEAD before announce and merge.
Features
- dev: CTL-1051 — push-verify HEAD before announce/merge to prevent stale-ref PRs (#1891) (882f032)
- dev: CTL-1062 — surface governance modes in heartbeat + CLI (#1908) (b92085f)
- dev: CTL-1063 — dev-time Datalog compiler for belief engine rules (#1884) (ffa7c16)
- dev: CTL-1077 — hot-reload full stack on merge to main (#1893) (c0c5c64)
- dev: CTL-1081 — phase artifacts land where the gate looks for them (#1904) (ceea9f7)
- dev: CTL-1095 — node drain mode: refuse new-work admission, CLI toggle, HUD display (#1928) (66cbb44)
- dev: CTL-1098 — Workers surface: Dispatch/Board split screens (#1934) (478e224)
Bug Fixes
- dev: CTL-1060 — otel-forward reliability: DLQ drain fix, stack lifecycle, lag metric (#1909) (a308ae2)
- dev: CTL-1078 — classify retraction-sweep auth/scope failures correctly and break per-tick storm (#1894) (f27f2b7)
- dev: CTL-1079 — retraction sweep reads label state from broker cache (#1898) (74e4cfc)
- dev: CTL-1082 — restore vertical scroll to the Workers surface (#1902) (3ba1e7e)
- dev: CTL-1083 — The Workers grouping switcher and dep-graph navigation should work (#1905) (f628bf9)
- dev: CTL-1085 — removeLabel UUID overwrite fixes cross-team label collision (#1930) (7c6410b)
- dev: CTL-1086 — keep synthetic test events out of the live fleet event log (#1929) (a8e667a)
- dev: CTL-1087 — Service Health reads catalyst.* recency + infers collector from Loki state (#1912) (2b1eae5)
- dev: CTL-1088 — restarting monitor must not dirty the pristine plugin clone (#1914) (31deaba)
- dev: CTL-1097 — resolve artifact gate dir against signal.worktreePath (#1932) (62cb760)
- dev: CTL-1105 — stop phase workers stranding commits on transient bgIsolation branches (#1945) (c308f99)