Skip to content

feat: catch-up date projection in report#16

Merged
richhaase merged 2 commits intomainfrom
feat/catchup-projection
Mar 25, 2026
Merged

feat: catch-up date projection in report#16
richhaase merged 2 commits intomainfrom
feat/catchup-projection

Conversation

@richhaase
Copy link
Copy Markdown
Owner

Summary

  • Replaces lifetime-average projection with rolling 4-week average from completed weeks (excludes current partial week)
  • When behind pace, shows one of three states:
    • Catch-up date: "At your recent pace of X m/wk, you'll be back on target by May 4 (3 weeks from now)"
    • Won't catch up: honest warning when recent pace is below target weekly, shows the gap
    • Already on pace: green confirmation when ahead of the target line
  • Renamed projection card from "At Current Pace" → "At Recent Pace" with the 4-wk avg clearly labeled
  • Added a season avg vs recent avg comparison in the path-forward summary

Test plan

  • All 61 existing tests pass
  • Smoke tested report generation — new sections render correctly
  • Verify catch-up date appears correctly when weekly volume exceeds target pace
  • Verify "on pace" state when ahead of target

🤖 Generated with Claude Code

richhaase and others added 2 commits March 25, 2026 06:26
Replace the naive "at current pace" projection (which uses lifetime
average) with a rolling 4-week completed-weeks average. When behind
pace, the report now shows either:
- When you'll catch up (week + date) at recent training volume
- An honest "won't catch up at recent pace" with the gap to close

This gives actionable feedback instead of just an increasingly scary
required-pace number.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@richhaase richhaase merged commit 5171dc5 into main Mar 25, 2026
1 check passed
@richhaase richhaase deleted the feat/catchup-projection branch March 25, 2026 12:33
richhaase added a commit that referenced this pull request Mar 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant