Build the Panes TUI #28
Notifications
Due Date
No due date set.
Blocks
Depends on
#30 Deliver make install
xavierk/Fenris
#32 Run the cross-cutting acceptance sweep
xavierk/Fenris
#27 Render fenris status as the read-only CLI twin
xavierk/Fenris
Reference: xavierk/Fenris#28
Reference in New Issue
Block a user
Parent
Implement the Fenris persistent TUI monitoring redesign
Canonical contracts: fenris-redesign spec · acceptance criteria — criterion IDs cited below live in the register.
What to build
The keyboard-first Panes TUI on Textual, per the normative layout: a full-width headline band (lifespan headline or its no-projection wording with the regime line; confidence state plus contributing facts; scenario range); a usage-history pane on the left (write-history sparkline with ▲ habit-change and ? unexplained-gap markers plus legend, habit-split bar with active/idle/powered-off/unknown shares); a drive-health and settings pane on the right (health facts, vendor-wear context line, read-only settings with the endurance baseline and its provenance label); a full-width service strip at the bottom (the four separate service facts, monitoring-period line, action legend). Bindings
ppause (asks confirmation, explaining that paused time is excluded from the usage habit),rresume (does not),ccollect now,ddisclosures,qquit. The disclosures view carries the six disclosures verbatim. An empty store greets "no observations yet" with an enable hint, and the first-run prompt is the opt-in that enables the timer and opens the first period in one step. Privileged actions are invoked as terminal-attached subprocesses of the helper so the platform polkit agent can prompt on the real terminal (the helper itself lands in its own ticket; its invocation contract is what this ticket builds against). Headless snapshot/pilot tests drive the layout and the state matrix.Acceptance criteria
p/r/c/d/qwith pause-asks/resume-doesn't asymmetry; no page navigation (TUI-2 UI side, TUI-4)Blocked by
Implemented in
a2f7b62. Panes TUI on Textual with four normative regions, keybindings p/r/c/d/q, terminal-attached subprocess for privileged actions, disclosures view, empty-store greeting, first-run opt-in. 35 headless tests pass covering CI-1 state matrix, TUI-1/TUI-4 layout, CI-4 disclosures, IN-3 first-run prompt, pause/resume asymmetry.