An exposed workflow port must be named in the permitted alphabet
An exposure name is a caller-facing parameter name. Restricting it to a small alphabet keeps it usable as a key in every context a caller passes it through.
The rule
Normative: this is the rule
- A workflow exposure entry's
namemust match^[a-z0-9_-]+$. - A name that is absent, empty or outside that alphabet is refused with
R4_NAME_FORMATatschema.{side}.{index}, where{side}isinputoroutputand{index}the entry's position in that side's list. - Unlike R4.c, this failure does not skip the entry's remaining checks: uniqueness, node existence and port declaration are all still evaluated, so two entries with no name at all yield two
R4_NAME_FORMATerrors and oneR4_NAME_DUPLICATEon the empty name.
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.a · changed in spec 1.0