FlowDrop Workflow Specification 1.0-draft

A node type can hide an output outright

The rule

Normative: this is the rule
  1. Where a node type marks an output port exposed: false, that output is stripped from every instance's result unconditionally, and no instance override can restore it.
  2. Otherwise the instance's own override decides, then the node type's default exposure, and a port with none of these resolves as exposed.

What it means

Two node-type-level signals both start an output hidden, but only one of them can be reversed by the workflow's own instance override. Marking a port exposed: false says the port does not exist at all: nothing an instance records can restore it. The node type's default exposure, by contrast, is only a starting position — the instance's own override decides over it, and only the node type's default is consulted when the instance has recorded none.

Example

A result carrying an output the node type declares does not exist (exposed: false)stripped
{"result": "ok", "debug": "internal trace"}
A different port, merely hidden by the node type's default exposurestripped
{"throttled": true}
A default-hidden port the instance overrides back onkept
{"debug": "now wanted"}

The first case takes no override — none could change the outcome. The third starts from the same kind of hiding as the second and reverses it, because a default is only ever a starting position.

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 · EXPO-13 · changed in spec 1.0