FlowDrop Workflow Specification 1.0-draft

Only an exact false suppresses default exposure

The schema extension that suggests hiding a port is read by identity, not by truthiness. Anything that is not the boolean false leaves the port exposed, so a malformed or half-migrated value fails towards visible.

The rule

Normative: this is the rule
  1. A processor's x-exposed-by-default schema extension suppresses a port's default exposure only when its value is exactly the boolean false.
  2. Any other value (including null, zero, an empty string, or the string "false") leaves the port exposed by default, as does the key's absence (CFG-2).

What it means

The comparison is identity, not truthiness. A processor asking for a port to ship hidden has exactly one way to say so — the boolean false, and nothing else. Every near-miss a loosely-typed schema or a round trip through another format might produce — null, 0, an empty string, even the string "false" — leaves the port exposed. A malformed or half-migrated flag fails towards visible, never towards hidden.

Example

The one hiding valuehidden
{ "x-exposed-by-default": false }
The string false, quoted, where the boolean was meantexposed
{ "x-exposed-by-default": "false" }
The key absent altogetherexposed
{}
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-5 · changed in spec 1.0