--- id: ERR-13 family: RT-ERR level: core profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-err/err-13 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # ERR-13 — Every execution strategy routes errors identically *RT-ERR (Part II) · level: core · profiles: runtime · added in 1.0* A workflow that handles its own failures must mean the same thing whichever engine runs it, including the direct synchronous one. ## The rule > **Normative.** This is the rule. > > 1. All execution strategies route error outputs the same way. > > 2. Where the failing node has an error edge, its outputs are replaced by the shared error envelope and the run continues; where it has none, the run fails. > > 3. No strategy may substitute its own error-handling behaviour. ## What it means The contract holds even for the strategy with the least machinery behind it. A strategy that runs a workflow in one pass, with nothing persisted between steps, still owes the same envelope a strategy built around persisted steps delivers: the same four keys, in the same shape, to the same downstream input. Having no step record to carry the envelope in is not a reason to carry less of it, or to shape it differently because the surrounding machinery differs. Nothing about how a strategy is built earns it its own error-handling behaviour. ## Example A node with a wired error edge fails under the strategy that keeps no record between steps; the downstream node's input arrives exactly as it would under any other strategy. ```json title="What the downstream node's input port receives" verdict="routed" {"message": "boom blew up", "code": "E42", "node_id": "boom", "retryable": false} ``` ## Why Recorded under OPEN-1. ## Related rules - Names: ERR-7, ERR-8 - Referenced by: ERR-7, ERR-12 --- 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.