sync-daily --verify caught a commit stamped 23:59:52 that the daily count had silently dropped. The git log --until bound for the day was 23:59:00, so anything committed in the last minute of the day fell outside it.

How the sweep counts a day

sync-daily does one git log per repo over the whole date range and buckets the results by date. The sweeps share one SweepCache, and per-date results are memoised instead of rescanned for each date.

Nothing in that path raised an error. A commit that landed after 23:59:00 simply never showed up in any bucket, and the count looked complete.

Adding --verify

We added a --verify flag. It recounts each day from raw git and transcripts and from the written SYNC block, and exits 1 on a mismatch. Run against the sweep, it found the 23:59:52 commit that the bucketed count had missed.

The fix: both bounds to 23:59:59

The --until bounds are now 23:59:59, where they had been 23:59:00. The bizops outcomes query got the same change. Its git log --until now uses <D> 23:59:59, inclusive, so a midnight commit is not counted in two windows. Both changes shipped with tests.

The old bound cut off everything after 23:59:00, so it dropped a day’s last-minute commits without a word. Now sync-daily --verify exits 1 whenever its recount disagrees with the written SYNC block.