Skip to content
All releases

Release

v1.2.3

What shipped, in numbers

The numbers for this release have not been computed yet.

What shipped

The War Room release. The Milestones/Sprints ledger becomes THE Tickets Cockpit — the screen a delivery manager lives in: behind or ahead, what next, and why — one screen. Built as a ratified design bundle executed by a ten-worker wave in a single day, verified end-to-end by an integration walkthrough, and cut for the first customer pilot.

The Tickets Cockpit (War Room)

  • The ledger renders all four levels — epic → milestone/sprint → umbrella → tickets — with honest cache-backed rollups, lit in production for the first time by the intel spine: one paginated open-ticket pass feeding ancestry, dependency edges, and planned dates (#4469, #4470).
  • A health widget band answers "is my project behind or ahead" in one fixation: Behind (red ▮) · On Track (green ●) · Ahead (blue ▲) — sprints and tickets counted over ACTIVE work only, honest — until data binds, and the numbers never move under any filter (#4475).
  • Standard PM English everywhere: every health, widget, and filter label reads the Behind / On Track / Ahead triad — zero Portuguese on the shipped screen, verified by an automated terminology gate (#4475, #4479).
  • Dependency visibility lands on the ledger: blocked tickets carry a ⊘ badge, the footer names each blocker and its state when the cursor rests on one, and the wide LANES · DEPS column lists blocker numbers — while the duplicated leaf status glyph dies, calming every row (#4477).
  • Select tickets with x/X, batch-assign the selection through one chooser (A), fire the ticket under the cursor (w) or the whole fireable selection against the RAM cap (F) — decide and execute without leaving the screen (#4469, #4471, #4472).
  • A leaf-lane filter (b) cycles All → To-do → Working → Done with truthful parent counts, an always-visible chip, and selection pruned to what's on screen (#4476).
  • Start waves from a sprint header (W) exactly as on the board, and open the gantt scoped by the cursor (t) — an epic opens the new all-sprints lens you can descend into; a sprint opens that sprint's timeline (#4473, #4474).
  • The composed cockpit is verified end-to-end: the Volan 10-step walkthrough replays headless, the canonical screenshot set lands at all three breakpoints (plus NO_COLOR), a milestone-bound umbrella no longer renders twice, and the legend and footer degrade honestly instead of overflowing narrow terminals (#4479).

Bar & shortcuts

  • The War Room takes the bar: W opens the tickets cockpit as a third white primary pill; k stays as a muscle-memory alias; O (Epics) moves off the bar with the screen unchanged; R opens Release Notes; type-ahead labels stop truncating (#4536).

ACE rail & desktop

  • A attach gets its full return path: leaving the inspect window tears it down and lands focus back where you were — completing the attach loop the previous release opened (#4535, #4482).
  • Switching projects — by click, Ctrl+K, or Alt+bracket — now always lands keyboard focus on the TUI, killing the extra click-or-Ctrl+J every switch used to cost (#4530).
  • An intentional pre-PR stop no longer renders a false ✕ ERRORED row (#4500).

Fleet visibility

  • Background agents become visible: an ACE-rail band plus a Workers-screen section project review-lease holders — vehicle, cohort, and out-of-band agents — with honest staleness notes instead of silence (#4498).

Launch lane

  • Volan device-export onboarding ships as a runbook with an honest completion signal, and the Notion import path gains a dry-run diff report with QA sign-off (#4505, #4394).
  • Identity/org linking lands its writer and org roll-up backfill behind a founder gate (#4499).
  • A release cut now opens the next staging lane automatically, and worker spawn refuses a silent main fallback between cuts (#4534).

Fixes

  • Stats records chip fits at 120×40, the Fleet Floor keeps its Done-table floor at 80×24, and a TransitionBus goroutine-leak de-flake lands (#4447); the Linux AppImage icon downscales to 512×512 so packaging stops rejecting it.

v1.2.3 — made with FlowForge