A port with no stored decision is exposed, whatever the processor suggested
A known seam, recorded so nobody is surprised by it. It is the price of the fail-open polarity: a port nobody has decided about shows up rather than disappearing.
The rule
- Where a processor gains a parameter after a node type's exposure values were stored, and the node type has not been re-derived, that port has no stored exposure value and resolves as exposed, even where the processor suggests hiding it.
- A processor's suggestion reaches a node type only through the authoring-time derivation of EXPO-6.
What it means
A port with no stored exposure value reads exactly like a port nobody has an opinion about, even where the processor itself asked for that exact port to ship hidden. That request only ever reaches a node type through the one-time read of EXPO-6, and a port a node type never derived a decision for is a port that read never happened for. Fail-open wins: the port shows up.
Example
{ "type": "string", "x-exposed-by-default": false }{ "connectable": true }The node type's entry carries no exposed_by_default at all — nothing was
ever derived for this port. What gets published for it carries no exposure
flag either, the same shape as a port nobody has decided about, regardless
of what the processor asked for.