The naive formula used (jan4.Weekday() - time.Monday) produces -1 when Jan 4 is a Sunday (Weekday()==0), shifting the computed Monday one week forward. 2026 is affected: Jan 4 is a Sunday, so every week key in 2026 was mapped to the wrong 7-day range, causing CloseWeek to look for closed_days on the wrong dates and finding nothing — resulting in worked_ms=0 and a full -Nh delta. Fix: use (weekday+6)%7 to get days-since-Monday (Mon=0…Sun=6), which is always non-negative. Adds table-driven TestWeekDayKeys covering 2024 (Thu), 2026 (Sun), and 2023 (Wed) to prevent regression.
5.4 KiB
5.4 KiB