FlowDrop Workflow Specification 1.0-draft

Tools reach only a node that declares itself a tool consumer

The rule

Normative: this is the rule
  1. Tools are handed to a node only where the node type declares that it consumes them.
  2. Wiring tools to a node type that neither consumes nor forwards them is a validation error; a node type that forwards them is accepted and passes them on.
  3. Should such a workflow run regardless, the node receives no tools.
  4. A node re-entered on a later round of a loop receives its tools on every round.

What it means

A node type that only forwards tools is accepted for wiring even though it never consumes any of them itself — it exists purely to fan the same tools out to more than one consumer, and every consumer wired to it sees the whole set, not a private share carved out for it alone.

The other clause cuts against treating tool binding as something decided once and then left alone. A node reached again on a later round of a loop is not running on a binding made the first time it was reached: every round re-derives which tools it receives, so a node reached a second, third, or hundredth time still gets everything it is wired to.

Example

Two calculators, wired as adder and multiplier, both feed a single shared forwarding node; that node feeds two separate tool-consuming nodes.

Each consumer's tool manifestlisted
["adder", "multiplier"]

A single tool-consuming node sits inside a loop, re-entered on every round, with one calculator wired to it directly.

The consumer's tool manifest, every round of the looplisted
["adder"]
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-12 · changed in spec 1.0