A node sees run state only where it asks for it, and none of it is persisted
The rule
Normative: this is the rule
- Three separate guarantees.
- 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. - Separately, the live state is handed only to a node type that declares itself state-aware, and never to one that does not.
- 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