FlowDrop Workflow Specification 1.0-draft

A declared parameter wins a name collision with a dynamic port

The rule

Normative: this is the rule
  1. Where a dynamic port's name is also the name of a parameter the node's processor declares, the declared parameter wins and the dynamic port is ignored.
  2. An author cannot shadow a declared parameter by adding a dynamic port of the same name.

What it means

A node instance can name a dynamic port whatever it likes, so nothing stops an author choosing a name the node's processor already declares as its own parameter. Where that happens the two do not blend and neither takes turns: the declared parameter's own resolution — its wiring, its default — is what the node receives, and a value arriving for the same name over the dynamic channel is discarded outright, never held as a fallback.

Example

A node instance declares a dynamic port named static_param, the same name the node's processor already declares as its own parameter, and a value arrives for that name over the dynamic channel:

The value delivered over the dynamic channel for static_paramignored
"smuggled_must_lose"
What the declared parameter resolves to insteaddefault
{ "value": "static_default", "source": "default" }
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 · DYN-5 · changed in spec 1.0