--- id: CRON-1 family: RT-CRON level: extended profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-cron/cron-1 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # CRON-1 — A cleared schedule means not scheduled, and every reader says so *RT-CRON (Part II) · level: extended · profiles: runtime · added in 1.0* A schedule is invisible until it fires or fails to, so the component that decides a trigger is due and the one that reports when it will next run must never describe the same stored value differently. Blank-means-inactive is the reading every comparable scheduler uses. ## The rule > **Normative.** This is the rule. > > 1. A trigger whose cron expression is the empty string is not scheduled: it must not fire, and a report of when it will next run must say it has none. > > 2. Empty means exactly empty: an expression that merely looks unfilled, such as `0`, is a malformed expression and must be reported as invalid rather than as unset, so an operator is never told to fill in a field that is already filled in. > > 3. Whichever component decides that a trigger is due and whichever reports its next run must reach the same conclusion about the same stored schedule. ## Related rules - Names: CRON-2 - Referenced by: CRON-2 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.