FlowDrop Workflow Specification 1.0-draft

When a node is ready to run

Readiness is the whole of a workflow's scheduling contract: it decides what runs, in what order, and what a node is guaranteed to have in hand when it does.

The rule

Normative: this is the rule
  1. A node runs once its incoming edges are satisfied.
  2. A node with at least one incoming trigger edge is ready as soon as any one of those trigger edges is satisfied, and its data ports are not evaluated at all; such a node may legitimately run with an unfilled data port.
  3. Otherwise its incoming data edges are grouped by the input port they target; a group is satisfied by at least one source that has completed, is on an active branch, and is not a round behind the consumer on a loop the two share; and every group must be satisfied.
  4. That is an OR within a port and an AND across ports.
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 · DATA-4 · changed in spec 1.0