Show an endurance outlook after a complete observation day #94

Closed
opened 2026-09-17 10:33:45 +00:00 by xavierk · 0 comments
Owner

Parent

Implement live daily drive activity, keyboard date navigation, and an endurance outlook

What to build

Use the agreed local-day evidence to withhold the usage-adjusted theoretical lifespan until one full local calendar day has been observed, then show an estimate with categorical projection confidence whenever the existing baseline and rate rules support it. Deliver consistent user-visible behavior in both TUI and CLI, reusing the existing model rather than adding a daily-volume predictor or a physical-failure forecast.

All behavior follows the parent specification, including its precedence over conflicting earlier TUI requirements. The approved proof uses controlled acquisition and time through a real observation store into public TUI/CLI results; preserve the existing collector/reader ownership and no-fabrication rules.

Acceptance criteria

  • Apply the complete-observation-day gate in the shared projection/read contract so TUI and CLI agree. Reuse the local-day evidence established by the blocker rather than reimplementing timezone boundaries in a widget.
  • With Monday-noon setup, show no endurance number on Tuesday at noon merely because 24 hours elapsed. After a usable full Tuesday, allow eligibility at Wednesday 00:00; before that, show an explicit waiting-for-a-full-local-day reason.
  • A partial first day, deliberately disabled span, or day without usable evidence cannot independently satisfy the gate. Follow actual daylight-saving boundaries, and keep missing evidence subject to the existing validity/coverage rules.
  • After the gate, an applicable baseline and usable positive write rate permit an estimate with Limited confidence and concrete contributing facts while longer warm-up continues. Preserve Supported-confidence criteria and existing segment/reset/identity semantics.
  • Validate the projected remaining endurance using known lifetime-written counters for consumed allowance and observation-window deltas for the usage rate. Reads do not consume write endurance, and browsing another date or changing the plotted measurement does not change the projection window.
  • Preserve explicit missing-baseline, unsupported/invalid write-counter, zero-rate, stale-evidence, and controller-change behavior. No invented baseline, failure date, numeric confidence percentage, or generic low-confidence label may conceal an unavailable prerequisite.
  • Label the result as the usage-adjusted theoretical lifespan or clearly explained remaining write endurance if observed habits continue, not an expected physical failure date. Preserve baseline setup guidance and the existing zero-rate explanation.
  • Drive controlled collection and time through the real store into the public projection and rendered TUI/CLI. Assert eligibility times, an independently calculated number, and visible confidence/reasons; reuse projection and parity fixtures.
  • Keep the outlook, confidence, and reasons accessible in both normal and constrained terminal views. Update the corresponding minimum-evidence documentation/acceptance contract as an explicit amendment to the prior immediate-estimate behavior.

Blocked by

## Parent [Implement live daily drive activity, keyboard date navigation, and an endurance outlook](https://git.bongbetic.com/xavierk/Fenris/issues/88) ## What to build Use the agreed local-day evidence to withhold the usage-adjusted theoretical lifespan until one full local calendar day has been observed, then show an estimate with categorical projection confidence whenever the existing baseline and rate rules support it. Deliver consistent user-visible behavior in both TUI and CLI, reusing the existing model rather than adding a daily-volume predictor or a physical-failure forecast. All behavior follows the parent specification, including its precedence over conflicting earlier TUI requirements. The approved proof uses controlled acquisition and time through a real observation store into public TUI/CLI results; preserve the existing collector/reader ownership and no-fabrication rules. ## Acceptance criteria - [ ] Apply the complete-observation-day gate in the shared projection/read contract so TUI and CLI agree. Reuse the local-day evidence established by the blocker rather than reimplementing timezone boundaries in a widget. - [ ] With Monday-noon setup, show no endurance number on Tuesday at noon merely because 24 hours elapsed. After a usable full Tuesday, allow eligibility at Wednesday 00:00; before that, show an explicit waiting-for-a-full-local-day reason. - [ ] A partial first day, deliberately disabled span, or day without usable evidence cannot independently satisfy the gate. Follow actual daylight-saving boundaries, and keep missing evidence subject to the existing validity/coverage rules. - [ ] After the gate, an applicable baseline and usable positive write rate permit an estimate with Limited confidence and concrete contributing facts while longer warm-up continues. Preserve Supported-confidence criteria and existing segment/reset/identity semantics. - [ ] Validate the projected remaining endurance using known lifetime-written counters for consumed allowance and observation-window deltas for the usage rate. Reads do not consume write endurance, and browsing another date or changing the plotted measurement does not change the projection window. - [ ] Preserve explicit missing-baseline, unsupported/invalid write-counter, zero-rate, stale-evidence, and controller-change behavior. No invented baseline, failure date, numeric confidence percentage, or generic low-confidence label may conceal an unavailable prerequisite. - [ ] Label the result as the usage-adjusted theoretical lifespan or clearly explained remaining write endurance if observed habits continue, not an expected physical failure date. Preserve baseline setup guidance and the existing zero-rate explanation. - [ ] Drive controlled collection and time through the real store into the public projection and rendered TUI/CLI. Assert eligibility times, an independently calculated number, and visible confidence/reasons; reuse projection and parity fixtures. - [ ] Keep the outlook, confidence, and reasons accessible in both normal and constrained terminal views. Update the corresponding minimum-evidence documentation/acceptance contract as an explicit amendment to the prior immediate-estimate behavior. ## Blocked by - [Show trustworthy local-day activity totals](https://git.bongbetic.com/xavierk/Fenris/issues/90)
xavierk added the ready-for-agent label 2026-09-17 10:33:45 +00:00
xavierk added a new dependency 2026-09-17 10:34:11 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Reference: xavierk/Fenris#94