Exposure names are unique per side
The rule
Normative: this is the rule
- Workflow exposure names must be unique within a side.
- Inputs and outputs are independent, so one name may appear once as an input and once as an output.
- A repeat within one side is refused with
R4_NAME_DUPLICATEatschema.{side}.{index}.
What it means
The rule fixes what counts as a collision but not which of the colliding entries is at fault: it takes the second entry to use a name, not the first, so the entry a reader reaches first in the list is never the one carrying the error.
Example
Two input exposure entries claiming the same name:
[
{ "name": "dup", "node_id": "n1", "port": "a" },
{ "name": "dup", "node_id": "n1", "port": "b" }
]{ "code": "R4_NAME_DUPLICATE", "locator": "schema.input.1" }The first entry, at schema.input.0, is not named in any error — the name it
introduced was fine until the second entry repeated it.
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 · R4.b · changed in spec 1.0