Alright, the bug has been identified, it occured because someone checked in during the time period between the snapshot for the 18th being created, and the streak logic running, which basically penalized everyone besides that 1 person with a missed snapshot, so anybody with 1 missed snapshot / a warning, had their streak broken wiith the 10 minutes of Aug 18th being counted as a snapshot window the streak logic takes into account (when it should only count the 17th / begin at the first full 24 hour snapshot )
Here's the mechanism: the streak job ran at 00:11:04 UTC on Aug 18, and by then, checkins already had at least one Aug-18 row for DAO 2 (user 1165639158 checked in at 00:01:20 — ten minutes before the job ran). That means snapshot_dates[0] was Aug 18 itself — a day still in progress, not a completed day. The loop counts "haven't checked in yet today" as a missed snapshot exactly like a genuinely missed past day. For Mitchell: not-yet-checked-in-today (miss #1) + genuinely absent Aug 17 (miss #2) = broken, even though he only actually missed one real day.
The real bug: the loop should never treat "today" as a possible miss at all — only fully-completed past days. This is why it hit multiple people at once and why it "just started happening" with no code change: it's a timing race, not a logic change. It only manifests on days when at least one DAO member happens to check in within the first few minutes after 00:00 UTC, before the streak job runs — which is essentially luck. Aug 18 was the day that luck ran out. Anybody who missed the previous legitimate snapshot window [Aug 17th] had their streak suddenly broken