Commit Graph
203 Commits
Author SHA1 Message Date
Marc-André Bombeck 39d779c7d9 docs(planning): mobile audit report for settings and admin 2026-05-15 18:05:03 +02:00
Marc-André Bombeck 24b67f85a0 docs(planning): mobile audit report for auth and public surfaces 2026-05-15 18:04:02 +02:00
Marc-André Bombeck e5ff434395 docs(planning): mobile audit report for measurements and workouts 2026-05-15 18:03:57 +02:00
Marc-André Bombeck 6a8e5c3482 docs(planning): mobile audit report for the insights surface 2026-05-15 18:03:40 +02:00
Marc-André Bombeck 1b8f03af86 docs(planning): mobile audit report for the coach surface 2026-05-15 18:02:15 +02:00
Marc-André Bombeck d5792a1486 docs(planning): mobile audit report for the medications surface 2026-05-15 18:02:03 +02:00
Marc-André Bombeck bbbb513bfe docs(planning): mobile audit report for the dashboard surface 2026-05-15 18:01:40 +02:00
Marc-André Bombeck 302ebed66b docs(planning): bucket B7 implementation report for v1.4.27
Per-commit subjects, deliverable-vs-actual verification matrix for
every fix-plan item, the orphan-endpoint grep table that grounds the
five-endpoint v1.4.28 defer, and the seven recorded deviations from
the original fix-plan scope.
2026-05-15 17:55:01 +02:00
Marc-André Bombeck 3a7599c846 chore(api): delete the orphan /api/audit-log surface and seed the five README-tied admin orphans into v1.4.28
The /api/audit-log GET handler has zero runtime callers in src/, tests/,
scripts/, or docs/ — verified via grep against the route path plus the
auditLog model name. The admin counterpart at /api/admin/audit-log is
the surface every consumer reads from. Drops the orphan route file
outright per the v1.4.27 fix-plan Section 4 Decision A.

The five admin / monitoring endpoints flagged for the scope-
maximization sweep all carry a README + CHANGELOG documentation
reference, which the fix-plan classes as a consumer for the
defer-on-tie rule:

  /api/admin/ai-settings           — README L362–363, CHANGELOG L752
  /api/admin/backup/test           — README L368,    CHANGELOG L752
  /api/admin/status-overview       — README L367,    CHANGELOG L753
  /api/monitoring/glitchtip/test   — README L381
  /api/monitoring/umami/test       — README L382

All five defer to v1.4.28 for a maintainer call — either wire each to
a real consumer or drop the route + README mention together. Seeds
the v1.4.28 backlog entry with the per-endpoint grep findings so the
decision is one read away.

Also seeds the v1.4.28 backlog with the missing `insights.coach.window.lastYear`
i18n key across the six locale bundles — owned by the i18n bucket.
2026-05-15 17:37:22 +02:00
Marc-André Bombeck 3d3402e3af docs(planning): bucket B6 implementation report for v1.4.27
Captures the i18n cleanup pass: 154 dead-key paths retired across
six locales (~924 strings), 38 new keys added for B1/B3/B4/B5
component-side inserts, locale-native date format ordering for
FR/ES/IT/PL, drift-guard test pinning the GLP-1 / carrier / empty-
state / notification / personal-record key sets, mood-label
shared module landing BL-P6-11.

Also lands the four probe scripts (.planning/v1427-b6-*.mjs) used
to enumerate dead keys and build the new key inserts, sibling to
the existing .planning/v1422-w1a-*.mjs audit artifacts.
2026-05-15 17:24:52 +02:00
Marc-André Bombeck cef9bc14fe docs(planning): R3a contributor reports and v1.4.27 mobile plan
- Three R3a contributor reports (B3 GeoIP+ASN, B4 Coach+Insights,
  B5 Notifications) — B1 and B2 already committed theirs.
- v1.4.27 mobile-capability audit and fix plan inserted between
  R3b and R4: seven parallel auditors per surface area, a single
  consolidator, then a parallel fix-pass against the consolidated
  bucket list.
