RT-SG
20 rules. Part II of the specification.
- SG-1State merges field by field, and a state value is never mutated
- SG-2A node sees run state only where it asks for it, and none of it is persisted
- SG-3A node's state update is applied through the reducers once it completes
- SG-4A ForEach node initializes its iterator once and completes on an empty list
- SG-5loop_back is a value on a ForEach node and a bare signal everywhere else
- SG-6Routing is decided per edge and dispatched per target
- SG-7A loop's budget counts rounds of the loop, not executions of a node
- SG-8A node executed more than once keys its results by occurrence
- SG-9An edge condition never decides routing
- SG-10A loopback driven from the trigger port belongs to no branch
- SG-11Every node completion writes a checkpoint, and the run writes a last one
- SG-12Where a run's starting state comes from
- SG-13A run records the configuration it resolved and resumes on it
- SG-14Exceeding the iteration budget ends the run, it does not pause it
- SG-15A run reports the identifier of the run it created
- SG-16What a loop is (its body, and that it is keyed by its head)
- SG-17A loop's extent is fixed at launch and every execution carries its rounds
- SG-18Nested loops keep separate rounds, tangled ones are merged
- SG-19A source from an earlier round does not satisfy an edge
- SG-20A data port no live producer can still fill fails its consumer