Teaching Case — Arrows That Never Said What They Meant
The most important template in this set, and nothing in it is wrong. A document imported from a notation whose arrows carry no semantics — `->>` and `-->>` are drawn differently and mean whatever the author had in mind — is read as stating nothing, and the checks that depend on a call stack report a GAP naming the line they stopped at. They do not guess. An engine that read those arrows as calls and replies would produce a complete, confident analysis of an interaction the document never described, which is worse than no analysis at all. Rewrite the arrows as `->`, `reply` and `async` and the same document is fully checked.
Make it your own.
sequence "Imported — semantics unstated"
participant Browser
participant Gateway
participant Auth
participant Profile
Browser ->> Gateway : GET /me
Gateway ->> Auth : verify(token)
Auth -->> Gateway : subject
Gateway ->> Profile : load(subject)
Profile -->> Gateway : profile
Gateway -->> Browser : 200 OK