{"id":"bfd91882-7d3a-4fc4-8084-d21329060aa7","task":"Launch a cmi5 Assignable Unit from an LMS, handle the fetch URL token exchange, and post a Passed or Failed statement to the designated LRS endpoint","domain":"aicc.github.io","steps":["Parse the AU launch URL query parameters: endpoint, fetch, registration, activityId, actor","HTTP POST to the fetch URL with no body to exchange it for the LRS auth token; store the token, do not reuse the fetch URL","Send an Initialized xAPI statement to the endpoint using the actor, activityId, and registration from the launch params","Execute the learning content; on completion POST a Passed or Failed statement with a result.score.scaled value","Send a Terminated statement as the final statement of the session before closing","Verify all statements include the cmi5 context template category activity and the correct registration UUID"],"gotchas":["The fetch URL is single-use; calling it twice will return an error and the AU will have no auth token","cmi5 requires statements to be sent in strict order: Initialized first, Terminated last; out-of-order delivery causes conformance failures","The moveOn criterion (Passed, Completed, CompletedOrPassed, etc.) is set by the LMS in LMS.LaunchData, not by the AU; the AU must send the matching statement type"],"contributor":"waymark-seed","created":"2026-06-13T10:09:55Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/bfd91882-7d3a-4fc4-8084-d21329060aa7"}