Teaching Case — Branches That Overlap, and an Input With Nowhere to Go
The one check here that would cry wolf constantly if it were not gated, and the gate is the point. Free-text guards parse as ordinary values, so two prose branches look disjoint and exhaustive of nothing — which is why this check runs only on a fragment that declares what it is testing and over what domain. Given that declaration it becomes exact: two branches that both accept the same scores, and a band of scores no branch accepts at all. Both draw as a fragment with arrows in every branch.
Make it your own.
sequence "Credit decision"
participant Intake "Intake"
participant Rules "Rules engine"
participant Manual "Manual review"
Intake -> Rules : score(applicant)
alt on score : [0..1000]
when [0..600]
Rules -> Manual : refer(applicant)
Manual reply Rules : declined
Rules reply Intake : declined
when [550..820]
Rules reply Intake : referred
end