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
- 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.
- 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.
["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.