Skip to content

feat: TUI overhaul — tasks, stats, search, help#2

Merged
bellatoris merged 5 commits intomasterfrom
feat/tui-overhaul
Mar 5, 2026
Merged

feat: TUI overhaul — tasks, stats, search, help#2
bellatoris merged 5 commits intomasterfrom
feat/tui-overhaul

Conversation

@gavin-jeong
Copy link
Copy Markdown
Collaborator

Summary

  • Collapsible task groups in conversation view with fold/unfold, per-message task markers, and inline task extraction from JSONL
  • Rich stats dashboard — cost estimate (per-model pricing), turns/request, compaction count, model switches, agent spawns, message gap timing, activity timeline sparklines
  • Viewport search (/) in message full view with n/N navigation and match count
  • Help overlay (?) showing badges, search filters, and keybindings
  • Module rename from keyolk/ccx to sendbird/ccx

Test plan

  • Open session with tasks → single ▸ Tasks [N/M ✓] group under last task-touching message
  • Enter/→ on task group → expands individual tasks with IDs
  • Session stats → shows cost, turns/req sparkline, activity timeline, efficiency section
  • Global stats (S) → shows daily activity, total cost, model switches
  • / in message full view → search with match highlighting and n/N navigation
  • ? in sessions list → help overlay with esc/q listed
  • go build ./... and go vet ./... pass clean

- Session stats: message activity sparkline over session duration with time axis
- Global stats: daily activity sparkline showing sessions per day with date axis
- Collect per-message timestamps and session start times for visualization
- Session stats: red error sparkline aligned with activity timeline (same time axis)
- Global stats: daily error sparkline aligned with session activity
- Collect error timestamps from is_error:true tool results during scanning
- Helps identify when broken tools/skills/MCPs cause error spikes
Shows tools/skills/commands sorted by error count with per-tool error rate.
Helps identify which specific tools or MCPs are causing the most failures.
- Replace ~200 lines of modal overlay code with live preview in split pane
- L key now shows tmux pane capture in the preview panel (1s refresh)
- Tab cycling skips live mode (only entered via L key)
- Non-live sessions show "(not a live session)" when in live mode
- Add Apache 2.0 LICENSE
- Add GitHub Actions: CI (test/vet on PR) and Release (multi-arch binaries)
- Add test/vet targets to Makefile
- Add live_preview_test.go with 10 unit tests
- Remove flaky e2e tests that depended on local sessions
@bellatoris bellatoris merged commit 0cac0f4 into master Mar 5, 2026
3 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants