Fenris TUI polish and hourly history #65

Closed
opened 2026-09-11 04:07:41 +00:00 by xavierk · 1 comment
Owner

Destination

An approved, implementation-ready companion specification for a polished Fenris TUI: clear identity and monitoring state, trustworthy hourly usage history with drill-down, colour presets, drive-health placement, and honest data-availability/warm-up messaging. The route ends at human approval and handoff, not implementation.

Notes

  • Domain: Fenris observation history, projection confidence, monitoring lifecycle, and Panes TUI. Read CONTEXT.md, docs/agents/domain.md, and applicable ADRs. Every decision session uses grilling + domain-modeling; prototype tickets additionally use prototype and verify framework facts against current documentation.
  • Planning only. Decision comments are authoritative; prototypes and the final companion spec are linked assets. Do not change production code, run a release, or treat this map as implementation slices. Claim an unassigned, unblocked ticket before work; resolve at most one HITL ticket per session.
  • Human-approved inputs from charting: top titlebox reads 🐺 Fenris by Bongbetic; vendor wear moves from Settings to Drive health. Blinking green Monitoring, explicit Collecting, steady amber Paused, red Error/Stale, with text always visible and no animation implying successful collection.
  • Human-approved inputs: bytes written per hour is the graph default; reads are optional, not a committed feature. Investigate meaningful daily candles against hourly bars before choosing. Support keyboard and clickable range selection → selected day → hourly detail → back.
  • Human-approved inputs: presets first (Amber, Nord, High Contrast), no custom colour editor. Amber graph in default preset; other presets may change it. Preserve projection-confidence rules. Show conditional remaining-hour estimates separately from first graph-data availability; no promised countdown when evidence is insufficient.
  • Existing contracts remain binding unless explicitly amended here: no fabricated history, gaps are not zero usage, controller-segment boundaries, deliberate-disable semantics, boot/runtime separation, TUI/CLI wording parity, quit-versus-pause distinction, and polkit-accurate authentication.
  • Prior effort: Chart Fenris dashboard clarity is closed; Implement dashboard clarity and release notes is also closed. This handoff is a new follow-on effort, not a rewrite of that shipped umbrella. New top branding intentionally replaces prior header/service-credit placement in the forthcoming spec; unrelated clarity and release requirements remain intact. Do not close or rewrite those issues as part of charting. Keep docs/spec/fenris-redesign.md frozen; use a companion spec and explicit acceptance amendments.
  • Read-only source inspection found a missing normal-collection aggregation path, not a history warm-up gate. The hourly-data decision owns the evidence and end-to-end planning implications. Deployed database/version was not inspected; do not claim runtime diagnosis.

Decisions so far

  • Choose daily graph encoding and hourly drill-down: Daily bars with hourly drill-down adopted, candles rejected, reads out of scope; 7/14/28/90-day ranges defaulting to 14; keyboard+click navigation; zero/gap/unallocated rendered distinctly; graph at 80×24, textual summary below.

Not yet specified

None.

Out of scope

  • Read-throughput graph selector: writes-only graph confirmed; reads display work sits beyond this destination (Choose daily graph encoding and hourly drill-down ruled it out).

  • Production implementation, tests executed as release gates, package publishing, installation changes, or closing the prior implementation umbrella. A fresh execution effort follows handoff.

  • Changing lifespan mathematics, evidence/confidence thresholds, or collector cadence merely to make the display look ready; fabricated or interpolated missing history.

  • Custom colour editor, web GUI, notifications, unrelated release-workflow changes, or a general application redesign beyond the named TUI requirements.

