Problem
The current TUI cockpit/sidebar can surface stale or low-signal state in ways that make the app feel busy without being useful. A recent screenshot showed the right-side Tasks panel still highlighting a failed gh issue create ... command even though the main flow had moved on, while other panels were clipped/truncated enough that the visible text did not explain what mattered.
This is not just visual polish. It weakens trust in the state surface: if the UI foregrounds an old failed command without explaining whether it is still actionable, users have to mentally diff the interface against the actual task.
Observed UX issues
Recent tools can keep a failed CLI command visible after it is no longer the most useful status.
- The failure text is truncated (
Command failed (exit cod...) and does not explain whether the user needs to act.
- Sidebar panels use heavy boxes and repeated separators, which compete with the transcript and composer.
- Work items and agent rows are clipped (
in_prog..., st...) so the UI shows activity without enough meaning.
- The composer takes a large fixed area even when empty, reducing space for the main transcript.
- The bottom status line is dense and partly redundant with the sidebar (
agents, step, elapsed time, model, live state).
- The main transcript can show verbose patch/diff output while the side panels simultaneously show stale task status, making it hard to know the current center of attention.
Desired direction
Treat the right-side panels as a truth surface, not a log sampler.
- Show current actionable state first: active wait, blocked reason, running command, pending approval, failed action that still needs attention, or clear idle/done.
- Demote old failures once acknowledged, superseded, or no longer relevant.
- If a failure remains visible, show the actionability: retry, inspect, ignore, linked detail, or already handled.
- Prefer detail handles/pagers for verbose command output instead of clipping important meaning.
- Keep typography and borders quiet enough that the active task, composer, and transcript have a clear hierarchy.
Acceptance criteria
- A failed tool/CLI item does not remain foregrounded as the active status after the task has moved on unless it is still actionable.
- Recent tool failures have a concise reason and a way to inspect details.
- Sidebar rows avoid meaningless truncation for status-critical text.
- The UI has one obvious center of attention across transcript, sidebar, composer, and bottom status line.
- Regression coverage or a screenshot/manual smoke path verifies stale failed-command state is cleared, demoted, or marked handled.
Related roadmap
- v0.8.43 truth surface: active state, last event, stall/failure reason, evidence/provenance.
- v0.8.48 presence pass: visual hierarchy, first-run/main-loop polish, task finale, and noise budget.
Problem
The current TUI cockpit/sidebar can surface stale or low-signal state in ways that make the app feel busy without being useful. A recent screenshot showed the right-side
Taskspanel still highlighting a failedgh issue create ...command even though the main flow had moved on, while other panels were clipped/truncated enough that the visible text did not explain what mattered.This is not just visual polish. It weakens trust in the state surface: if the UI foregrounds an old failed command without explaining whether it is still actionable, users have to mentally diff the interface against the actual task.
Observed UX issues
Recent toolscan keep a failed CLI command visible after it is no longer the most useful status.Command failed (exit cod...) and does not explain whether the user needs to act.in_prog...,st...) so the UI shows activity without enough meaning.agents, step, elapsed time, model, live state).Desired direction
Treat the right-side panels as a truth surface, not a log sampler.
Acceptance criteria
Related roadmap