FlowDrop Workflow Specification 1.0-draft

Overrides are scoped by direction

The rule

Normative: this is the rule
  1. Exposure overrides are scoped by port direction: an output port's override is read from the outputs map, and an input port's (that of every other direction) from the inputs map.
  2. An input and an output of the same name are separate ports, and an override on one never applies to the other.

What it means

An input and an output that happen to share a name are two different ports, not one port seen from two sides, and their exposure overrides live in two different maps. Hiding an input named other says nothing about an output also named other — a lookup that ignored direction and matched by name alone would leak one port's override onto the other.

Example

The stored overrides: other hidden, but only in inputshidden
{ "inputs": [{ "id": "other", "exposed": false }] }

Checked as an input, other resolves hidden. Checked as an output, the same port name finds no entry at all — the outputs map carries none — and resolves to its own default, exposed.

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