mirror of
https://github.com/MBombeck/HealthLog.git
synced 2026-11-14 06:40:50 +00:00
The snapshot's thick phase gated on every type the account had ever logged having rollup coverage — one fresh reading from a new integration nulled the health score and the blood-pressure extras while the insights page showed a score for the same account. The gate now checks only the three types the phase reads, per the established per-type pattern. Underneath sat the destabiliser: the large rollup fold deleted the window's buckets and re-inserted without a transaction or duplicate tolerance, so a racing sync write aborted the insert and left the delete committed — whole types lost their buckets until the next clean fold, and accounts with data older than the five-year fold window re-ran the full backfill on every boot because discovery scanned unbounded history. Delete and insert now commit atomically with duplicate tolerance, discovery shares the fold's bound, the provisional ring says the score is being computed when the inputs exist and reserves the no-data wording for accounts that have none, and the greeting leads the band typographically.