From b02343b0d214efbe0c6e4bb088161e7964b7e9dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Bombeck?= Date: Sun, 10 May 2026 22:51:56 +0200 Subject: [PATCH] docs(planning): close v1.4.22 milestone Co-Authored-By: Claude Opus 4.7 (1M context) --- .planning/ROADMAP.md | 80 ++++++++++++++++++++++++++------------------ .planning/STATE.md | 44 +++++++++++++++--------- 2 files changed, 76 insertions(+), 48 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 35ce1b64f..39dbb8154 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -1,51 +1,67 @@ -# HealthLog v1.4.22 — roadmap +# HealthLog v1.4.23 — roadmap -Milestone: **v1.4.22 — big polishing release before v1.5 iOS** (kicked off 2026-05-10, post-v1.4.21 patch) -Latest tag at start: v1.4.21 (live in prod, image digest -`sha256:4e818d44702c…`) - -Marc's directive: close ALL known bugs + apply ALL deferred items -from `.planning/v1421-backlog.md` so the iOS app builds on a clean -foundation. Marathon-style execution: research/probe first, then -parallel polish waves, then multi-agent QA, then release. - -| Wave | Goal | State | -| ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -| 1 | Research + probe — Playwright PROD probe (BD-Zielbereich 5th attempt, api-tokens 5th attempt, Metrik token leaks, Targets page brainstorm); health-coach prompt research | in flight | -| 2 | Insights surface polish — A1 BD framing, A2 BD-Kachel parity, A3 comparison-toggle global, A4 grid normalisation, A5 Muster rename + tabs above hero, A6 token-leak fix | pending | -| 3 | Coach polish — B1 prompt rewrite, B2 collapsible provenance, B3 Gravatar parity, B4 disclaimer move, B5 settings cog wire-or-remove | pending | -| 4 | Other surfaces + backlog cleanup — C1 Zielwerte upgrade, C2 api-tokens 5th attempt, C3 Coolify auto-deploy, C4 AuthShell flicker, C5 node-26-alpine, D backlog wave | pending | -| G | E2E fix wave (already on `develop`) — 7 stale-selector / layout regressions; release-merge brings them into main with v1.4.22 | done | -| 5 | Multi-agent QA + Product-Lead review | pending | -| 6 | Release v1.4.22 — bump, CHANGELOG, release-merge, tag, GHCR, Coolify deploy (validated by C3), smoke, GH release, docs+landing sync, brief | pending | +Milestone: **v1.4.23 — pre-iOS hygiene + sentinel hardening** (not +yet kicked off) +Latest tag at start: v1.4.22 (live in prod, image digest +`sha256:865154614303…`) Carry-over candidates already captured in -`.planning/v1421-backlog.md` (now serving as the v1.4.22 backlog -shim — the file name is historical): +`.planning/v1422-backlog.md`: -- 22 MED + 16 LOW + 4 simplify-apply-maybe items from the v1.4.20 - Phase-D pass (consolidate Pearson / linear-regression maths layer, - controlled `` prefill prop, transactional - `recordSpend()`, refusal lexicon expansion, …). +- Sentinel parser malformed-enum hardening (Sr-M5, ~30 LOC, + highest signal-to-effort ratio of the deferred MEDs). +- Analytics-route unbounded `findMany` paging. +- Targets-route 7-pass sparkline coalesce. +- `` controlled-prop refactor + (Sr-HIGH-4) — drop the React-key reset weaponisation before + the iOS Coach surface multiplies the pattern's footprint. +- Per-user prompt-tuning surface (the v1.4.22 settings cog was + removed pending this). - Schema drift on `medication_schedules.days_of_week` — either - deploy the column or drop it from `schema.prisma`. -- Split `src/app/insights/page.tsx` (now composes nine surfaces). -- Wire Coolify image-digest auto-deploy hook on apps-01 so the - host-side retag fallback isn't needed. -- Source-comment hygiene sweep (191 maintainer-name references in - `src/`); DE+EN bilingual CHANGELOG entry rewrite. + deploy the column or drop it from `schema.prisma`. Last call + before v1.5 P0. +- OpenAPI spec drift CI guard — pull forward from v1.5 D.5 if + possible. Cheaper than discovering drift via an iOS build + break. +- Pearson p-value normal-approx replacement (Code-MED-03) — + 30-LOC incomplete-beta or raise df ≥ 20 surfacing gate. Fix + before v1.5/v1.6 auto-discovery ships. +- Coach helpful/unhelpful first-week observation — does the new + warm persona land or does the disclosure-open rate stay below + ~30%? If low, tone pull-back before iOS multiplies the + audience. Reserved next strategic milestones: - **v1.5** — iOS app + Apple Health integration + per-metric APNs alerts. Strategic plan at - `.planning/phase-D-v1420-product-lead-review.md`. + `.planning/phase-W5-v1422-product-lead-review.md`. - **v1.6+** — Auto-correlation discovery (FDR-controlled), Coach full-page route at `/insights/coach`, conversation-driven goal setting. --- +## Previous milestone — v1.4.22 (completed 2026-05-10T22:43:50+02:00) + +| Wave | Goal | State | +| ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----- | +| 1 | Research + probe — Playwright PROD probe (BD-Zielbereich 5th attempt, api-tokens 5th attempt, metric token leaks, Targets page brainstorm); health-coach prompt research | done | +| 2 | Insights surface polish — A1 BD framing, A2 BD-Kachel parity, A3 comparison-toggle global, A4 grid normalisation, A5 Muster rename + tabs above hero, A6 token-leak fix | done | +| 3 | Coach polish — B1 prompt rewrite (PROMPT_VERSION 4.20.2 → 4.22.0), B2 collapsible evidence, B3 Gravatar parity, B4 disclaimer move, B5 settings cog removal | done | +| 4 | Other surfaces + backlog cleanup — C1 Zielwerte sparkline + Δ-vs-last-month, C2 api-tokens 5th attempt, C3 Coolify auto-deploy runbook, C4 AuthShell flicker → proxy.ts, C5 node-26-alpine deferred, D backlog wave (12 items) | done | +| 5 | Multi-agent QA + Product-Lead — code, security, design, senior-dev, simplify, product-lead; 0 CRIT, 7 HIGH all applied inline, ~6 MED applied, rest deferred | done | +| 6 | Release v1.4.22 — bump, CHANGELOG, release-merge, tag, GHCR, host-side retag deploy (Coolify secrets still missing), /api/version=1.4.22, smoke, GH release, docs+landing sync, brief | done | + +Milestone completed 2026-05-10T22:43:50+02:00 — v1.4.22 LIVE in prod. +Release brief: `docs/audit/v1422-summary.md`. +Image digest: +`sha256:865154614303fdc362ee3941776f73ec0f60e1f16112ec272a75cbbe28e2cffb`. +Backlog seeded to `.planning/v1422-backlog.md`. v1.5 strategic plan at +`.planning/phase-W5-v1422-product-lead-review.md`. + +--- + ## Previous patch — v1.4.21 (completed 2026-05-10T17:46+00:00) | Phase | Goal | State | diff --git a/.planning/STATE.md b/.planning/STATE.md index fdd40589a..3aa81206e 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -1,7 +1,7 @@ # v1.4.22 marathon — state log -Status: Wave 5 — multi-agent QA + reconcile complete -Last update: 2026-05-10T22:30+02:00 +Status: Wave 6 — release shipped (live in prod) +Last update: 2026-05-10T22:46+02:00 > Previous patch: v1.4.21 live (image digest > `sha256:4e818d44702c…`, `/api/version=1.4.21`). @@ -182,17 +182,29 @@ Apply or confirm-defer every item: ## Wave 6 — Release v1.4.22 -- [ ] Pre-release verify (typecheck, lint, test, integration, - format, build) -- [ ] Bump `package.json` 1.4.21 → 1.4.22 + CHANGELOG -- [ ] Release-merge develop → main -- [ ] Tag + push v1.4.22 -- [ ] GHCR build green -- [ ] Coolify deploy (should work without host-side fallback after C3) -- [ ] /api/version=1.4.22 confirmed -- [ ] Production smoke + e2e workflow on main passes (e2e fix wave - from develop is included in the release-merge) -- [ ] GH release -- [ ] Docs site + landing site sync -- [ ] `docs/audit/v1422-summary.md` (release brief) -- [ ] v1.5 plan refreshed for the iOS push +- [x] Pre-release verify (typecheck, lint, test, integration, + format, build) — 2111 unit tests / 89 integration tests + passing; lint baseline 15 warnings; typecheck clean +- [x] Bump `package.json` 1.4.21 → 1.4.22 + CHANGELOG + (commit `d71e879`) +- [x] Release-merge develop → main (commit `005fed0`) +- [x] Tag + push v1.4.22 (annotated tag `f4ebd41`) +- [x] GHCR build green (workflow run `25639069964`) +- [x] Coolify deploy — fell back to host-side SSH retag. + `COOLIFY_WEBHOOK` / `COOLIFY_TOKEN` repo secrets aren't + configured so the workflow auto-deploy step skipped; the + Coolify MCP `force=true` queued deploy didn't refresh the + digest within 5 minutes (same `:latest` pinning bug from + v1.4.21). Image digest + `sha256:865154614303fdc362ee3941776f73ec0f60e1f16112ec272a75cbbe28e2cffb` +- [x] /api/version=1.4.22 confirmed at 2026-05-10T22:43:50+02:00 +- [x] Production smoke — all 6 gated routes return 307 → + `/auth/login`; `/api/version` returns 1.4.22 +- [x] GH release — + https://github.com/MBombeck/HealthLog/releases/tag/v1.4.22 +- [x] Docs site + landing site sync (healthlog-docs `9fd7aeb`, + healthlog-landing `743600f`) +- [x] `docs/audit/v1422-summary.md` (release brief, commit + `65523de` on main) +- [x] v1.5 plan refreshed for the iOS push at + `.planning/phase-W5-v1422-product-lead-review.md`