--- id: ERR-5 family: RT-ERR level: extended profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-err/err-5 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # ERR-5 — A node may stop the run successfully *RT-ERR (Part II) · level: extended · profiles: runtime · added in 1.0* Stopping is a deliberate early finish, not a failure. Everything the run had not yet done is abandoned, and the run reports success. ## The rule > **Normative.** This is the rule. > > 1. A node may stop the whole run. > > 2. The stop is not converted into an error output: the node broadcasts completed, its unit of work is recorded as completed and never as failed, the value the stop carries is recorded under the node's result key, all downstream and not-yet-started work is abandoned, and the run finishes with status completed. ## What it means A node that stops the run is not failing quietly — the run finishes with the same status a run that executed everything normally reports. Everything downstream of the stopping node, and anything else not yet started, simply never happens: not marked failed, not marked skipped, not recorded at all. A reader who expects a partially-executed run to say so somewhere is expecting the wrong signal; `completed` here means the run ended deliberately, not that every node ran. ## Example Three nodes in a line; the middle one stops the run. ```json title="Nodes executed before the stop, in order" verdict="stopped" ["node_a", "node_b"] ``` ```json title="What the run itself finishes as" verdict="completed" "completed" ``` The third node never runs and never appears in the run's results. ## Related rules - Names: ERR-1, ORC-11 --- 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.