Skip to content

Step data timestamp drift fix (Apr 2026): Google's merge_* sources return dif...

Step data timestamp drift fix (Apr 2026): Google's merge_* sources return different nanosecond timestamps for same physical events across syncs. Fix: sync.py truncate timestamps to second-resolution (start_time.replace(microsecond=0)) before UPSERT. Covers activity/calories/active_minutes/heart_minutes. Migration: fix_step_duplicates.py deletes inflated Apr 9-15 data, re-syncs, rebuilds summaries. LLM-as-Judge process: Round 1 rejected DELETE-then-INSERT (non-atomic), Round 2 conditional pass β†’ all conditions met. 112 tests passing.