Skip to content

Handle non-hour DST folds and qualify timer delivery clocks - #210

Merged
PLN merged 1 commit into
mainfrom
fix/calendar-folds-and-clock-model
Sep 13, 2026
Merged

PLN merged 1 commit into
mainfrom
fix/calendar-folds-and-clock-model

Conversation

@PLN

@PLN PLN commented Sep 13, 2026

Copy link
Copy Markdown
Owner

A 30-minute daylight-saving rollback selected the second copy of a civil time because firstOccurrence assumed every fold was one hour. Use the timezone transition's actual offset difference and retain the identical civil date/time check. Permanent engine regressions reproduce the Lord Howe failure and cover spring gaps, first-fold delivery, rejection of the second copy and next-day delivery in New York, Berlin and Lord Howe.

Correct the qualification clock as well: pending waits now use uptime rather than wall timestamps, and simulated Windows resume advances elapsed uptime and due waits. Both prior model defects reproduce; a maximum-duration wait remains valid without signed overflow. Engine resume covers all four clock domains. A public manager regression proves persistent catch-up across two 72-hour gaps preserves an already-active invocation and one launch while recording new completed activation identities. Standalone test binaries embed timezone data.

Final full uncached race tests passed (manager 63.049s, journal 41.112s, timers 3.253s), vet and Windows/Linux staticcheck passed. Twenty final DST/resume repetitions passed (2.021s); earlier twenty complete timer-package and manager clock matrices passed (12.311s/4.966s). Complete source/test/documentation/privacy/whitespace review passed.

Exact source 15942407303668886da884582131fb7bcabe546a passed CI 34771224682. All 90 cases passed three times per native SYSTEM/headless standard-user identity (13.305s/10.006s), without skips. Four test-binary hashes, clean source/module identity, retained results and complete fixture/process/profile/linger cleanup were verified. Simulated resume establishes scheduler policy; it is not a claim of physical sleep or hibernation qualification. R5 acceptance remains open pending the recorded evidence and its other work packages.

@PLN
PLN merged commit 469ab70 into main Sep 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant