Commit Graph
4672 Commits
Author SHA1 Message Date
Marc-André Bombeck 163aa73e01 feat(i18n): reconcile English German and Spanish copy 2026-07-29 15:08:50 +02:00
Marc-André Bombeck 67eeefd584 fix(i18n): translate final security and import states 2026-07-29 15:07:35 +02:00
Marc-André Bombeck b6dfe62c9d test(i18n): inventory v1.34.1 locale contracts 2026-07-29 15:07:05 +02:00
Marc-André Bombeck d34d781d78 docs(01-22): record merged green outcome gate 2026-07-29 15:05:38 +02:00
Marc-André Bombeck 1dcadcb0f0 docs(01-21): complete Google sync fairness plan
- record atomic task commits and verification evidence
- retain GH-01 and GH-06 as live-account evidence gates
2026-07-29 15:04:53 +02:00
Marc-André Bombeck 5bc213c5b8 test(01-21): type guarded progress mock calls
- declare the updateMany mock argument tuple
- assert the guarded write exists before inspection
2026-07-29 15:04:08 +02:00
Marc-André Bombeck ba6d06be3b feat(01-21): expose Google sync terminal status
- return redacted per-resource outcomes from manual sync
- poll owner-scoped progress and invalidate committed workout views
2026-07-29 15:01:13 +02:00
Marc-André Bombeck f3008c9ee0 docs(01-26): complete workout pulse plan 2026-07-29 15:00:38 +02:00
Marc-André Bombeck 104a058096 style(workouts): format pulse enrichment 2026-07-29 14:58:46 +02:00
Marc-André Bombeck 5ec1a3836f feat(01-21): add fair Google sync outcomes
- finish workout and low-cost resources before dense metrics
- report bounded terminal outcomes and invalidate workout caches
2026-07-29 14:58:40 +02:00
Marc-André Bombeck f6555d471b fix(workouts): show aggregate pulse in lists 2026-07-29 14:58:25 +02:00
Marc-André Bombeck d2f6bf33eb fix(workouts): sanitize WHOOP zone enrichment 2026-07-29 14:58:24 +02:00
Marc-André Bombeck 89fefce7ac test(workouts): separate pulse aggregates from curves 2026-07-29 14:57:42 +02:00
Marc-André Bombeck 43cce08012 fix(workouts): share enriched canonical detail data 2026-07-29 14:56:59 +02:00
Marc-André Bombeck ed63a3bf32 test(workouts): pin enriched list and detail envelopes 2026-07-29 14:56:21 +02:00
Marc-André Bombeck bcef9cf51d docs(01-22): complete truthful cohort outcomes plan
- summarize bounded outcome facts and provider verdict folding
- record adjacent Google core verification dependency
2026-07-29 14:55:43 +02:00
Marc-André Bombeck 635e9b64c5 fix(workouts): enrich canonical WHOOP aggregates 2026-07-29 14:55:11 +02:00
Marc-André Bombeck 1cb0f7dd6a test(workouts): pin WHOOP aggregate enrichment 2026-07-29 14:53:59 +02:00
Marc-André Bombeck c3ffc43335 refactor(01-22): reuse Google cohort concurrency limit
- preserve the shared Google Health poll fan-out width
2026-07-29 14:53:22 +02:00
Marc-André Bombeck 6a3861122c feat(01-22): publish truthful cohort outcomes
- fold complete partial failed parked and skipped user verdicts
- bound serialized job facts to a privacy-safe scalar allowlist
- preserve provider retry isolation and reminder queue completion
2026-07-29 14:50:30 +02:00
Marc-André Bombeck a4f00f16f3 docs(01-19): complete Apple Health ECG import plan
- record bounded encrypted import behavior and verification results
- document the counter edge-case deviation and concurrent typecheck issue
2026-07-29 14:49:51 +02:00
Marc-André Bombeck 5cfcb69ef2 feat(01-21): add guarded Google sync progress
- persist one bounded owner-scoped current-run envelope
- reject stale writers and materialize interrupted runs safely
2026-07-29 14:49:12 +02:00
Marc-André Bombeck addd6b7000 fix(01-19): avoid phantom ECG failure counts
- increment archive-level failures only for discovered ECG artifacts
2026-07-29 14:47:47 +02:00
Marc-André Bombeck 4b64556b38 feat(01-19): expose privacy-safe ECG import outcomes
- return and render bounded ECG result counters with partial-failure wording
- document archive limits, encrypted storage, and exact WHOOP constraints
2026-07-29 14:47:22 +02:00
Marc-André Bombeck a686c7200b feat(01-19): persist Apple Health ECG recordings
- encrypt and upsert stable content-addressed ECG recordings transactionally
- keep XML imports successful while ECG members fail with scalar counters
2026-07-29 14:45:40 +02:00
Marc-André Bombeck 8009c251a6 docs(01-15): complete performance and audit baseline plan
- summarize deterministic workload and bundle evidence
- record reconciled audit decisions, deviations, and self-check
2026-07-29 14:44:51 +02:00
Marc-André Bombeck 4ba4ee38cd test(01-15): reconcile audit finding ledger
- deduplicate research, correctness, live, and performance findings
- enforce required evidence fields and privacy-safe report content
2026-07-29 14:43:04 +02:00
Marc-André Bombeck 92f3b03ac0 docs(01-20): complete assessment state contract plan 2026-07-29 14:42:55 +02:00
Marc-André Bombeck f06137c0db feat(01-19): add bounded Apple Health ECG parsing
- validate ZIP paths, compression metadata, and actual decompressed bytes
- normalize ECG CSV descriptors and bounded microvolt samples
2026-07-29 14:42:18 +02:00
Marc-André Bombeck 0bf3a3573d fix(01-20): render explicit assessment states
- prioritize safe fallback text over provider metadata
- keep terminal and pending card geometry stable
2026-07-29 14:40:55 +02:00
Marc-André Bombeck b92b3e4261 docs(01-17): complete navigation stability plan
- record green component and responsive browser evidence
- document preserved authorization safe-area and scanner boundaries
2026-07-29 14:39:39 +02:00
Marc-André Bombeck 33a7dafec4 fix(01-20): terminate assessment polling honestly
- normalize legacy responses into explicit assessment states
- abort on timeout or unmount and expose poll exhaustion
2026-07-29 14:39:38 +02:00
Marc-André Bombeck eccacd91ed test(01-15): record release bundle evidence
- pin build and benchmark results to one isolated commit
- record gzip budgets, headroom, and unresolved route hypotheses
2026-07-29 14:39:00 +02:00
Marc-André Bombeck b8260474ed fix(01-17): remove duplicate mobile insights spacer
- suppress only the inherited mobile pre-pill top padding
- preserve safe-area clearance focus paint and 44px targets
2026-07-29 14:38:19 +02:00
Marc-André Bombeck f3c5ded687 docs(01-18): complete occurrence identity implementation
- document reminder and rolling due fixes across shared consumers
- record green unit and real PostgreSQL regression coverage
2026-07-29 14:38:05 +02:00
Marc-André Bombeck efe203212a fix(01-20): classify safe assessment outcomes
- add a discriminated generated and fallback contract
- screen derived prose and expose retryable cache policy
2026-07-29 14:36:29 +02:00
Marc-André Bombeck 0ae9165aae refactor(01-18): format occurrence identity changes
- apply repository formatting to reminder and scheduling updates
- preserve verified occurrence behavior without semantic changes
2026-07-29 14:36:21 +02:00
Marc-André Bombeck 23c738efac fix(01-17): align and pin desktop sidebars
- place both sidebars on the heading row with one main scroll owner
- bound short-viewport sidebar content without horizontal layout drift
2026-07-29 14:36:18 +02:00
Marc-André Bombeck 840e47fda5 fix(01-18): preserve authoritative rolling due in consumers
- expose the canonical due schedule identity from the shared list read
- prevent passed local windows from rebinding a prior overdue occurrence
2026-07-29 14:35:23 +02:00
Marc-André Bombeck 2de9bccf9d fix(01-18): retain rolling occurrence through due band
- preserve prior rolling identity independently of local-day flooring
- scope exact resolution by schedule and era while advancing resolved grids
- include open rolling slots for display without widening compliance bands
2026-07-29 14:33:17 +02:00
Marc-André Bombeck d0fbdd388d docs(01-16): complete presentation and records cleanup plan 2026-07-29 14:31:17 +02:00
Marc-André Bombeck c0321d2f27 test(01-15): add bounded performance fixture baseline
- benchmark observed Google, reminder, and score workload shapes
- record local cold and warm timing without production access
2026-07-29 14:31:07 +02:00
Marc-André Bombeck c0af97ce46 fix(01-18): preserve reminder occurrence across midnight
- select active canonical recurrence slots instead of rebuilding from tick day
- scope intake suppression and dedup metadata to the occurrence local date
2026-07-29 14:30:23 +02:00
Marc-André Bombeck 7396119ec8 feat(01-17): group gated admin navigation
- cluster allowed destinations under semantic settings-style headings
- preserve fail-closed role gating and mobile target order
2026-07-29 14:29:51 +02:00
Marc-André Bombeck 431120d55e fix(01-16): unify records action grammar
- use Save for new and existing lifestyle facts
- show first-entry or populated-list add actions without duplication
2026-07-29 14:29:19 +02:00
Marc-André Bombeck c4ec2d552f fix(01-16): normalize assessment prose presentation
- use the readable foreground at confirmed medication and Mood mounts
- tighten Health Score and medication assessment spacing
2026-07-29 14:28:47 +02:00
Marc-André Bombeck d67b899138 fix(01-16): remove redundant score and summary presentation
- keep useful Today prose without repeating the ring score
- remove stored-summary regeneration and Health Score notice/method/list copy
2026-07-29 14:27:45 +02:00
Marc-André Bombeck b39ddeb5b5 docs(01-14): complete cohort outcome contract plan
- record expected RED provider fold and serializer evidence
- preserve scope and concurrent-work boundaries
2026-07-29 14:27:15 +02:00
Marc-André Bombeck 966a869630 docs(01-11): complete medication occurrence contract plan
- document independent reminder and rolling-overdue RED failures
- record passing persistence, retry, and isolation controls
2026-07-29 14:26:47 +02:00
Marc-André Bombeck 690c4aeb5a test(01-14): add failing truthful cohort contracts
- distinguish complete partial failed parked skipped and clean-zero outcomes
- require bounded privacy-safe scalar serialization and retry codes
2026-07-29 14:26:26 +02:00