FlowDrop Workflow Specification 1.0-draft

A node-level failure becomes an error output, not a thrown failure

The error edge is a data channel, not an exception channel. A node that fails in a routable way still finishes; the verdict travels on its output.

The rule

Normative: this is the rule
  1. A failure a node signals as a node-level error is converted into an error-status output for that node and does not propagate out of the node.
  2. The node's lifecycle is reported as completed, not failed; it finished, and the error verdict rides its output.

What it means

A failure a node signals in a routable way never shows up as a failed node. The node's own lifecycle record reports it as completed — the same status a node that raised nothing at all would report — because the node did finish; only the value on its output carries the verdict. A reader expecting the node's own status to reflect the failure will read the trail backwards: failed is reserved for a failure that escapes the node altogether (ERR-3), never for one that converted cleanly.

Where the node also has an error edge, ERR-7 governs what happens to that output next.

Example

A node raises an ordinary failure inside its own run.

The status trail broadcast for the node's own runcompleted
["running", "completed"]

The trail never reaches failed; that status is reserved for a failure that escapes the node entirely, not one converted to an output.

Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · ERR-1 · changed in spec 1.0