Make the combined dashboard usable at constrained sizes #81

Closed
opened 2026-09-13 21:03:54 +00:00 by xavierk · 1 comment
Owner

Parent

Implement Fenris TUI polish and hourly history

What to build

The complete polished dashboard remains readable and navigable when graph, evidence progress, status reasons, health facts and preferences coexist at 80×24 and below. This slice owns integrated layout behavior, not tests deferred from earlier slices. Covers integrated TPH-9 and cross-cutting TPH regression proof.

Implement the approved companion contract and applicable TPH acceptance amendments linked from the parent. Preserve the frozen redesign, lifecycle/security boundaries, existing evidence thresholds and mathematics except explicit approved accounting amendments. Reuse existing seams; any necessary prefactoring precedes behavior changes within this slice. No release, deployment, or parent-issue changes.

Acceptance criteria

  • At 80×24 display the approved default range and hourly drill-down within the combined layout while keeping titlebox, status/reasons, health, service facts and quit/action access usable; accommodate actual DST-hour counts.
  • Below 80×24 hide graph and show textual history summary plus exactly graph needs ≥80×24. Selected-day context survives; resize back restores coherent selection/range and never stale graph state. Essential text/actions remain reachable rather than invisibly clipped.
  • Long failed/paused/degraded/allocation-unavailable/warm-up reasons remain text-visible across Amber/Nord/High Contrast and reduced motion. Keyboard/mouse focus traversal reaches graph, settings/preferences and global actions without conflicts.
  • Exercise real collection→publication→read-only history/projection→TUI/CLI consumption, not solely independently seeded UI fixtures. Demonstrate first evidence, unallocated writes, gaps/zero, qualifying progress, paused/resumed and failed/retry states through the combined system.
  • Run combined headless size/resize, keyboard/mouse and CLI-parity regressions plus targeted systemd/polkit and manual accessibility checks where automation cannot prove behavior. Confirm title/preferences are TUI-only, quit never pauses, no reader writes observation history and newer-schema/store-fault protections hold.
  • Trace all TPH-1–TPH-11 criteria and preserved dashboard clarity contracts to proof from this and preceding slices. Report environmental probe limitations honestly; no release/package/deployment work or parent issue modification is part of this ticket.

Blocked by

## Parent [Implement Fenris TUI polish and hourly history](https://git.bongbetic.com/xavierk/Fenris/issues/72) ## What to build The complete polished dashboard remains readable and navigable when graph, evidence progress, status reasons, health facts and preferences coexist at 80×24 and below. This slice owns integrated layout behavior, not tests deferred from earlier slices. Covers integrated TPH-9 and cross-cutting TPH regression proof. Implement the approved companion contract and applicable TPH acceptance amendments linked from the parent. Preserve the frozen redesign, lifecycle/security boundaries, existing evidence thresholds and mathematics except explicit approved accounting amendments. Reuse existing seams; any necessary prefactoring precedes behavior changes within this slice. No release, deployment, or parent-issue changes. ## Acceptance criteria - [ ] At 80×24 display the approved default range and hourly drill-down within the combined layout while keeping titlebox, status/reasons, health, service facts and quit/action access usable; accommodate actual DST-hour counts. - [ ] Below 80×24 hide graph and show textual history summary plus exactly graph needs ≥80×24. Selected-day context survives; resize back restores coherent selection/range and never stale graph state. Essential text/actions remain reachable rather than invisibly clipped. - [ ] Long failed/paused/degraded/allocation-unavailable/warm-up reasons remain text-visible across Amber/Nord/High Contrast and reduced motion. Keyboard/mouse focus traversal reaches graph, settings/preferences and global actions without conflicts. - [ ] Exercise real collection→publication→read-only history/projection→TUI/CLI consumption, not solely independently seeded UI fixtures. Demonstrate first evidence, unallocated writes, gaps/zero, qualifying progress, paused/resumed and failed/retry states through the combined system. - [ ] Run combined headless size/resize, keyboard/mouse and CLI-parity regressions plus targeted systemd/polkit and manual accessibility checks where automation cannot prove behavior. Confirm title/preferences are TUI-only, quit never pauses, no reader writes observation history and newer-schema/store-fault protections hold. - [ ] Trace all TPH-1–TPH-11 criteria and preserved dashboard clarity contracts to proof from this and preceding slices. Report environmental probe limitations honestly; no release/package/deployment work or parent issue modification is part of this ticket. ## Blocked by - [Browse local daily writes and hourly detail](https://git.bongbetic.com/xavierk/Fenris/issues/75) - [Show honest qualifying-day progress and confidence](https://git.bongbetic.com/xavierk/Fenris/issues/77) - [Apply Fenris identity and Drive health grouping](https://git.bongbetic.com/xavierk/Fenris/issues/79) - [Persist accessible colour and motion preferences](https://git.bongbetic.com/xavierk/Fenris/issues/80)
xavierk added the ready-for-agent label 2026-09-13 21:03:54 +00:00
xavierk added a new dependency 2026-09-13 21:04:23 +00:00
xavierk added a new dependency 2026-09-13 21:04:24 +00:00
xavierk added a new dependency 2026-09-13 21:04:26 +00:00
xavierk added a new dependency 2026-09-13 21:04:27 +00:00
Author
Owner

Resolved in commit 197e8ed. Implementation adds terminal size detection (_MIN_WIDTH=80, _MIN_HEIGHT=24), constrained CSS layout with textual summary, resize handling with state preservation, and 13 headless tests covering all acceptance criteria.

Resolved in commit 197e8ed. Implementation adds terminal size detection (_MIN_WIDTH=80, _MIN_HEIGHT=24), constrained CSS layout with textual summary, resize handling with state preservation, and 13 headless tests covering all acceptance criteria.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: xavierk/Fenris#81