--- id: ERR-9 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-9 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # ERR-9 — A run whose every failure was handled completes *RT-ERR (Part II) · level: core · profiles: runtime · added in 1.0* The verdict is computed from unhandled failures, not from failures. One unrouted failure fails the run no matter how many routed ones accompany it. ## The rule > **Normative.** This is the rule. > > 1. A run finishes with status completed when every failed unit of work in it carries the error-routed marker, and fails when any failed unit of work does not. > > 2. A routed failure is still announced on the ordinary "unit of work finished" channel, so subscribers see it and discriminate on its status. > > 3. A failed tool invocation always counts as handled: a tool failure is delivered to its consumer as a recoverable result. ## Related rules - Names: ERR-7, ERR-8 - Referenced by: ERR-7, ERR-8, ORC-11, RT-GATE-6 --- 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.