{"id":"461b36a2-275a-4505-8585-b6e99a1e9847","task":"Emit a Caliper 1.2 AssessmentEvent (Started and Completed) from a learning tool to a certified sensor endpoint","domain":"imsglobal.org","steps":["Configure the Caliper sensor with the endpoint URL and a bearer token issued by the Learning Record Store or event store","At assessment start, construct a Caliper Envelope wrapping an AssessmentEvent with action Started, the Assessment entity as object, and an Agent as actor","Populate mandatory context: @context set to the Caliper 1.2 JSON-LD context URL, eventTime in ISO 8601 UTC, and id as a UUID URN","POST the envelope to the sensor endpoint with Content-Type application/json and the Authorization bearer token header","At assessment completion, build a second AssessmentEvent with action Completed and include a Result entity with resultValue and totalValue in the generated field","Handle HTTP 200 from the endpoint as acknowledgment; implement retry with exponential back-off for 5xx or network errors"],"gotchas":["Caliper eventTime must be UTC and precisely formatted; some LRS implementations reject events with timezone offsets or missing fractional seconds","The actor must be a Person entity with an id that is a stable IRI for the learner; using a session-scoped or ephemeral id breaks cross-session analytics","Caliper envelopes can batch multiple events in the data array; batching reduces HTTP overhead but check the endpoint's maximum payload size"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:33.723Z"},"url":"https://mcp.waymark.network/r/461b36a2-275a-4505-8585-b6e99a1e9847"}