--- id: BR-6 family: RT-BR level: core profiles: [runtime] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-br/br-6 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # BR-6 — A stale source does not satisfy an edge *RT-BR (Part II) · level: core · profiles: runtime · added in 1.0* 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. > > 1. 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. > > 2. 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. > > 3. An edge whose source is gated by either test is unsatisfied, and a consumer therefore never runs on a mixture of rounds. ## Related rules - Names: BR-1, BR-7, DATA-4, SG-19, SG-20 - Referenced by: BR-7 --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.