--- id: VAL-LAUNCH family: GR-VAL level: core profiles: [storage-api, runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-val/val-launch specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # VAL-LAUNCH — The validator runs again at launch, before anything is created *GR-VAL (Part I) · level: core · profiles: storage-api, runtime · added in 1.0* A definition can become invalid after it was saved: a node type removed, a workflow written by a path that skipped validation. Re-checking at launch means an invalid workflow fails as a refusal, not as a half-built run. ## The rule > **Normative.** This is the rule. > > 1. Launching a workflow re-runs every validation rule against the stored definition. > > 2. On any error the launch is refused before any of its effects exist (no jobs are generated, no pipeline is created, nothing is scheduled and nothing is queued), and the refusal carries the full set of errors. > > 3. Over the API the refusal is `422`, with each error reported as a `code`, a `message` and a `locator`, exactly as the save path reports them. --- 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.