A node type can hide an output outright
The rule
Normative: this is the rule
- 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. - 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
{"result": "ok", "debug": "internal trace"}{"throttled": true}{"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