--- id: BR-4 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-4 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # BR-4 — An outcome matching no branch is loud, never a silent gate-off *RT-BR (Part II) · level: core · profiles: runtime · added in 1.0* A gateway whose configured branches do not cover the value it produced used to emit a branch name no port carried, gating off everything downstream with nothing said. The target is that this cannot happen quietly. ## The rule > **Normative.** This is the rule. > > 1. A gateway's branch authority is its configured branches, each an entry pairing a name with a value; an entry whose name is not a non-empty string is discarded before any matching. > > 2. Matching an outcome to a branch is type-aware and never a loose cast: a boolean outcome matches only a branch whose configured value denotes a boolean: a boolean, the integer `0` or `1`, or the strings `true`, `false`, `1` or `0` without regard to case. > > 3. Two strings compare without regard to case, and anything else must be equal in both type and value. > > 4. A gateway must not emit a branch name that no port of the node carries: where no configured branch matches the outcome, either the gateway declares a default branch port that receives it, or the node fails with an error output that an error edge can route (ERR-7). ## Why Recorded under OPEN-15. ## Related rules - Names: BR-2, BR-3 - Referenced by: BR-2 --- 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.