## Destination An approved, implementation-ready companion specification for a polished Fenris TUI: clear identity and monitoring state, trustworthy hourly usage history with drill-down, colour presets, drive-health placement, and honest data-availability/warm-up messaging. The route ends at human approval and handoff, not implementation. ## Notes - Domain: Fenris observation history, projection confidence, monitoring lifecycle, and Panes TUI. Read `CONTEXT.md`, `docs/agents/domain.md`, and applicable ADRs. Every decision session uses grilling + domain-modeling; prototype tickets additionally use prototype and verify framework facts against current documentation. - Planning only. Decision comments are authoritative; prototypes and the final companion spec are linked assets. Do not change production code, run a release, or treat this map as implementation slices. Claim an unassigned, unblocked ticket before work; resolve at most one HITL ticket per session. - Human-approved inputs from charting: top titlebox reads `🐺 Fenris by Bongbetic`; vendor wear moves from Settings to Drive health. Blinking green Monitoring, explicit Collecting, steady amber Paused, red Error/Stale, with text always visible and no animation implying successful collection. - Human-approved inputs: bytes written per hour is the graph default; reads are optional, not a committed feature. Investigate meaningful daily candles against hourly bars before choosing. Support keyboard and clickable range selection → selected day → hourly detail → back. - Human-approved inputs: presets first (Amber, Nord, High Contrast), no custom colour editor. Amber graph in default preset; other presets may change it. Preserve projection-confidence rules. Show conditional remaining-hour estimates separately from first graph-data availability; no promised countdown when evidence is insufficient. - Existing contracts remain binding unless explicitly amended here: no fabricated history, gaps are not zero usage, controller-segment boundaries, deliberate-disable semantics, boot/runtime separation, TUI/CLI wording parity, quit-versus-pause distinction, and polkit-accurate authentication. - Prior effort: [Chart Fenris dashboard clarity](https://git.bongbetic.com/xavierk/Fenris/issues/55) is closed; [Implement dashboard clarity and release notes](https://git.bongbetic.com/xavierk/Fenris/issues/61) is also closed. This handoff is a new follow-on effort, not a rewrite of that shipped umbrella. New top branding intentionally replaces prior header/service-credit placement in the forthcoming spec; unrelated clarity and release requirements remain intact. Do not close or rewrite those issues as part of charting. Keep `docs/spec/fenris-redesign.md` frozen; use a companion spec and explicit acceptance amendments. - Read-only source inspection found a missing normal-collection aggregation path, not a history warm-up gate. The hourly-data decision owns the evidence and end-to-end planning implications. Deployed database/version was not inspected; do not claim runtime diagnosis. ## Decisions so far - [Choose daily graph encoding and hourly drill-down](https://git.bongbetic.com/xavierk/Fenris/issues/68): Daily bars with hourly drill-down adopted, candles rejected, reads out of scope; 7/14/28/90-day ranges defaulting to 14; keyboard+click navigation; zero/gap/unallocated rendered distinctly; graph at 80×24, textual summary below. <!-- One linked gist per resolved decision ticket; detail lives in its resolution comment. --> - [Define trustworthy hourly history and first-data availability](https://git.bongbetic.com/xavierk/Fenris/issues/66#issuecomment-5582): Local-calendar browsing, retained usage intervals, prompt measured partial history, explicit unallocated usage, and safe repair/retention; UTC projection-accounting follow-on ticketed. - [Reconcile unallocated usage with UTC projection evidence](https://git.bongbetic.com/xavierk/Fenris/issues/71#issuecomment-5602): Exact evidence-anchored windows, complete-numerator rates, independent coverage/byte allocation, provisional UTC qualification and safe segment/legacy eligibility; strict unavailability accepted. - [Define monitoring signals and honest warm-up estimates](https://git.bongbetic.com/xavierk/Fenris/issues/67#issuecomment-5607): Eight-state status lattice (Monitoring/Collecting/Paused/Waiting/Interrupted/Error/Stale/Unknown) with precedence, glyphs and 1.5 s blink, 5 s poll vs 5-min refresh, warm-up progress block and withheld-estimate wording; CLI parity. - [Approve titlebox, health layout and colour presets](https://git.bongbetic.com/xavierk/Fenris/issues/69#issuecomment-5618): Titlebox/fallback approved; duplicate maker-credit removed; vendor wear under Drive health; Amber/Nord/High Contrast presets with status semantics precedence; user-scoped TUI preferences, reduced motion and narrow-layout fallback fixed. - [Approve the Fenris TUI polish specification and handoff](https://git.bongbetic.com/xavierk/Fenris/issues/70#issuecomment-5627): Human approved the companion spec, acceptance amendments, and glossary handoff as implementation-ready; no new decision fog remains. ## Not yet specified None. ## Out of scope - Read-throughput graph selector: writes-only graph confirmed; reads display work sits beyond this destination ([Choose daily graph encoding and hourly drill-down](https://git.bongbetic.com/xavierk/Fenris/issues/68) ruled it out). - Production implementation, tests executed as release gates, package publishing, installation changes, or closing the prior implementation umbrella. A fresh execution effort follows handoff. - Changing lifespan mathematics, evidence/confidence thresholds, or collector cadence merely to make the display look ready; fabricated or interpolated missing history. - Custom colour editor, web GUI, notifications, unrelated release-workflow changes, or a general application redesign beyond the named TUI requirements.
xavierk added this to the Wayfinder: Fenris TUI polish and hourly history milestone 2026-09-11 04:07:41 +00:00
xavierk added the wayfinder:map label 2026-09-11 04:07:41 +00:00
Author
Owner

Map closed — destination reached.

All in-scope fog is settled and all child decision tickets are closed. Final approved handoff: Approve the Fenris TUI polish specification and handoff → wayfinder/tui-polish-hourly-history-spec, commit d894ae2.

Execution remains a separate effort; no production code, release gate, package, or installation change happened in this map.

Map closed — destination reached. All in-scope fog is settled and all child decision tickets are closed. Final approved handoff: [Approve the Fenris TUI polish specification and handoff](https://git.bongbetic.com/xavierk/Fenris/issues/70#issuecomment-5627) → [wayfinder/tui-polish-hourly-history-spec](https://git.bongbetic.com/xavierk/Fenris/src/branch/wayfinder/tui-polish-hourly-history-spec), commit `d894ae2`. Execution remains a separate effort; no production code, release gate, package, or installation change happened in this map.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: xavierk/Fenris#65