Scheduled task creation
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.