Skip to content

Catalyst Dev — Change Log

Version 12.14.0 (2026-06-19)

Recovery Observability & Cache Coverage

The recovery delegate now emits recovery.tick and recovery.decision events to Loki on every pass, so you can finally distinguish a board where the delegate examined items and handed them to humans from one it silently never processed. Control-loop numerics from those events — plus scheduler parallelism and autotune gauges — are promoted into OTel attributes, making queue depth, action breakdowns, and decision rules chartable in dashboards. The board-cache reconciler also fixes a starvation bug where only the alphabetical prefix of tickets ever reconciled; per-tier rotation cursors now ensure both active-pipeline and Backlog tickets are covered across passes, which should clear the phantom “stuck” tickets that were showing as open PRs despite being done.

Features

  • dev: CTL-1287 — recovery delegate emits per-tick recovery.tick/recovery.decision (#2276) (ae419a6)
  • dev: CTL-1291 — chartable control-loop numerics via OTel attribute promotion (#2282) (29db3b4)

Bug Fixes

  • dev: CTL-1285 — Alloy log-shipper survives via dedicated KeepAlive LaunchAgent (#2273) (849929d)
  • dev: CTL-1288 — cache reconcile covers the whole board via per-tier rotation cursors (#2278) (ca8b808)