45ef3a2058
evaluate_weekly_goals only ran the roll on GameWonEvent, so stale goal progress from a prior week would linger until the player's next win. A new Startup system calls roll_weekly_goals_if_new_week on launch and persists immediately when the week has rolled over. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>