Skip to content

Catalyst Dev — Change Log

Version 12.10.0 (2026-06-16)

Multi-Node Cluster Onboarding & Failed-Phase Escalation

Two gaps that let work fall through silently are closed in this release: failed phases now surface identically to stalled ones — inbox row, amber nav dot, /queue Needs You bucket, and a Linear needs-human label with the worker’s structured explanation attached. On the infrastructure side, catalyst-join.sh and catalyst cluster join-token make adding a second node a one-line operation: mint a short-TTL token on the seed, run the curl | bash on the joining node, and the script handles Tailscale preflight, bundle fetch, config merge, and service installation with full resumability on retry. This release also ships worker-dir GC to prevent per-tick I/O blowup as worker directories accumulate, the orch-monitor as an installable PWA, launchd auto-start via catalyst-stack install-services, and editable project settings saved server-side from the monitor.

Features

  • dev: CTL-1131 — durable needsHumanSince anchor + escalation signal persistence (Phases 1–2) (#1995) (ada430e)
  • dev: CTL-1133 — installable PWA for the orch-monitor (#2049) (1289b5a)
  • dev: CTL-1152 — config-driven, server-authoritative project roster in the monitor (#2031) (51f56be)
  • dev: CTL-1153 — editable project settings in the monitor (server-saved) (#2092) (57c8f12)
  • dev: CTL-1166 — catalyst-stack install-services (launchd auto-start on boot) (#2047) (15925c3)
  • dev: CTL-1168 + CTL-1178 — Linear-match Tickets board (fixed columns, per-column flat scroll, viewport-capped grouped lanes) (#2044) (f70de89)
  • dev: CTL-1170 — async sweeps to unblock heartbeat event loop (#2058) (d086770)
  • dev: CTL-1172 — labeled service-health indicator in the orch-monitor footer (#2055) (c301d36)
  • dev: CTL-1173 Phase 2 — fix applyAssignee read-back to verify Issue.delegate.id (#2064) (68181f1)
  • dev: CTL-1175 — orphan-PR detect+notify sweep raises Needs-You inbox row (#2065) (6d2ac03)
  • dev: CTL-1180 — surface failed phases as needs-human (monitor + daemon) (#2095) (9a8027b)
  • dev: CTL-1184 — catalyst-cluster join-token + join-token-store.mjs seam module (#2097) (df2b838)
  • dev: CTL-1185 — catalyst-join.sh one-line node onboarding (#2110) (5122573)
  • dev: CTL-1203 — secrets 600 hygiene: installer enforcement + doctor assertion (#2104) (d9fd590)
  • dev: CTL-1205 — worker-dir GC to prevent per-tick I/O blowup (#2112) (9c5d933)
  • dev: CTL-1206 — flat board per-column scroll restoration (#2113) (9b1db6d)
  • dev: CTL-935 shadow comparators + disagreement report + flag-live verification (#2101) (6922530)

Bug Fixes

  • dev: CTL-1169 — daemon-health hysteresis (stop the degraded↔healthy notification flap) (#2052) (e045155)
  • dev: CTL-1171 — broker liveness heartbeat (stop the idle-broker false-down) (#2056) (8f28285)
  • dev: CTL-1181 — loud needs-human escalation + proactive token detour in phase-pr (#2093) (e1adadd)