--- id: R5.c family: GR-VAL level: core profiles: [storage-api] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-val/r5-c specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # R5.c — Every node carries an id *GR-VAL (Part I) · level: core · profiles: storage-api · added in 1.0* A node without an id cannot be referred to by an edge, an exposure entry or a runtime result, so a workflow containing one is refused rather than stored. ## The rule > **Normative.** This is the rule. > > 1. Every node in a workflow must carry a non-empty `id`. > > 2. A node whose `id` is absent or empty is refused, and because the node cannot be named the error identifies it by its position in the workflow's node list. --- 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.