--- id: ERR-6 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-6 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # ERR-6 — A node's output must be serializable throughout *RT-ERR (Part II) · level: extended · profiles: runtime · added in 1.0* Checked over the node's whole output, before any unexposed value is filtered out, so a value the node type does not expose is policed exactly like one it does. ## The rule > **Normative.** This is the rule. > > 1. Every leaf of a node's output must be a JSON value: a string, number, boolean, null, an array, or an object with a defined JSON representation. > > 2. The check covers the node's full output, including values its type does not expose. > > 3. A violation is a node-level error naming the node, its type, the dotted path to the offending leaf and the offending type; the resulting error output is not retryable and follows the ordinary error-edge-or-fail path. ## Why Recorded under OPEN-19. ## Related rules - Names: ERR-1, ERR-2 --- 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.