Skip to content

All versions since 12.3.0 (2026-06-08)

12.3.0 (2026-06-08)

Features

  • dev: CTL-880 wire gherkin-ticket standard into ticket-creation skills (#1508) (4b21363)

12.4.0 (2026-06-09)

Features

  • dev: BFF1 cache-backed read-model core (CTL-883) (#1559) (417271b)
  • dev: BFF11 broker fence projection into cache (CTL-923) (#1563) (de3d6b3)
  • dev: BFF4 phase runs as run entities + verbatim signal (CTL-886) (#1564) (55e0bee)
  • dev: BFF6 board payload model/startedAt/pid/sess_id (CTL-888) (#1562) (c234c74)
  • dev: BFF7 cache-backed ticket detail / artifacts / search endpoints (CTL-889) (#1567) (1179aa1)
  • dev: BFF9 retire legacy linearis poller onto durable cache (CTL-921) (#1566) (d9c050a)
  • dev: FND1 deep-linkable routes (TanStack Router) (CTL-881) (#1557) (36348c2)
  • dev: FND2 resolveList() + jotai nav store (CTL-882) (#1565) (633ad43)
  • dev: HUD1 shared read-model client contract (CTL-919) (#1568) (2eda1de)
  • dev: SHELL1 edge-to-edge app shell + left nav (CTL-891) (#1569) (41c1000)

Bug Fixes

  • dev: CTL-838 stop inferring dependencies from prose — link them, triage analyzes for missed ones (#1556) (cf29cf0)
  • dev: CTL-878 stop self-inflicted epic→child dependency deadlock (#1510) (5f2e388)
  • dev: CTL-883 keep bun:sqlite out of the Node-loaded vite.config import graph (#1561) (03537d0)
  • dev: CTL-927 exempt doc-phase workers from the cold-snapshot zombie-floor mtime kill (#1571) (c3394f8)

12.5.0 (2026-06-11)

Features

  • dev: belief store obs_relation — record blocking edges as facts each tick (CTL-964) (#1690) (df5bd89)
  • dev: belief-store Step 1 — per-tick liveness fact collector (CTL-933) (#1630) (bc853c5)
  • dev: beliefs SSE endpoint /api/beliefs/stream + BeliefTail cursor (CTL-967) (#1700) (baf71e5)
  • dev: BFF10 per-entity host/team/generation (CTL-922) (#1576) (294bd81)
  • dev: BFF12 fence-aware Answer/Unblock read-model mutation endpoint (CTL-924) (#1589) (87a4c38)
  • dev: BFF2 cluster grouping + liveness overlay (CTL-884) (#1575) (f766acf)
  • dev: BFF3 cross-node live-tail SSE fan-in (CTL-885) (#1590) (8d0e0a4)
  • dev: BFF5 live EC-worker transcript tail SSE (CTL-887) (#1573) (83332b3)
  • dev: BFF8 fence-aware stop-worker mutation (CTL-890) (#1574) (89714a2)
  • dev: board shared column headers + single horizontal scroll across swimlanes (CTL-950) (#1656) (6bc5de4)
  • dev: board shows one method-correct estimate + dependency chips; estimate read-model projection (CTL-957) (#1685) (5180b85)
  • dev: BOARD2 display-options popover — density is a knob (CTL-906) (#1609) (e6e48bb)
  • dev: BOARD3 row swimlanes by team / project / host-node (CTL-907) (#1611) (d7984ba)
  • dev: BOARD4 dense List view as an alternate board layout (CTL-908) (#1613) (7b4edd5)
  • dev: bounded stall-diagnostician wake wiring + evidence capture (CTL-937) (#1641) (410a3ac)
  • dev: closed-loop intent layer — stop-storm, fire-once, pager-fail (CTL-936) (#1643) (b4fe04b)
  • dev: CTL-1000 — wrappers resolve from healthy pristine checkout (cache fallback + loud warning + —version source) (#1768) (4665b14)
  • dev: CTL-1003 ticket detail v3 — Linear-parity chrome, prose, tabs, rail cards, relations (+CTL-999 off-board) (#1758) (ef8a8d9)
  • dev: CTL-1012 project branding in lane headers + detail rails (#1769) (b2f8d1f)
  • dev: CTL-768 — release parked worker slot (needs-input → hold-stop + revive-with-resume) (#1736) (c59c9be)
  • dev: CTL-864 — workers fence irreversible side-effects against cluster takeover (generation token through dispatch + 5 skill guards) (#1780) (f6affb5)
  • dev: CTL-966 advance_to phase-prediction shadow comparator (#1704) (c97dee7)
  • dev: CTL-981 nav final calibration — weight 500 + contrast /72 for label presence (#1708) (2cf8971)
  • dev: CTL-989 unify app shell — single router, AppShell on every screen, URL=source-of-truth (#1735) (74e0a2c)
  • dev: CTL-996 ticket detail — Linear-calm reading column + right rail + visible tabs (#1745) (6436f1d)
  • dev: DETAIL1 shared detail chrome + pager + keyboard (CTL-912) (#1584) (de7911f)
  • dev: DETAIL2 ticket detail page skeleton (CTL-913) (#1597) (9c325f0)
  • dev: DETAIL3 worker page skeleton + Loki history tail (CTL-914) (#1600) (a21da5c)
  • dev: DETAIL4 wire per-phase model/startedAt/pid/sess_id (CTL-915) (#1602) (84ea09d)
  • dev: DETAIL5 re-skinned command palette + cheatsheet (CTL-916) (#1599) (e191d5e)
  • dev: DETAIL6 telemetry / burn metrics off OTEL (CTL-917) (#1605) (00f8288)
  • dev: DETAIL7 live activity tail (CTL-918) (#1606) (9a4ed26)
  • dev: dispatch workers with —plugin-dir from per-host pluginDirs config (#1614) (9f21ff3)
  • dev: HOME1 calm master-detail Inbox home (CTL-899) (#1581) (9067471)
  • dev: HOME2 status glyph + phase strip (CTL-900) (#1594) (399d1d7)
  • dev: HOME3 reframed groups + per-row durations (CTL-901) (#1595) (8129d78)
  • dev: HOME4 reading pane — ask/options/About/View-in-Claude (CTL-902) (#1601) (1d5bef0)
  • dev: HOME5 one verb clears item + resumes the paused agent (CTL-903) (#1607) (2a53fec)
  • dev: HOME6 calm all-clear empty state (CTL-904) (#1593) (b56d511)
  • dev: HUD2 terminal HUD consumes the shared read-model (CTL-920) (#1583) (fc7e1f9)
  • dev: left-nav restyle v2 — natural-case headers, right twistie, Linear selected state (CTL-977) (#1701) (fbdc1ae)
  • dev: LIFECYCLE SPINE real per-phase cost/tokens + artifact links + prominent Gantt (CTL-953) (#1664) (ec1f054)
  • dev: Linear-style board scroll — dual-sticky group labels + per-cell overscroll chaining (CTL-958) (#1669) (9463edb)
  • dev: list view on TanStack Data Table — default stage/status grouping (CTL-955) (#1663) (c4dc73b)
  • dev: live terminal screen pane for pre-transcript workers (CTL-938) (#1629) (78f3edb)
  • dev: motion — animate board/list/queue state & position transitions (CTL-952) (#1659) (2c57400)
  • dev: nav proportion v3 — 16px icons, muted labels, twistie beside label, Projects heading (CTL-980) (#1706) (5ad727a)
  • dev: OBSERVE FinOps surface — cost routes + hero(today-vs-7d + cache-ROI) + breakdowns (OBS-9/10/11) (#1716) (f0615c6)
  • dev: OBSERVE FleetOps surface — host health + stuck/dead reap hints + reconcile (OBS-18) (#1719) (1f02983)
  • dev: OBSERVE foundation — chart grammar + panel honesty kit + shell (OBS-1/2/5) (#1713) (7603f5f)
  • dev: OBSERVE Telemetry surface — hero + live tail + errors/tools/latency + events heatmap (OBS-6/7/8) (#1714) (3cd51ab)
  • dev: one-checkout node updates — hotpatch pulls the pluginDirs checkout, parity reports drift (CTL-940, CTL-941) (#1626) (f704bb5)
  • dev: one-checkout node updates — hotpatch pulls the pluginDirs checkout, parity reports drift (CTL-940, CTL-941) (#1627) (b61524e)
  • dev: one-nav board shell — project-grouped sidebar, quiet display popover, engaged swimlanes, contrast pass (CTL-930, CTL-944) (#1636) (78ec17b)
  • dev: per-project nav icons — auto-detect repo favicon + manual override (CTL-961) (#1682) (d310722)
  • dev: pristine main-only plugin-source checkout + merge-to-main auto-refresh (CTL-992, CTL-993) (#1743) (0280976)
  • dev: queue — group workers by all activity states, blocked pinned bottom with blockers (CTL-947) (#1654) (5372b61)
  • dev: React Flow dependency graph — backlog graph + per-ticket dep sub-graph (CTL-948) (#1655) (8a5d697)
  • dev: recursive dependency beliefs over obs_relation — blocker_rank/cycle_detected/ready (CTL-965) (#1699) (e360841)
  • dev: SHELL2 Dense Board inside the shell (CTL-892) (#1579) (657b740)
  • dev: SHELL3 OPERATE/OBSERVE nav IA + brand + footer (CTL-893) (#1580) (32fb41f)
  • dev: SHELL5 top strip — single search palette + ’/’ open (CTL-895) (#1588) (ee4607c)
  • dev: SHELL6 live nav badges/dots from read-model (CTL-896) (#1591) (05c5b67)
  • dev: SHELL7 config-driven workspace switcher (CTL-897) (#1603) (dde9d9f)
  • dev: SHELL8 footer per-node cluster health + node filter (CTL-898) (#1604) (da688e3)
  • dev: single-click opens detail page, drawer removed, Linear-style pager + Esc-restore (CTL-951) (#1658) (d22b6f3)
  • dev: stratified belief rules + provenance + catalyst why (CTL-934) (#1635) (b9231bc)
  • dev: supplemental estimate fallback — board shows real Linear estimates for legacy tickets (CTL-974) (#1692) (bbe55d3)
  • dev: SURF1 Workers grid grouped/filtered by host node (CTL-909) (#1596) (573bbbc)
  • dev: SURF2 wide ranked Queue depth surface (CTL-910) (#1598) (b04c883)
  • dev: SURF3 Settings surface (persisted prefs) (CTL-911) (#1585) (5461865)
  • dev: ticket detail — real title + Linear-quality markdown description (#1733) (8973797)
  • dev: ticket detail v2 — PM status hero + consolidated lifecycle + Cost/Activity tabs (#1730) (9eecfb5)
  • dev: triage estimates in the project’s estimation method, cached with TTL — one estimate not two (CTL-954) (#1657) (64b4b14)
  • dev: turn-zero gate — stop+replace workers that never start their first turn (CTL-932) (#1631) (0b34dd7)
  • dev: worker detail v2 — one rail + ticket link + structured Now view + workflow telemetry (#1729) (5495905)

Bug Fixes

  • dev: board surface SkeletonDashboard — free a connection slot for the lazy board chunk (CTL-945) (#1639) (cf44dde)
  • dev: board swipe hijack — contain overscroll + edge bump (CTL-973) (#1686) (aeaa4ba)
  • dev: board wheel guard froze horizontal scroll at the resting left edge (#1710) (5d8ddd1)
  • dev: CTL-1006 — boot-resume on daemon bounces + phase-regression guard (no more restart-manufactured stalls) (#1763) (d8c6d5a)
  • dev: CTL-1010 swimlanes fill the board height — flex distribution + lane scroll (#1765) (a9fb26d)
  • dev: CTL-1014 — repo-identity resolver honors canonical catalyst.repository key (#1772) (924d65b)
  • dev: CTL-926 — eligible projection refreshes when blocked_by relations change out-of-band (#1771) (5cdd6b1)
  • dev: CTL-928 truthful queue-board liveness — dead bg-workers excluded, idle-between-phases lane (#1610) (86e09b2)
  • dev: CTL-929 exempt zero-dep tickets from the triage→research read-failure fail-safe hold (#1592) (6fe3a83)
  • dev: CTL-978 queue must not count dead workers as in-flight (#1703) (2bb64c7)
  • dev: CTL-979 ADVA favicon — case-normalize repo key + add monorepo icon paths (#1702) (3283ba1)
  • dev: CTL-990 — kill the dirty-worktree rebase loop (root fix + typed precheck + recreate guard + dispatch timeout) (#1734) (cd88a63)
  • dev: dedupe obs_relation symmetric edges within a tick (CTL-964 follow-up) (#1711) (33fb204)
  • dev: dependency graph — draw edges, scope labels, /dep-graph SPA fallback, knip cleanup (CTL-959) (#1668) (c70c65a)
  • dev: detail page fills full viewport height — no white gap (CTL-949) (#1651) (7974c7c)
  • dev: escalate stuck once — single escalate_human executor, exactly-once page (CTL-962) (#1693) (9e91c41)
  • dev: estimate fallback query uses team+number filter — fixes 400 error (CTL-976) (#1695) (5c17b01)
  • dev: FinOps hero + spend cards collapsed to 2px (shrink-0 on scroll-column children) (#1717) (86a2bc6)
  • dev: make Linear-audit mitmproxy strictly opt-in, add NO_PROXY safety guard (CTL-946) (#1640) (da51c5a)
  • dev: OBSERVE Telemetry Loki queries — model/tool latency + tail field extraction (#1715) (0275934)
  • dev: restore board surface + scope + dual-axis scroll on detail return (CTL-971) (#1683) (5edc063)
  • dev: turn-zero cap branch is terminal — no post-escalation respawn (CTL-932) (#1633) (8c7d3a0)
  • dev: unify board phase with phase-agent-type + remediate column + lens label (CTL-972) (#1687) (09d6e4e)
  • dev: wire applyNeedsHuman in scheduler + clean up dead code in diagnostician (CTL-937) (#1642) (2982ba6)
  • dev: wire board→detail-page navigation + SPA fallback for /ticket /worker (CTL-942) (#1632) (1532302)
  • dev: wire intentDb + appendIntentEvent into runTick; pin bgJobId in kill postcondition (CTL-936) (#1644) (0a4e898)

12.6.0 (2026-06-12)

Features

  • dev: chrome batch — one header per surface, numbered slots, overlay scrollbars, titles first (CTL-1018/1035/1036/1041) (1051cae)
  • dev: CTL-1004 — stall-janitor: targeted orphan reap-requests + ghost-session kill-intents (shadow-first) (#1817) (a581efd)
  • dev: CTL-1005 — J3 artifact-complete auto-clear + CTL-1004 J2-enforce fix (#1821) (c35ac18)
  • dev: CTL-1008 — unified event log OTel completeness (#1793) (3a3fa00)
  • dev: CTL-1009 — OTel attribute conformance manifest + drift guard (#1830) (d46efa7)
  • dev: CTL-1013 elevation inversion — dark chrome lowest, content and cards stack lighter (#1788) (108a957)
  • dev: CTL-1015 queue becomes a capacity-centric control tower — slots hero, dispatch ranking, motion (#1790) (c6c8a52)
  • dev: CTL-1022 card type reads as a colored symbol; description tooltip removed (#1796) (47d8bdc)
  • dev: CTL-1023 work-type dimension on phase telemetry (catalyst.ticket.type) (#1806) (f1de97a)
  • dev: CTL-1024 Cmd+K command palette — action registry, settings commands, ticket search (#1851) (1ca339d)
  • dev: CTL-1027 per-project color picker + swimlane tint (#1854) (12fd997)
  • dev: CTL-1032 status strip counts honestly — active, dead, free, waiting (#1803) (ee85ff1)
  • dev: CTL-1033 elevation v2 — perceptible surface ladder + one token system across every page (fa8bedd)
  • dev: CTL-1034 sidebar — collapsible sections, real project headings, child indentation (#1808) (be27787)
  • dev: CTL-1037 sidebar presence — per-project worker dots, honest counts, inbox attention badges (#1825) (a27b5b5)
  • dev: CTL-1049 back-stack entry state — fresh defaults on push, exact restore on back/escape (1d8eb32)
  • dev: CTL-1050+1039 stack service health — Fleet Ops strip, inbox outage events, proportional severity (#1846) (d74f63c)
  • dev: CTL-1052 sidebar full-width/height, adjacent twisties, overlay dots, settings consolidation (#1844) (81c853d)
  • dev: CTL-1054 Queue becomes Dispatch + uniform slot-card anatomy (#1848) (d1168e5)
  • dev: CTL-1055 exclude terminal ghost sessions from admission-gate count (#1860) (489f36e)
  • dev: CTL-1058 — fix advance-shadow input-skew false disagreements via EDB-locked oracle (#1862) (477556b)
  • dev: CTL-1064 — Auto-Unstuck Deep-Dive Sweep (classify-then-act, Pass 0u) (#1880) (e5e99f9)
  • dev: CTL-1066 — queue board distinguishes held, retrying, and gave-up tickets (#1875) (c2e8929)
  • dev: CTL-1068 — retract orphaned held labels for admitted-then-failed tickets (#1878) (0cd8281)
  • dev: CTL-1071 — Catalyst Warm-Textbook Identity Spike (#1883) (9d34b28)
  • dev: CTL-729 — hung-worker watchdog + needs-attention surfacing (board + Inbox) (#1814) (095e514)
  • dev: CTL-863 — surviving hosts take over a dead host’s tickets and fence the zombie’s Linear writes (#1795) (a7b4d0e)

Bug Fixes

  • dev: CTL-1020 dependency graph draws its edges — directed blocker arrows (0f7a9a9)
  • dev: CTL-1028 plumb cluster generation through triage dispatch path (#1859) (cb8bdad)
  • dev: CTL-1031 — Linear label changes reach the read-model (Inbox lights up) (#1798) (ad21f42)
  • dev: CTL-1044 — shadow clock records evidence (operator-event appender + daemon wiring) (#1819) (10f16d8)
  • dev: CTL-1045 — stall-janitor enforce-readiness hardening (J2 kill-storm, J3 cause + prior-signal, once-marker) (#1826) (4dacdfb)
  • dev: CTL-1046 cross-team rows show titles on the control tower (4fdf722)
  • dev: CTL-1048 detail pages scroll from anywhere — dead wheel zones removed (#1837) (02a1391)
  • dev: CTL-1057 — gate HRW read-side filter on multiHost, add membership warning (#1863) (9ab5804)
  • dev: CTL-1075 — fix plan/implement dispatch gates silently fail open on macOS bash 3.2 (#1877) (af1387d)
  • dev: janitor shadow verdicts reach the log + dispatch failures carry stderr (#1847) (eb84808)

12.7.0 (2026-06-13) Latest

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)