Skip to content

TUI cockpit shows stale low-signal state and clipped recent-tool failures #1884

@Hmbown

Description

@Hmbown

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or request

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions