flowchart TB
S1["1 · LMS assigns the AU to a learner
knows which Assignable Unit and which learner"]:::launch
S2["2 · LMS launches the AU URL
query params: endpoint, fetch, actor, registration"]:::launch
S3["3 · AU calls the fetch URL
exchanges the reference for an auth token"]:::launch
S4["4 · AU sends 'initialized'
first Statement, tagged with the Registration"]:::session
S5["5 · Learner interacts with the AU
stream of domain-verb Statements (experienced, answered)"]:::session
S6["6 · AU sends 'completed' or 'passed'/'failed'
the outcome of this attempt"]:::session
S7["7 · AU sends 'terminated'
signals the session has ended"]:::session
S8["8 · LMS queries the LRS
using agent + registration query parameters"]:::readback
S1 --> S2 --> S3 --> S4 --> S5 --> S6 --> S7 --> S8
classDef launch fill:#e9a23b,stroke:#b8791f,color:#222,font-size:15px
classDef session fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:15px
classDef readback fill:#4c956c,stroke:#2f6b48,color:#fff,font-size:15px
linkStyle default stroke:#999,stroke-width:2px