Browse local daily writes and hourly detail #75

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

Parent

Implement Fenris TUI polish and hourly history

What to build

Users browse retained writes as daily bars in their current timezone, choose a range/day, inspect hourly evidence and return using keyboard or mouse, including older controller segments. Covers TPH-8 and initial TPH-9 graph sizing behavior.

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

  • Render writes-only daily bars with 7/14/28/90-day ranges, default 14. All retained history and explicitly separated older controller segments remain browsable; current segment is the default.
  • Group by current-system local calendar boundaries, label timezone/offset, regroup after timezone changes without rewriting evidence, and handle fractional offsets plus 23/25-hour DST days and repeated hours with distinct offsets.
  • Use the approved allocated, unallocated, gap, zero, partial and selection glyphs with visible legend. Selected readouts show date, totals, evidenced hours, separate unallocated evidence, coverage and elapsed so-far facts. Never place a cross-day unknown share in a day bar as if allocated there.
  • Focusable graph supports arrow selection, Enter drill, Esc/Backspace back and 1/2/3/4 range switching, with clickable range/select/drill/back equivalents. Keep global pause/resume/collect/disclosures/quit actions available and graph focus hints visible.
  • Use a custom block-glyph renderable without a plotting dependency. Daily/hourly values come from published real evidence, not seeded synthetic aggregates at runtime; graph data is independent of lifespan readiness.
  • At 80×24 fit the default graph and hourly detail, including actual DST hours. Below that hide graph and show textual summary plus graph needs ≥80×24, preserving selected context and clearing stale state after resize. Final combined layout refinement belongs to the integration slice.
  • Headless TUI tests drive keyboard/mouse range→day→hours→back from collection/repair-generated fixtures, including zero, gaps, partial today, paused intervals, local-midnight ambiguity, timezone changes, missing legacy detail and older segments. Graph styling consumes theme roles so later presets can recolour it without changing evidence.

Blocked by

## Parent [Implement Fenris TUI polish and hourly history](https://git.bongbetic.com/xavierk/Fenris/issues/72) ## What to build Users browse retained writes as daily bars in their current timezone, choose a range/day, inspect hourly evidence and return using keyboard or mouse, including older controller segments. Covers TPH-8 and initial TPH-9 graph sizing behavior. 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 - [ ] Render writes-only daily bars with 7/14/28/90-day ranges, default 14. All retained history and explicitly separated older controller segments remain browsable; current segment is the default. - [ ] Group by current-system local calendar boundaries, label timezone/offset, regroup after timezone changes without rewriting evidence, and handle fractional offsets plus 23/25-hour DST days and repeated hours with distinct offsets. - [ ] Use the approved allocated, unallocated, gap, zero, partial and selection glyphs with visible legend. Selected readouts show date, totals, evidenced hours, separate unallocated evidence, coverage and elapsed so-far facts. Never place a cross-day unknown share in a day bar as if allocated there. - [ ] Focusable graph supports arrow selection, Enter drill, Esc/Backspace back and 1/2/3/4 range switching, with clickable range/select/drill/back equivalents. Keep global pause/resume/collect/disclosures/quit actions available and graph focus hints visible. - [ ] Use a custom block-glyph renderable without a plotting dependency. Daily/hourly values come from published real evidence, not seeded synthetic aggregates at runtime; graph data is independent of lifespan readiness. - [ ] At 80×24 fit the default graph and hourly detail, including actual DST hours. Below that hide graph and show textual summary plus graph needs ≥80×24, preserving selected context and clearing stale state after resize. Final combined layout refinement belongs to the integration slice. - [ ] Headless TUI tests drive keyboard/mouse range→day→hours→back from collection/repair-generated fixtures, including zero, gaps, partial today, paused intervals, local-midnight ambiguity, timezone changes, missing legacy detail and older segments. Graph styling consumes theme roles so later presets can recolour it without changing evidence. ## Blocked by - [Recover and retain existing observation history safely](https://git.bongbetic.com/xavierk/Fenris/issues/74)
xavierk added the ready-for-agent label 2026-09-13 21:03:21 +00:00
xavierk added a new dependency 2026-09-13 21:04:14 +00:00
xavierk added a new dependency 2026-09-13 21:04:23 +00:00
Author
Owner
-
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: xavierk/Fenris#75