Active Sprint Sidebar
Active Work in View
The sprint sidebar follows the running row instead of the end of the tree.
0 milestones 1 tasks 4 agents
2 plan 1 execute 1 review
130k peak context
15m 54s total 8m 42s per task
1m 51s plan 6m 44s execute 1m 34s review
9 edits 71 commands
codex harness
This run changed a small but visible part of Gantry's terminal monitor: the sprint sidebar no longer treats automatic follow as a blind jump to the end of the roster. When the tree overflows, follow mode tracks the row that represents the current work, with fallback rows for milestone-only and finished states, while manual scrolling keeps the existing contract.
The scope was deliberately local. The shared scroll state still serves tail-following surfaces such as the feed, chat, and log viewers, but the sidebar now has a draw-time path that can use task-tree context when it knows which row matters. In the current tree, that behavior is still visible in the TUI renderer and scroll model.
How this walkthrough is structured
Feature
What did the run build and ship?
The sidebar now centers automatic follow on the active sprint or fallback work row while preserving ordinary tail-follow scrolling for other TUI panes.
Build
How did Gantry structure the work?
The run kept a user-visible TUI fix in one focused sprint, and the boundary stayed green because the cut isolated sidebar placement from shared tail-follow behavior.
Active Sprint Focus
2 agents 8m 42s wall time 130k peak context
The current renderer still walks the task tree, records the active leaf or active ancestor row, appends the trailing end cue only when the tree overflows, and asks the sidebar scroll state to follow that row. The shared scroll object still has its ordinary bottom clamp, plus a row-targeted clamp used where the caller can name a meaningful target. Tests in the live tree cover manual scroll away and refollow for the sidebar, while the shared scroll test keeps the older tail-follow contract pinned for other panes. The archived run scaffolding is gone, but the TUI behavior and its regression coverage remain.
This sprint carried the whole behavioral change: compute the row that represents active work, apply it only to the sidebar, and keep manual follow handoff intact. That was small enough for a fresh agent because the brief named both sides of the boundary: active-row placement belonged in the sidebar, while feed, chat, session, and log consumers kept the shared tail rule. The run facts show no repair or replan at this unit, so the interesting fact is the clean boundary rather than a failure point. The gate and review accepted the cut with the sidebar-specific behavior and the non-sidebar regression check in the same slice.