FlowDrop Workflow Specification 1.0

Each trigger node gives the workflow a reserved input

A firing reaches a run through the same mapping a caller's input does, without the author declaring anything and without the entry ever going stale.

The rule

Normative: this is the rule
  1. For each trigger node in a workflow, the workflow MUST have one reserved input.
  2. Its name MUST be event: followed by the trigger node's identifier.
  3. It MUST bind that node's event port (SCH-47).
  4. A reserved input MUST be derived from the workflow's trigger nodes whenever it is needed.
  5. A reserved input MUST NOT be stored in the workflow's manifest, and an authoring surface MUST NOT write one there.
  6. A value supplied under a reserved input name MUST be delivered as MAN-11 delivers a declared input.
  7. A reserved input MUST NOT be required at launch.

What it means

A firing puts its event somewhere, and the manifest already says how a named input reaches a port (MAN-11). Reserved inputs reuse that mapping instead of adding a second route into a run.

They are worked out from the trigger nodes, never stored. Add a trigger and its reserved input exists; delete it and the input is gone; copy it and the copy gets its own. Nothing can go stale, and nothing needs repairing.

The name cannot clash with an author's input. event: contains a colon, which R4.a's alphabet does not allow, so no declared input can ever carry it. A reserved input is never required, because a run is started by at most one firing and the other triggers simply skip (CFG-21).

Example

A workflow with trigger nodes on_insert and on_update, and one declared input, article:

The workflow's reserved inputsderived
[
  { "name": "event:on_insert", "node_id": "on_insert", "port": "event" },
  { "name": "event:on_update", "node_id": "on_update", "port": "event" }
]
The workflow's stored manifestunchanged
[{ "name": "article", "node_id": "run_triage", "port": "article" }]

Why

Recorded under OPEN-21, OPEN-25.

Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0 · MAN-26 · changed in spec 1.0