mirror of
https://github.com/kuhyx/screen-locker.git
synced 2026-11-10 19:27:15 +01:00
Adds StatusSectionsMixin._section_streak, called from StatusWindow.render: the stored consecutive 5+-workout-week streak and the reward message the week transition produced, display only. A streak of 0 is stated plainly, never padded; a "Streak reset" message is warning-coloured, not green. get_status already returned the streak (it is asdict(gather_status())); StatusSnapshot gains week_rewards. The week-transition strings used to go to _logger.info only. process_week_transition now also keeps them under a week_rewards key in the existing extra_benefits_state.json (no new file), read back for the current ISO week by week_rewards(). Their "early-bird extended to 09:00" clause is dropped: early_bird_extended is read only by display code, no lock or window decision uses it (early bird is wake-alarm's signed exemption since 2026-09-20), so it is not shown in the window either. Per kuhy: no daily-streak state, no shutdown time for streaks, no freezes or grace days; no enforcement logic touched. Red first: new section/state/snapshot tests failed, then passed. On a scratch copy of the real state the window shows "7-week streak" and "6 workouts in 2026-W43! 7-week streak", no early-bird line. Removes prompts/TODO-dopamine-ux-04-screen-locker.md (done). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WzxdWYdwRAtMg7ki6TKxuU |
||
|---|---|---|
| .. | ||
| TODO-dopamine-ux-05-workout-app.md | ||