Generated by bun run conformance:render — do not edit by hand.
Point-by-point certification submission: every conformance requirement against the literal published schema (conform-ed ADR-0013), with emergent’s implementation status, the spec citation, the modelled schema anchors, and the verifying evidence (emergent ADR-0028).
- Denominator: pinned Coverage Map
docs/conformance/maps/oneroster-v1.2.json (generated 2026-06-22), sha256 50d51ad39235f23a00992402aec7669e84fe4a65394d0c45ec00af810fbdbb51.
- Requirements: 21/21 done across 5 profile(s) — assessment-results, gradebook, resources, rostering, transport.
- Information model: 248/410 literal items modelled; 88 transport-axis items (operations / parameters / security).
- Evidence: each claim cites its
[covers:] evidence key; run bun run conformance:prove to resolve these to the proving test names for a submission copy.
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| OR-AR-1 |
MUST |
✅ done |
Every assessment-results object (AssessmentLineItem, AssessmentResult) MUST carry a sourcedId, a status and a dateLastModified. |
or:1.2:conf:assessment-results/OR-AR-1 |
OneRoster 1.2 Cert §4.1.3 (Assessment Results — OR 1.2) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-AR-2 |
MUST |
✅ done |
An AssessmentResult MUST reference its AssessmentLineItem and the student it scores, and carry a score status. |
or:1.2:conf:assessment-results/OR-AR-2 |
OneRoster 1.2 §AssessmentResult — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-AR-3 |
MUST |
✅ done |
An assessment-results service provider MUST serve the assessmentLineItems and assessmentResults GET endpoints (collection and single-object). |
or:1.2:conf:assessment-results/OR-AR-3 |
OneRoster 1.2 Cert §4.1.3 (Assessment Results provider endpoints — OR 1.2) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
Modelled schema anchors
- OR-AR-1 →
or:1.2:def:AssessmentLineItemDType/sourcedId, or:1.2:def:AssessmentLineItemDType/status, or:1.2:def:AssessmentLineItemDType/dateLastModified, or:1.2:def:AssessmentResultDType/sourcedId, or:1.2:def:AssessmentResultDType/status, or:1.2:def:AssessmentResultDType/dateLastModified
- OR-AR-2 →
or:1.2:def:AssessmentResultDType/assessmentLineItem, or:1.2:def:AssessmentResultDType/student, or:1.2:def:AssessmentResultDType/scoreStatus
- OR-AR-3 →
or:1.2:path:gradebook/GET /assessmentLineItems, or:1.2:path:gradebook/GET /assessmentLineItems/{sourcedId}, or:1.2:path:gradebook/GET /assessmentResults, or:1.2:path:gradebook/GET /assessmentResults/{sourcedId}
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| OR-GB-1 |
MUST |
✅ done |
A LineItem MUST reference the class it scores and the academic session it falls within. |
or:1.2:conf:gradebook/OR-GB-1 |
OneRoster 1.2 Gradebook §LineItem — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-GB-2 |
MUST |
✅ done |
A Result MUST reference the LineItem it scores and the student it belongs to, and carry a score status. |
or:1.2:conf:gradebook/OR-GB-2 |
OneRoster 1.2 Gradebook §Result — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-GB-3 |
MUST |
✅ done |
Every gradebook object (LineItem, Result, Category, ScoreScale) MUST carry a sourcedId, a status and a dateLastModified. |
or:1.2:conf:gradebook/OR-GB-3 |
OneRoster 1.2 Cert §4.1.2 (Gradebook entities) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-GB-4 |
MUST |
✅ done |
A Result MUST carry the score value (or its scoreStatus rationale) and the date it was recorded. |
or:1.2:conf:gradebook/OR-GB-4 |
OneRoster 1.2 Gradebook §Result (score/scoreDate) — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-GB-5 |
MUST |
✅ done |
A gradebook service provider MUST serve either the pull endpoints (GET categories, lineItems, results, scoreScales) or the push endpoints (PUT lineItems/{id}, PUT results/{id}). |
or:1.2:conf:gradebook/OR-GB-5 |
OneRoster 1.2 Cert §4.1.2 (Gradebook provider endpoints) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
Modelled schema anchors
- OR-GB-1 →
or:1.2:def:LineItemDType/class, or:1.2:def:LineItemDType/academicSession
- OR-GB-2 →
or:1.2:def:ResultDType/lineItem, or:1.2:def:ResultDType/student, or:1.2:def:ResultDType/scoreStatus
- OR-GB-3 →
or:1.2:def:LineItemDType/sourcedId, or:1.2:def:LineItemDType/status, or:1.2:def:LineItemDType/dateLastModified, or:1.2:def:ResultDType/sourcedId, or:1.2:def:ResultDType/status, or:1.2:def:ResultDType/dateLastModified, or:1.2:def:CategoryDType/sourcedId, or:1.2:def:CategoryDType/status, or:1.2:def:ScoreScaleDType/sourcedId, or:1.2:def:ScoreScaleDType/status
- OR-GB-4 →
or:1.2:def:ResultDType/score, or:1.2:def:ResultDType/scoreDate, or:1.2:def:ResultDType/scoreStatus
- OR-GB-5 →
or:1.2:path:gradebook/GET /categories, or:1.2:path:gradebook/GET /lineItems, or:1.2:path:gradebook/GET /results, or:1.2:path:gradebook/GET /scoreScales, or:1.2:path:gradebook/PUT /lineItems/{sourcedId}, or:1.2:path:gradebook/PUT /results/{sourcedId}
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| OR-RES-1 |
MUST |
✅ done |
A Resource MUST carry a title and a vendorResourceId identifying it within the providing vendor. |
or:1.2:conf:resources/OR-RES-1 |
OneRoster 1.2 Resources §Resource — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-RES-2 |
MUST |
✅ done |
A Resource MUST carry a sourcedId, a status and a dateLastModified like every other OneRoster object. |
or:1.2:conf:resources/OR-RES-2 |
OneRoster 1.2 Cert §4.1.4 (Resources) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-RES-3 |
MUST |
✅ done |
A resources service provider MUST serve the GET /resources collection and GET /resources/{sourcedId} single-object endpoints. |
or:1.2:conf:resources/OR-RES-3 |
OneRoster 1.2 Cert §4.1.4 (Resources provider endpoints) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
Modelled schema anchors
- OR-RES-1 →
or:1.2:def:ResourceDType/title, or:1.2:def:ResourceDType/vendorResourceId
- OR-RES-2 →
or:1.2:def:ResourceDType/sourcedId, or:1.2:def:ResourceDType/status, or:1.2:def:ResourceDType/dateLastModified
- OR-RES-3 →
or:1.2:path:resources/GET /resources, or:1.2:path:resources/GET /resources/{sourcedId}
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| OR-1 |
MUST |
✅ done |
Every rostering object MUST carry a stable sourcedId and a status (active / tobedeleted), and a dateLastModified — the watermark a delta exchange reconciles against. |
or:1.2:conf:rostering/OR-1 |
OneRoster 1.2 Cert §4 (REST) / §3 (CSV) — Base entity — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-2 |
MUST |
✅ done |
A User MUST declare at least one role binding the user to an organization, each role carrying a roleType. |
or:1.2:conf:rostering/OR-2 |
OneRoster 1.2 §User / Role — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-3 |
MUST |
✅ done |
An Enrollment MUST reference the user it enrols and the class it enrols them into, and declare the enrolment role. |
or:1.2:conf:rostering/OR-3 |
OneRoster 1.2 §Enrollment — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-4 |
MUST |
✅ done |
A Class MUST reference the course it instantiates and the school (org) that offers it. |
or:1.2:conf:rostering/OR-4 |
OneRoster 1.2 §Class — https://www.imsglobal.org/spec/oneroster/v1p2 |
| OR-5 |
MUST |
✅ done |
A rostering service provider MUST serve the collection and single-object GET endpoints for every rostering entity (academicSessions, classes, courses, enrollments, gradingPeriods, orgs, schools, students, teachers, terms, users). |
or:1.2:conf:rostering/OR-5 |
OneRoster 1.2 Cert §4.1.1 (Rostering provider endpoints) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
Modelled schema anchors
- OR-1 →
or:1.2:def:OrgDType/sourcedId, or:1.2:def:OrgDType/status, or:1.2:def:OrgDType/dateLastModified, or:1.2:def:UserDType/sourcedId, or:1.2:def:UserDType/status, or:1.2:def:UserDType/dateLastModified, or:1.2:def:ClassDType/sourcedId, or:1.2:def:ClassDType/status, or:1.2:def:ClassDType/dateLastModified, or:1.2:def:CourseDType/sourcedId, or:1.2:def:CourseDType/status, or:1.2:def:CourseDType/dateLastModified, or:1.2:def:EnrollmentDType/sourcedId, or:1.2:def:EnrollmentDType/status, or:1.2:def:EnrollmentDType/dateLastModified, or:1.2:def:AcademicSessionDType/sourcedId, or:1.2:def:AcademicSessionDType/status, or:1.2:def:AcademicSessionDType/dateLastModified
- OR-2 →
or:1.2:def:UserDType/roles, or:1.2:def:RoleDType/role, or:1.2:def:RoleDType/roleType, or:1.2:def:RoleDType/org
- OR-3 →
or:1.2:def:EnrollmentDType/user, or:1.2:def:EnrollmentDType/class, or:1.2:def:EnrollmentDType/role
- OR-4 →
or:1.2:def:ClassDType/course, or:1.2:def:ClassDType/school
- OR-5 →
or:1.2:path:rostering/GET /academicSessions, or:1.2:path:rostering/GET /academicSessions/{sourcedId}, or:1.2:path:rostering/GET /classes, or:1.2:path:rostering/GET /classes/{sourcedId}, or:1.2:path:rostering/GET /courses, or:1.2:path:rostering/GET /courses/{sourcedId}, or:1.2:path:rostering/GET /enrollments, or:1.2:path:rostering/GET /enrollments/{sourcedId}, or:1.2:path:rostering/GET /gradingPeriods, or:1.2:path:rostering/GET /gradingPeriods/{sourcedId}, or:1.2:path:rostering/GET /orgs, or:1.2:path:rostering/GET /orgs/{sourcedId}, or:1.2:path:rostering/GET /schools, or:1.2:path:rostering/GET /schools/{sourcedId}, or:1.2:path:rostering/GET /students, or:1.2:path:rostering/GET /students/{sourcedId}, or:1.2:path:rostering/GET /teachers, or:1.2:path:rostering/GET /teachers/{sourcedId}, or:1.2:path:rostering/GET /terms, or:1.2:path:rostering/GET /terms/{sourcedId}, or:1.2:path:rostering/GET /users, or:1.2:path:rostering/GET /users/{sourcedId}
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| OR-TR-1 |
MUST |
✅ done |
Every REST endpoint MUST be protected by OAuth 2.0 using the Client Credentials grant, per the 1EdTech Security Framework. |
or:1.2:conf:transport/OR-TR-1 |
OneRoster 1.2 Cert §4.3 (Security) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-TR-2 |
MUST |
✅ done |
A provider MUST support the pagination mechanism (the limit and offset query parameters) on every response that provides a collection. |
or:1.2:conf:transport/OR-TR-2 |
OneRoster 1.2 Cert §4.3.1 (Pagination) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-TR-3 |
MUST |
✅ done |
A provider MUST support the filtering mechanism (the filter query parameter) on collection responses. |
or:1.2:conf:transport/OR-TR-3 |
OneRoster 1.2 Cert §4.3.1 (Filtering) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-TR-4 |
MUST |
✅ done |
A provider MUST support the sorting mechanism (the sort and orderBy query parameters) on every response that provides a collection. |
or:1.2:conf:transport/OR-TR-4 |
OneRoster 1.2 Cert §4.3.1 (Sorting) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
| OR-TR-5 |
MUST |
✅ done |
A provider MUST support the field-selection mechanism (the fields query parameter) on collection and singleton responses. |
or:1.2:conf:transport/OR-TR-5 |
OneRoster 1.2 Cert §4.3.1 (Field selection) — https://www.imsglobal.org/spec/oneroster/v1p2/cert/ |
Modelled schema anchors
- OR-TR-1 →
or:1.2:sec:OAuth2CC
- OR-TR-2 →
or:1.2:param:limit, or:1.2:param:offset
- OR-TR-3 →
or:1.2:param:filter
- OR-TR-4 →
or:1.2:param:sort, or:1.2:param:orderBy
- OR-TR-5 →
or:1.2:param:fields