FlowDrop Workflow Specification 1.0-draft

A node sees run state only where it asks for it, and none of it is persisted

The rule

Normative: this is the rule
  1. Three separate guarantees.
  2. The runtime input handed to a node carries the reserved internal names __state__, __messages__ and __data__, plus __iterator__ and __current_item__ whenever the state carries an iterator, and __interrupt_id__ when the node is being resumed; a node sees one of these only where its own parameter schema declares it, and a declared internal parameter always accepts its runtime value.
  3. Separately, the live state is handed only to a node type that declares itself state-aware, and never to one that does not.
  4. And the input recorded against the node's execution has every reserved internal name removed, so no state or interrupt internal is ever persisted, even though the node received it.
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 · SG-2 · changed in spec 1.0