Skip to main content
Version: MVP

Scheduled task creation

2 min readReferenceUpdated 2026-05-19

What you'll find here

The helper that converts one cron-like gateway schedule tick into one deterministic craik.task_request — cron shape, task context, deduplication, and limitations.

Validation + conversion, not execution.

craik.runtime.schedules does not run a scheduler loop. It validates schedule definitions and converts an observed tick into a task while preserving gateway context.

Cron shape

Conservative five-field cron-like expression. Supported field characters: digits, *, /, ,, -. The minute field must not schedule work more often than every five minutes; * * * * * and */4 * * * * are rejected by default.

0 9 * * *
*/15 9-17 * * 1,2,3,4,5

No named shortcuts.

Named shortcuts such as @daily are not supported.

Task context

Created tasks preserve:

Schedule id

Schedule tick id

Cron expression

Run timestamp

Project id

Policy envelope id

Channel

Linked receipt ids

The task id is deterministic from schedule id and tick id.

Deduplication

Callers pass the set of already-seen tick ids. If the tick id was already seen, task creation returns created = false and does not create another TaskRequest.

Limitations

No execution, no persistence, no clock.

Future gateway scheduling layers are responsible for tracking seen ticks, persisting tasks, and emitting schedule execution receipts.

What's next