A stale source does not satisfy an edge
Inside a loop, a source can be completed and branch-active and still be speaking for the wrong round. Two independent staleness tests sit on every edge, and a source gated by either does not satisfy.
The rule
Normative: this is the rule
- A source that has been superseded does not satisfy an edge: where a newer execution of the source node already exists, that source's branch decision must not activate a trigger edge, an error edge, or a data edge leaving a named port of a source that emitted an active-branch list; a source vouches only for its own iteration.
- Independently, a completed source from a round behind the consumer's, on a loop both are inside, does not satisfy a trigger, error or ordinary data edge, named port or not; a source that shares no loop with the consumer is never gated on this ground, so no loop deadlocks.
- An edge whose source is gated by either test is unsatisfied, and a consumer therefore never runs on a mixture of rounds.
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 · BR-6 · changed in spec 1.0