mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-11 13:52:20 +00:00
Phase 5 closed: /admin a11y test reactivated and clean, top-10 friction audit filed at docs/audit/v15-ux-friction.md, three v1.4.6 deferred items shipped (trend-arrow metric-aware, remove saved AI key, semantic mood/feedback tokens), plus two inline friction fixes (dashboard quick-add disambiguation, /admin nav landmark). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8.5 KiB
8.5 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 —
e2e/dashboard.spec.ts— commit3999ea7 - Add measurement flow —
e2e/measurement-flow.spec.ts— commit3999ea7 - Settings → KI Codex flow (mocked) —
e2e/codex-flow.spec.ts— commit2b6f959 - Doctor report PDF —
e2e/doctor-report.spec.ts— commita106547 - Insights generation flow (mocked) —
e2e/insights-generate.spec.ts— commit2b6f959 - Mobile-viewport smoke (Pixel 5) —
e2e/mobile-viewport.spec.ts— commita106547 - axe-core extended to
/and/settings/integrations;/adminparked astest.fixme()(admin shell off-limits this phase, restructured by 4b) — commitca3c599(+ a11y fixes7af1f59) - Foundation: seeded test user + storageState fixture — commit
535465c - Result: 41/41 active specs green locally (Node 22, fresh DB); 3 skipped (mobile-only spec on desktop project × 2 +
/admina11y fixme × 2 projects) - 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 — commit
d8b71b3 - Sections moved to /admin/ routes (system-status, general, services, integrations, feedback, reminders, users, api-tokens, login-overview, backups, danger-zone) — commit
12b280b - T2.6 Backups dedicated admin section + manual run — commit
69c5225 - T2.7 /admin/users with role filters + force-logout — commit
5957e18 - i18n keys reorganised under admin.section..* (EN + DE parity) — commit
a34cd8c - Sidebar nav expandable Admin group — commit
73965cd - Status-card CTAs use real routes (no #anchor) — commit
961e2a9 - Legacy section-anchor → new route redirect in proxy.ts (path-style only; pure
#fragmentscannot be redirected server-side, callsites rewritten directly) — commit7a47532 - Tests: status-card-grid asserts route existence + per-section render smoke + i18n parity (existing) — commit
1a7e3d6 - Bundle-size win verified architecturally (overview no longer imports section components);
pnpm buildblocked by pre-existing Node 25 issue - Result: ok / commits
d8b71b3 12b280b 69c5225 5957e18 a34cd8c 73965cd 961e2a9 7a47532 1a7e3d6 - Detailed report:
.planning/phase-4b-report.md
Phase 5 — UX polish
- /admin a11y reactivated —
e2e/a11y.spec.tsnow covers /admin, /admin/system-status, /admin/users (no moretest.fixme); fixed duplicate<PasswordInput>no-aria-label, icon-only button-name violations on /admin/users, empty<dd>on the audit-log card - design-review walkthrough top-10 friction points filed at
docs/audit/v15-ux-friction.md - CRITICAL/HIGH triage — 6 inline fixes; LOW items deferred to v1.5.1 with backlog in the audit doc
- v1.4.6 deferred polish picked up:
- trend-arrow direction-as-good metric-aware (
directionSentimentprop,up-good/up-bad/neutral) - "Remove saved AI key" button with AlertDialog confirmation - semantic--success/--warning/--infotokens, migrated feedback BUG / published badges, medication status, AI section connection badges (charts untouched) - +2 inline friction items: dashboard quick-add menu disambiguation
(
Addcollision from phase-3) and/adminoverview nav landmark - Result: ok / commits
987ce0d 38f12df 788c8ad 569300e e3a6899 5ffe750 65cfb27—pnpm typecheck && pnpm lint && pnpm testgreen (97 files / 752 tests) - 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 — Codex device-code rewrite, new Backups + Users admin sections, CODEX_MODEL env var, dashboard perf note, Codex troubleshooting block (7 files)
- healthlog-landing updated — softwareVersion 1.4.6→1.5.0 in JSON-LD, AI-providers copy mentions one-click device-code flow
- both committed + pushed (docs
95a3523, landing0c62bb2) - Result: ok / docs
95a3523+ landing0c62bb2— Coolify auto-redeploys docs.healthlog.dev on push - 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
gh release list --limit 20confirms v1.4.7..v1.4.13 all present- Result: ok / 1 release created (v1.4.13 → https://github.com/MBombeck/HealthLog/releases/tag/v1.4.13), 6 already existed (v1.4.7-v1.4.12 were published in real time alongside the Codex-OAuth iteration earlier on 2026-05-09)
- 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