mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-12 06:06:10 +00:00
Captured Playwright+PerformanceObserver perf metrics against prod (/api/version=1.4.13) at 2026-05-09T14:14Z. Top 2 wins shipped inline (Recharts deferred-import on /insights, checklist queries gated on post-onboarding state); Recharts replacement deferred to v1.5.1 because v1.5 forbids new deps. Wins:bb2b1de+519e36e. Audit doc:41fa203. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
5.3 KiB
5.3 KiB
v1.5 marathon — state log
Status: phase-2-done Last update: 2026-05-09T16:10:00+02:00
Previous milestone: see
docs/audit/v146-summary.md(v1.4.6 marathon). Codex-OAuth iteration v1.4.7 → v1.4.13 landed in CHANGELOG between the v1.4.6 release and this marathon kickoff.
Phase 0 — Bootstrap
- STATE+ROADMAP rewritten for v1.5
- git status clean
- CI status captured (v1.4.13 docker-publish still in_progress; e2e on
cfa8ea6= failure) - /api/version=1.4.13 confirmed — DISCREPANCY: prod still on 1.4.12 because the v1.4.13 GHCR build is mid-flight; phase-1 will need to confirm 1.4.13 lives after the build completes (force-pull recipe per hard-rule #10)
- Result: ok / commit
<filled in by commit step> - Detailed report:
.planning/phase-0-report.md
Phase 1 — Verify Codex-OAuth flow end-to-end
- /api/version=1.4.13 confirmed (force-pulled at 13:43 UTC after GHCR builds finished)
- device-start endpoint returns spec-shaped response (
userCode,verificationUrl=https://auth.openai.com/codex/device,intervalSeconds) - prod logs reviewed for codex.* events (DB row confirms 13:06 connect; v1.4.12 ai_test_body_excerpt captured the original failure)
- gpt-5 model accepted by chatgpt.com backend — actually NO, rejected; switched default to
gpt-5.3-codex(commit5df74f7), live test against Marc's account succeeded - /tmp/v15-codex-working.png captured showing
/settings/aiwith "ChatGPT connected" badge - Result: ok / commit
5df74f7 fix(ai): default Codex model to gpt-5.3-codex for ChatGPT-account auth - Detailed report:
.planning/phase-1-report.md
Phase 2 — v1.4.6 deferred backlog
- T2.1 notification-channel scope of "Wipe all data" — commit
512a6a6 - T2.2 Berlin TZ DST math in cross-metric joins — commit
cb6a59a - T2.3 /api/insights/generate provider-error → 422/503 — commit
5403821 - T2.4 status-card-grid test brittleness — deferred to phase 4b
- T2.5 redactSecrets regex word-boundary — commit
d6696cf - T2.6 Backups dedicated admin section — deferred to phase 4b
- T2.7 /admin/users dedicated sub-route — deferred to phase 4b
- Result: ok / commits
512a6a6 cb6a59a 5403821 d6696cf(+ format sweep6b88e56) - Detailed report:
.planning/phase-2-report.md
Phase 3 — End-to-end test coverage
- Authenticated dashboard render
- Add measurement flow
- Settings → KI Codex flow (mocked)
- Doctor report PDF
- Insights generation flow (mocked)
- Mobile-viewport smoke (Pixel 5, no h-scroll, CTAs ≥ 44×44)
- axe-core extended to /dashboard, /settings/integrations, /admin
- Detailed report:
.planning/phase-3-report.md
Phase 4 — Performance audit
- Playwright capture: /, /settings/integrations, /admin, /insights at desktop+mobile (prod=1.4.13, captured 2026-05-09T14:14Z)
- Report at
docs/audit/v15-performance.md— commit41fa203 - Top 3 wins identified, <30 LOC ones implemented inline:
- W1 commit
bb2b1de— defer Recharts ScatterChart imports on/insightsvianext/dynamic(~108 KiB initial-JS savings) - W2 commit
519e36e— skip checklist API fetches once onboarding is complete (~950 ms network savings on dashboard) - W3 deferred to v1.5.1 — replace Recharts (effort L + needs new dep)
- W1 commit
- Result: ok / commits
bb2b1de 519e36e 41fa203 - Detailed report:
.planning/phase-4-report.md
Phase 4b — Admin Panel refactor (Settings-style dynamic routes)
- /admin/[section]/page.tsx + admin-shell sidebar
- Sections moved to /admin/ routes (system-status, services, integrations, feedback, reminders, users, api-tokens, login-overview, backups, danger-zone)
- Status-card CTAs use real routes (no #anchor)
- i18n keys reorganised under admin.section..*
- Sidebar nav expandable Admin group
- Legacy #anchor → new route redirect in proxy.ts
- Bundle-size win on /admin overview verified
- Detailed report:
.planning/phase-4b-report.md
Phase 5 — UX polish
- design-review walkthrough top-10 friction points
- CRITICAL/HIGH triage
- Detailed report:
.planning/phase-5-report.md
Phase 6 — Multi-agent QA (parallel)
- superpowers:code-reviewer
- security review
- visual / UX review
- simplify on changed file set
- Detailed report:
.planning/phase-6-report.md
Phase 7 — Pre-release verification
- pnpm typecheck
- pnpm lint
- pnpm format:check
- pnpm test
- pnpm test:integration
- pnpm build (Node-25 bug documented if hit)
- pnpm e2e
- Detailed report:
.planning/phase-7-report.md
Phase 8 — Release v1.5.0
- package.json bumped
- CHANGELOG entry
- tag v1.5.0 pushed
- GHCR build green
- Coolify deploy + force-pull
- /api/version=1.5.0 confirmed
- image digest changed
- prod smoke screenshots saved
- Detailed report:
.planning/phase-8-report.md
Phase 9 — Docs + landing sync
- healthlog-docs updated to v1.5
- healthlog-landing updated
- both committed + pushed
- Detailed report:
.planning/phase-9-report.md
Phase 10 — Backfill GitHub releases v1.4.7-v1.4.13
- Releases for v1.4.7..v1.4.13 created from CHANGELOG
- Detailed report:
.planning/phase-10-report.md
Phase 11 — Final summary doc
- docs/audit/v15-summary.md with Marc-Brief
- Detailed report:
.planning/phase-11-report.md