Fix goal mode layout overflow and active-step rendering - #315
Conversation
Constrain GoalView and TaskView to terminal width so long briefs and Work step titles truncate instead of colliding with chrome. Collapse the phase trail on narrow terminals, clear the "Goal set." banner once goal UI is live, and keep Work progress as a single non-overprinting heading. Closes CL-5343
Code review (parent — multi-agent fleet unavailable)Verdict: approve with watch items (goal-mode layout) Strengths
Watch
|
Review — approveSolid layout fix for CL-5343. Width constraints + single-node Work heading address the collision classes cleanly, and the unit tests pin the regressions that matter ( Correctness
Non-blocking notes
Tests — good coverage of the failure modes. Manual long-brief check still open in the PR body. Merge conflicts — clean vs main; no overlap with #316/#317. Verdict: approve (merge when ready) |
The first-line clamp dropped /goal status, pause/resume, and already-active guidance. Render every line and reserve chrome rows to match.
Multi-agent review (blended: cto / greybeard / neckbeard / critique / bruckheimer)Verdict: Approve (after post-review fix) Fixed from review
Remaining non-blocking notes
Ready for human review/merge. |
Hard review (greybeard + CTO)Verdict: APPROVE GreybeardChrome accounting now matches multi-line command banners; Goal chrome is width-constrained with truncate; active criterion is explicit; “Goal set.” is one-shot and clears when GoalView is live. This fixes the real overflow stack (banner + brief + Work) instead of painting over it. CTOScope is right-sized for the bug. Tests cover banner text and goal-view behavior. Merge independently of the rest of the ship set. No blockers. |
Rules of Hooks: the hook must run on every render even when status is inactive or cleared, so a later active mount keeps stable hook order.
Summary
GoalView/TaskViewto terminal width so long briefs and Work step titles truncate instead of colliding with chrome or neighboring linesGoal set.banner once goal UI is liveWork 3/11) so labels no longer merge into active step textAcceptance (CL-5343)
Work03/11character collision)Goal set.disappears after goal UI is shownTest plan
bun run typecheckbun run buildbun test tests/unit/tui/goal-view.test.tsx tests/unit/tui/task-view.test.tsx src/tui/commands/goal.test.ts(21 pass)/goalwith a long brief; confirm Work list stays scannable while a step is activeCloses CL-5343