2026-05-15 17:00:28 +02:00
Marc-André Bombeck 5364e347f5 docs(planning): bucket B1 implementation report for v1.4.27 2026-05-15 16:49:03 +02:00
Marc-André Bombeck ef50b83746 docs(planning): seed v1.4.28 backlog with F7 deferral note 2026-05-15 16:38:22 +02:00
Marc-André Bombeck 1a8e75989a docs(planning): bucket B2 implementation report for v1.4.27
Lists the four B2 commits, the scope of each, the translation-key
plumbing left for the localisation pass, why the optional Playwright
timing test was skipped, and the deviations from the original
fix-plan dispatch.
2026-05-15 16:32:56 +02:00
Marc-André Bombeck 1e1e7e133e docs(planning): iOS handoff addendum for standalone usage and server pairing 2026-05-15 16:30:02 +02:00
Marc-André Bombeck 0f5369131e docs(planning): v1.4.27 session handoff with R2 actuals and scope-maximization directive 2026-05-15 16:18:57 +02:00
Marc-André Bombeck e0d6bba304 docs(planning): v1.4.27 fix plan — consolidated R1 triage
Consolidates the six R1 audit reports (R1.1 dashboard, R1.2 settings/admin,
R1.3 coach/insights, R1.4 notifications, R1.5 iOS offline-first research,
R1.6 backlog sweep) plus the 17 backlog items pulled forward into a single
fix-surface plan with seven touch-disjoint buckets, a file-touch collision
matrix with zero same-line collisions and four sequenced edits, and a
Round 3 dispatch sequence (5 parallel + 2 sequenced). Decides /api/audit-log
to DELETE as an orphan endpoint, parks all four iOS server-side preps
(syncVersion, deletedAt, GET /api/sync/state, ETag) to v1.4.28, and adds
22-offline-first-architecture.md to the iOS handoff doc-pack carrying R1.5's
research forward for the iOS-side reader.
2026-05-15 16:16:00 +02:00
Marc-André Bombeck d16a627d74 docs(planning): R1.6 v1.4.26 backlog sweep for v1.4.27 inclusion 2026-05-15 16:08:25 +02:00
Marc-André Bombeck 7a9cf46d54 docs(planning): R1.4 notifications and Withings classification audit 2026-05-15 16:07:58 +02:00
Marc-André Bombeck c29cd88b29 docs(planning): R1.1 dashboard UX audit and GLP-1 secondary tile spec 2026-05-15 16:07:42 +02:00
Marc-André Bombeck 43a91f2ffa docs(planning): R1.3 coach and insights data-driven audit 2026-05-15 16:06:51 +02:00
Marc-André Bombeck e6c8e22d14 docs(planning): R1.5 iOS offline-first and sync research 2026-05-15 16:06:44 +02:00
Marc-André Bombeck a547424062 docs(planning): R1.2 settings and admin UX audit 2026-05-15 16:06:12 +02:00
Marc-André Bombeck c74a0c9845 docs(planning): v1.4.27 plan — comprehensive QoS pass and backlog sweep 2026-05-15 16:00:49 +02:00
Marc-André Bombeck 5cdedeae5a docs(planning): record Withings 403 scope-skip fix in v1.4.26 backlog
Logs the production-alarm hotfix shipped in `fec02aa` under a new
"Resolved by v1.4.26" section so the backlog stays honest about what
landed on develop after the v1.4.25 tag.
2026-05-15 07:32:56 +02:00
Marc-André Bombeck ac2142e19a docs(planning): APNs .p8 key handling policy 2026-05-15 07:27:20 +02:00
Marc-André Bombeck caf0b9561a docs(planning): Codex audit prompt for v1.4.25 2026-05-14 23:57:30 +02:00
Marc-André Bombeck 15ac4c5739 docs(ios-handoff): E-Closeout — finalize README with real navigation
Replace the seed skeleton with the final navigation map for the
21-file doc-pack.

Inventory: 21 rows pinned against the actual filenames + final
token estimates (total ~89400 tokens / ~57000 words).

Question → File map: 38 real entries mapping concrete iOS-Claude
questions to file + section anchors. Covers source-priority,
MeasurementType enum, MDR boundary, APNs flow, Withings OAuth,
HealthKit batch ingest, Coach SSE, Health Score, PR detection,
migrations 0051-0060, OpenAPI hard-flip gate, error codes,
Idempotency-Key, rate-limiting, PROMPT_VERSION,
RESEARCH_MODE_DISCLAIMER_VERSION, TanStack Query, chart hex literals,
locale keys, dev server, Simulator API token, v1.4.26 inventory.

