mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-08 12:32:43 +00:00
Adds a neutral sleep observation alongside the per-episode recovery gap: the user's usual asleep minutes over their well baseline vs the mean over the episode window, narrated as 'you slept more/less than usual' when the two diverge. It is an observation only — never a recovery claim, never a return track, and never part of the headline recovery-gap number. Per-night asleep totals come from the canonical night reconstruction over the baseline and episode windows, so a multi-source night (two writers for one sleep) is counted once, matching every other sleep surface. The observation withholds entirely on thin data — too few baseline or episode nights, or a delta below a 30-minute floor — so day-to-day jitter is never narrated as a finding. Additive optional DTO field; no schema, no migration. Two locale keys across the six bundles. Regenerate the OpenAPI contract from the Zod source.