Skip to content

feat: TUI at full dashboard parity — Miller columns, background scan, all sections#80

Merged
N4M3Z merged 1 commit into
mainfrom
p2b-parity
Jul 9, 2026
Merged

feat: TUI at full dashboard parity — Miller columns, background scan, all sections#80
N4M3Z merged 1 commit into
mainfrom
p2b-parity

Conversation

@N4M3Z

@N4M3Z N4M3Z commented Jul 9, 2026

Copy link
Copy Markdown
Owner

Approach

Reworks the terminal UI to feature-parity with the web dashboard. Miller drill-down columns (sections → list → tabbed detail, gitui-style). Background scan on a thread so the shell renders instantly instead of blocking 7–9s on git. ? help overlay from a shared KEYBINDINGS table. Enter routed to the focused column. Tabbed artifact detail (Preview/Code/Diff/Provenance/Frontmatter/History/Companions), ADRs, provenance/integrity, variants, search filters+sorts, and Settings/Hooks/Config/Schemas browsers — every dashboard section (13 total). Pure view builders and the config/hooks/schemas readers promoted to commands::services (builders, files), shared by dashboard and TUI.

Adversarial review (agy / Gemini 3.1 Pro, three passes)

Six real issues found and fixed with regression tests: untypeable search box (global keys shadowed input), detail-tab digit shortcuts shadowed, list_rows() recomputed 3×/frame (would re-freeze the UI), sync provider/watchlist loads before first render, file-browser symlink arbitrary-read (a settings.json~/.ssh/id_rsa leak), and unbounded config-file read.

Test plan

  • fmt / clippy --features tui -D warnings / test --features tui
  • cargo build (default), --features tui, --features dashboard all compile
  • content-asserting TestBackend render tests per section + the six fix regressions
  • CI matrix

Follow-up (not in this PR)

Syntax highlighting (glow), line-annotation→tuicr export, column-width auto-adjust.

🤖 Generated with Claude Code

… all sections

Rework the terminal UI to feature-parity with the web dashboard. Miller
drill-down columns (sections -> list -> tabbed detail, gitui-style, equal
width). Background scan on a thread so the shell renders instantly instead of
blocking on git. ? help overlay from a shared KEYBINDINGS table. Enter routed
to the focused column. Artifact detail tabs (Preview/Code/Diff/Provenance/
Frontmatter/History/Companions); ADRs; provenance/integrity; variants; search
with filters+sorts; and Settings/Hooks/Config/Schemas file browsers — every
dashboard section. Pure view builders and the config/hooks/schemas readers
promoted to commands::services (builders, files), shared by dashboard and TUI.
Cached per-frame list rows; search-input and detail-tab key routing fixed.
Follow-up: line annotation -> tuicr export from the Code tab.
@N4M3Z N4M3Z merged commit fd28fb5 into main Jul 9, 2026
4 checks passed
@N4M3Z N4M3Z deleted the p2b-parity branch July 9, 2026 07:20
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.

1 participant