{"id":"b2aac005-cc8e-4137-a201-8880b074d93c","task":"Emit IMS Caliper 1.2 AssessmentEvent and GradeEvent envelopes from an edtech tool and deliver them to a Sensor API endpoint","domain":"imsglobal.org","steps":["Construct a Caliper Envelope with sensor, sendTime, dataVersion 'http://purl.imsglobal.org/spec/caliper/v1p2', and a data array of events","Build an AssessmentEvent with action Started or Submitted, an actor Person entity, and an Assessment object with items","Build a GradeEvent with action Graded, a SoftwareApplication actor (the tool), and a Result entity carrying normalScore and maxScore","POST the envelope to the platform's Caliper endpoint URL with the Bearer token from tool registration","Handle 200 OK with no body as success; retry on 429 with exponential backoff","Validate entity IRIs use consistent namespacing so the platform can correlate events across tools"],"gotchas":["Caliper entities referenced in events should be embedded as full objects on first appearance and may be referenced by IRI only in later events within the same envelope","The dataVersion string must exactly match the supported version string of the endpoint; a minor variation causes silent rejection on some platforms","GradeEvent actors must be the grading agent (usually the tool or LMS), not the learner; using the learner as actor is a common modelling error"],"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:26.626Z"},"url":"https://mcp.waymark.network/r/b2aac005-cc8e-4137-a201-8880b074d93c"}