wulf-pulse/.planning
lorentz f9ab954518 docs(phase-07.1): plan urgent user timezone fix (TZ-01..TZ-04)
Insert Phase 7.1 between Phase 7 and Phase 8 to address dashboards/filters
rendering wrong dates because day/week boundary math runs in server UTC
instead of the viewing user's timezone. Persistence stays UTC; only the
read/display path changes.

5 plans in 3 waves:
- 07.1-01 (Wave 1): migration 083 + Better Auth additionalField timezone
- 07.1-02 (Wave 1): /api/me/timezone GET+PUT with IANA validation
- 07.1-03 (Wave 2): server-side AT TIME ZONE migration across 6 routes,
  including auth-gate fix on /api/mobile/finance and trends route
- 07.1-04 (Wave 2): useUserTimezone() hook + 2 mobile pages + codebase audit
- 07.1-05 (Wave 3): codebase-wide useUserTimezone() adoption per audit

Add Phase 9 stub (User Profile & Preferences) to roadmap for the picker UI
that reuses 7.1's hook + endpoint.

REQUIREMENTS.md TZ-02 carves out engagement_snapshots UTC bucketing as a
documented exception (≤24h drift acceptable for admin overview).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 07:02:07 -04:00
..
codebase fix(04-01): restore phase 2/3 work lost by worktree soft-reset 2026-05-03 18:01:14 -04:00
phases docs(phase-07.1): plan urgent user timezone fix (TZ-01..TZ-04) 2026-05-07 07:02:07 -04:00
config.json fix(04-01): restore phase 2/3 work lost by worktree soft-reset 2026-05-03 18:01:14 -04:00
PROJECT.md docs(phase-07): evolve PROJECT.md after phase completion 2026-05-03 23:04:41 -04:00
REQUIREMENTS.md docs(phase-07.1): plan urgent user timezone fix (TZ-01..TZ-04) 2026-05-07 07:02:07 -04:00
ROADMAP.md docs(phase-07.1): plan urgent user timezone fix (TZ-01..TZ-04) 2026-05-07 07:02:07 -04:00
STATE.md docs(phase-07.1): plan urgent user timezone fix (TZ-01..TZ-04) 2026-05-07 07:02:07 -04:00