{{ message }}
Repository navigation
fix(tasks): reject impossible dates in offset timestamps - #66
Merged
Merged
Conversation
Owner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Chat task creation and updates now reject impossible calendar dates in timestamps with
Zor an explicit UTC offset. Previously2026-02-30T12:00Zsilently became March 2 before being stored. The parser applies its existing calendar-date validation before converting these timestamps; valid leap dates, offset crossings, fractional seconds, years 0000–0099 and24:00retain their existing behavior.Added native tests that verify rejected dates neither create a task nor change an existing task's due date, plus valid timestamp controls. A paired replay of the actual parser and task tool executor with locked Zod 4.6.5 reproduces five invalid parser dates and ten invalid create/update writes on base
8a5d8a84; the fix rejects all of them before writing. README task documentation describes the validation.Validation on source
ceabeede283a1c3d1c719589228a6e952bc1002c: full lint, typecheck and build passed; all 705 native tests passed (including 11 new date tests in workerd), and all 27 local Playwright E2E tests passed. Qualification run and logs. The workflow helper is76db44585d3629a728a457117df1653383b59981; its only change is the validation workflow, which checks out and asserts the source SHA, tree and parent. Tests use mock/local services without account credentials; no real-account smoke test was run. Installer packing was omitted because the installer is unchanged.