Skip to content

CL-5770: Cron correctness (POSIX steps, DOM/DOW OR, timezones) - #16

Merged
TheGreatAxios merged 2 commits into
mainfrom
cl-5770-cron-correctness-step-fields-domdow-semantics-timezones
Aug 9, 2026
Merged

CL-5770: Cron correctness (POSIX steps, DOM/DOW OR, timezones)#16
TheGreatAxios merged 2 commits into
mainfrom
cl-5770-cron-correctness-step-fields-domdow-semantics-timezones

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Summary

  • Align packages/routines cron with Vixie/POSIX: step fields offset from field min; DOM/DOW OR when both restricted; day-of-week 7 is Sunday.
  • Optional IANA timezone on daily/weekly/cron (UTC storage); impossible expressions rejected at save via bounded lookahead.
  • Web cadence/next-run shares the package path (logic stays in packages).

Test plan

  • bun test packages/routines/test/cron.test.ts packages/routines/test/trigger.test.ts apps/hub/test/cron-due.test.ts apps/web/test/routine-trigger.test.ts
  • bun run lint

Replaces closed #15 (base branch deleted after CL-5769 squash). Closes CL-5770.

Align packages/routines cron with Vixie/POSIX semantics and make schedules wall-clock safe. Step fields offset from field min; DOM/DOW OR when both restricted; day-of-week 7 is Sunday; optional IANA timezone on daily/weekly/cron with UTC storage; impossible expressions rejected at save via bounded lookahead. Web cadence/next-run shares the package path.
- Fix block-comment syntax error in cron.ts (*/N sequence closed the
  comment); reword to avoid the delimiter collision.
- Apply prettier formatting to changed routine/hub files and a
  pre-existing prettier violation in webhook-triggers management-routes
  (required for prettier --check .).
- Replace non-null assertions in routine-scheduler/store tests with an
  expectPresent narrowing helper.
@TheGreatAxios
TheGreatAxios merged commit 9ef257a into main Aug 9, 2026
2 checks passed
@TheGreatAxios
TheGreatAxios deleted the cl-5770-cron-correctness-step-fields-domdow-semantics-timezones branch August 9, 2026 07:17
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