Reading-orders-by-goal: 16 scenarios with file lists + estimated
cumulative tokens. Cold-start, tag-a-release, new endpoint, Coach
feature, Apple Health sync, workout ingest, GLP-1 work (critical
research-first), pre-PR gate, screen design, Settings → Sources,
Health Score tile, Withings reconnect, onboarding wizard, CI setup.

Stop-here-markers index: per-file summary of what each file's STOP
HERE block (or inline warnings) covers, so iOS-Claude can lookup
and exit.

TL;DR refresh: 2 sentences pinning v1.4.25 stack + v1.5 = iOS +
deeper Apple Health.

Cross-link audit: every <file>.md reference in every sibling now
resolves to a real file. 16 broken references found + patched in
the prior commit.
2026-05-14 23:45:44 +02:00
Marc-André Bombeck 759028ad8f docs(ios-handoff): E-Closeout — cross-link patch across sibling files
Sibling docs (00..20 except README) referenced 16 file names that don't
exist in the final pack — names like 10-coach-pipeline.md, 12-ai-coach.md,
15-withings-bridge.md, 17-personal-records.md, 18-onboarding.md,
19-deploy-runtime.md, 02-architecture.md, 03-system-overview.md,
10-architecture.md, 12-ai-providers.md, 13-medical-content.md,
09-ui-state.md. Every one mapped to a real file in the final pack;
patched all cross-links in:

- 00-philosophy.md            (STOP HERE table)
- 01-repo-tour.md             (deploy link + STOP HERE table)
- 02-server-architecture.md   (6 Detail-in references + STOP HERE table)
- 03-api-contracts.md         (STOP HERE table)
- 04-data-model.md            (prerequisites + What is NOT in this file)
- 05-auth-flows.md            (What is NOT in this file)
- 06-ios-responsibilities.md  (prerequisites)
- 07-server-responsibilities.md (prerequisites)
- 08-locked-contracts.md      (What is NOT in this file)
- 11-web-ui-tour.md           (prerequisites)
- 12-design-system.md         (prerequisites)
- 13-state-management.md      (prerequisites)
- 14-coach-mental-model.md    (prerequisites)
- 17-error-handling.md        (What is NOT in this file)
- 18-pattern-cookbook.md      (prerequisites)
- 19-i18n-system.md           (prerequisites)
- 20-glossary.md              (multiple Coach + provider references)

Every cross-link in the doc-pack now resolves to an existing file or to
a section heading inside an existing file.
2026-05-14 23:44:17 +02:00
Marc-André Bombeck b4a98ef38e docs(ios-handoff): E-Closeout — recommended flow + research pointers
Two new files closing the v1.4.25 / v1.5 iOS handoff doc-pack.

09-recommended-flow.md (~6000 tokens)
- First-time setup recipe (clone, dev server, API token, Simulator pointing)
- Contract-diff loop (openapi:check + Swift codegen regen)
- Touch-disjoint discipline for parallel iOS sub-agents
- Marc-Voice commit-message style guide with examples + counterexamples
- Marathon-pattern handoff section (non-negotiables, pre-flight rule, research-first)
- Pre-release Quality Gate checklist (8 reviewers + reconcile pass, modelled on W21)
- Mock vs hit-live test strategy (unit / integration / e2e split)
- CI workflow surfaces (server-side vs iOS-side, the cross-side handoff)
- 10 iOS-only gotchas the server log never sees (Simulator HealthKit,
  Withings deep-link return, RESEARCH_MODE_DISCLAIMER_VERSION drift,
  SSE streaming via URLSession.bytes, idempotency-key lifecycle, etc.)

10-research-pointers.md (~3500 tokens)
- Ecosystem research index (Apple Health, GLP-1, wearables comparison, Withings)
- UX + design research index (health-score provenance, insights sub-pages,
  source-priority two-axis, zielwerte redesign)
- Feature-specific research (W8d enums, W14b onboarding, W14c native Coach
  prompts, W16b workouts, W16c PR detection, W17b-c Withings v2)
- W21 review findings index with what's still pending in v1.4.26
- W10 baseline (historical context)
- Pointer to .planning/phase-W21-reconcile-plan.md as the canonical post-W21
  inventory + the 7 Fix-* surface map
- Research-first directive (which feature classes require a research note
  before code lands) + the format convention for new notes
2026-05-14 23:42:44 +02:00
Marc-André Bombeck 24d88858e9 docs(ios-handoff): D-AI Layer — iOS and server responsibility boundaries
The remaining two files of D. 06-ios-responsibilities.md enumerates the five
domains the iOS app owns (HealthKit, Keychain, APNs, offline cache, deep
links) plus the MDR-critical 'don't cross this line' warnings.
07-server-responsibilities.md is the inverse — 22 domains the server
already handles, so iOS Claude knows what NOT to reinvent.
2026-05-14 23:35:22 +02:00
Marc-André Bombeck 39c0242a85 docs(ios-handoff): B-Data&Auth — data-model + auth + locked-contracts + errors + glossary 2026-05-14 23:33:31 +02:00
Marc-André Bombeck a756c51be8 docs(ios-handoff): A-Foundation — README skeleton + philosophy + repo-tour + architecture + API contracts 2026-05-14 23:33:20 +02:00
Marc-André Bombeck 9bfbbdf345 docs(ios-handoff): C-UI&State — web-UI tour + design system + state mgmt + pattern cookbook + i18n 2026-05-14 23:32:12 +02:00
Marc-André Bombeck 24cd5cece1 docs(ios-handoff): D-AI Layer — coach, insights, health-score mental model
Three of D's five files. The Coach + Insights + Health-Score surfaces are
server-resident; iOS Claude must consume, not reimplement. Documents the
layered prompt builder, GROUND RULES 1-15 (including W4d/W19c safety
contracts that hold the EU MDR line), the safety-contract matrix loader,
cache-invalidation rules, source-attribution provenance, and the
deterministic asOf discipline introduced in v1.4.25 Fix-G.
2026-05-14 23:30:50 +02:00
Marc-André Bombeck 6153be04cf docs(ios-handoff): C-UI&State design system + state mgmt + i18n 2026-05-14 23:28:12 +02:00
Marc-André Bombeck 0a9257357b docs(planning): W22 release-redo phase report 2026-05-14 23:20:18 +02:00
Marc-André Bombeck 068b49e709 docs(planning): Fix-N reconcile phase report
Closes the W21 reconcile pass. Captures the six commits, the 49 new
test assertions, three documented deviations (inventory-section
keeping its details shell, medication-form parseDose left alone,
apiError signature broadening), and final-gate evidence.
2026-05-14 23:12:05 +02:00
Marc-André Bombeck c75a68a88c docs(planning): W21 reconcile plan 2026-05-14 22:20:35 +02:00
Marc-André Bombeck f88c275df4 docs(planning): W21 i18n runtime findings 2026-05-14 22:14:26 +02:00
Marc-André Bombeck 65319317cd docs(planning): W21 dead-code findings 2026-05-14 22:08:16 +02:00
Marc-André Bombeck e8139e9f93 docs(planning): W21 simplifier findings 2026-05-14 22:05:18 +02:00
Marc-André Bombeck 5448d19fee docs(planning): W21 code-review findings 2026-05-14 22:03:26 +02:00
Marc-André Bombeck 0f4431cbf1 docs(planning): W21 senior-dev findings 2026-05-14 22:02:38 +02:00
Marc-André Bombeck 94f97fa26a docs(planning): W21 product-lead assessment 2026-05-14 22:01:42 +02:00
Marc-André Bombeck 472da13da7 docs(planning): W21 design findings 2026-05-14 22:01:28 +02:00
Marc-André Bombeck 230e7531b0 docs(planning): W21 security findings 2026-05-14 22:01:16 +02:00
Marc-André Bombeck 51f23ef318 docs(planning): W18 Low + apply-with-care cluster phase report 2026-05-14 21:53:23 +02:00
Marc-André Bombeck 7d625343f9 docs(planning): note safeRequestProp widening follow-up in W15 phase report 2026-05-14 21:51:04 +02:00
Marc-André Bombeck 4ab0d17808 docs(planning): W15 hygiene cluster phase report
Wave 5 hygiene wave summary covering the four atomic commits and
their verification matrix:
  fddb9754 — 380 dead i18n keys retired (25 false-positives kept)
  41c7425b — BASE_SYSTEM_PROMPT + INSIGHTS_SYSTEM_PROMPT removed
  61d156e7 — safeRequestProp narrow-catch + Tailwind @source base
  76dea94b — Cat-C comment path rewrite on /api/insights/targets
2026-05-14 21:48:11 +02:00