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/clr-v2.0.json (generated 2026-06-22), sha256 8a10283a194fbcfce0132387c4ae9683a1119b04e9fd8ff239b6daa6e0e203db.
- Requirements: 14/14 done across 3 profile(s) — displayer, host, issuer.
- Information model: 299/409 literal items modelled.
- 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 |
| CLR-DSP-1 |
MUST |
✅ done |
A displayer MUST verify a presented ClrCredential and correctly determine its state — valid, expired or revoked — before display, and MUST allow a viewer to trigger verification and retrieve the result. |
clr:2.0:conf:displayer/CLR-DSP-1 |
CLR 2.0 Cert §4.2 (Displayer Tests) — https://www.imsglobal.org/spec/clr/v2p0/cert/#displayer |
| CLR-DSP-2 |
MUST |
✅ done |
A displayer MUST present the record’s name, description, issuer name, issue date (validFrom), verification status, and the image when present. |
clr:2.0:conf:displayer/CLR-DSP-2 |
CLR 2.0 Cert §4.2 (Displayer — displayed data) — https://www.imsglobal.org/spec/clr/v2p0/cert/#displayer |
| CLR-DSP-3 |
MUST |
✅ done |
A ClrCredential MUST be treated as expired when the current date-time is after its validUntil. |
clr:2.0:conf:displayer/CLR-DSP-3 |
CLR 2.0 Cert §4.1 (Verification and Status — expired) — https://www.imsglobal.org/spec/clr/v2p0/cert/#status |
| CLR-DSP-4 |
MUST |
✅ done |
A ClrCredential MUST be treated as revoked when credentialStatus is present with type ‘1EdTechRevocationList’; credentialStatus.id MUST be the URL of the issuer’s credential status method. |
clr:2.0:conf:displayer/CLR-DSP-4 |
CLR 2.0 Cert §4.1 (Verification and Status — revoked) — https://www.imsglobal.org/spec/clr/v2p0/cert/#status |
| CLR-DSP-5 |
MUST |
✅ done |
A displayer MUST support the Data Integrity proof cryptosuites and MUST verify credentials expressed against the W3C VC Data Model 2.0 context. |
clr:2.0:conf:displayer/CLR-DSP-5 |
CLR 2.0 Cert §4.2 (Displayer — VC 2.0 + proof) — https://www.imsglobal.org/spec/clr/v2p0/cert/#displayer |
Modelled schema anchors
- CLR-DSP-1 →
clr:2.0:def:ClrCredential/proof, clr:2.0:def:ClrCredential/validUntil, clr:2.0:def:ClrCredential/credentialStatus
- CLR-DSP-2 →
clr:2.0:def:ClrCredential/name, clr:2.0:def:ClrCredential/description, clr:2.0:def:ClrCredential/issuer, clr:2.0:def:ClrCredential/validFrom, clr:2.0:def:ClrCredential/image, clr:2.0:def:ClrCredential/credentialStatus
- CLR-DSP-3 →
clr:2.0:def:ClrCredential/validUntil
- CLR-DSP-4 →
clr:2.0:def:ClrCredential/credentialStatus, clr:2.0:def:CredentialStatus/id, clr:2.0:def:CredentialStatus/type
- CLR-DSP-5 →
clr:2.0:def:ClrCredential/proof, clr:2.0:def:ClrCredential/@context
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| CLR-HST-1 |
MUST |
✅ done |
The getCredentials response MUST return ClrCredentials, each independently verifiable; VC-JWT-signed credentials MUST be carried in compactJwsString. A host MUST import and re-export a ClrCredential with no data loss. |
clr:2.0:conf:host/CLR-HST-1 |
CLR 2.0 Cert §5.1–5.3 (Host — import/export + Service Provider Read) — https://www.imsglobal.org/spec/clr/v2p0/cert/#host |
| CLR-HST-2 |
MUST |
✅ done |
A CLR API service error/status response MUST be reported through the imsx_statusInfo structure, carrying at least an imsx_codeMajor and imsx_severity. |
clr:2.0:conf:host/CLR-HST-2 |
CLR 2.0 Cert §5 (Host — Service Provider compliance) — https://www.imsglobal.org/spec/clr/v2p0/cert/#host |
Modelled schema anchors
- CLR-HST-1 →
clr:2.0:doc:getclrcredentialsresponse/credential/[], clr:2.0:doc:getclrcredentialsresponse/compactJwsString/[]
- CLR-HST-2 →
clr:2.0:doc:imsx_statusinfo/imsx_codeMajor, clr:2.0:doc:imsx_statusinfo/imsx_severity
| Req |
Level |
Status |
Statement |
Verified by / justification |
Spec source |
| CLR-ISS-1 |
MUST |
✅ done |
The @context MUST begin with the VC 2.0 context URI (https://www.w3.org/ns/credentials/v2) followed by the CLR 2.0 context URI. |
clr:2.0:conf:issuer/CLR-ISS-1 |
CLR 2.0 §ClrCredential — https://www.imsglobal.org/spec/clr/v2p0/#clrcredential |
| CLR-ISS-2 |
MUST |
✅ done |
The type MUST be an unordered set containing ‘VerifiableCredential’ and ‘ClrCredential’. |
clr:2.0:conf:issuer/CLR-ISS-2 |
CLR 2.0 §ClrCredential.type — https://www.imsglobal.org/spec/clr/v2p0/#clrcredential |
| CLR-ISS-3 |
MUST |
✅ done |
credentialSubject MUST be a ClrSubject that carries the learner’s achievements and the verifiable AchievementCredentials. |
clr:2.0:conf:issuer/CLR-ISS-3 |
CLR 2.0 §ClrSubject — https://www.imsglobal.org/spec/clr/v2p0/#clrsubject |
| CLR-ISS-4 |
MUST |
✅ done |
The issuer MUST be a Profile identified by an IRI in the issuer.id property. |
clr:2.0:conf:issuer/CLR-ISS-4 |
CLR 2.0 §ClrCredential.issuer + §Profile — https://www.imsglobal.org/spec/clr/v2p0/#profile |
| CLR-ISS-5 |
MUST |
✅ done |
An issued ClrCredential MUST be signed with a supported proof mechanism — a Data Integrity proof (eddsa-rdfc-2022 or ecdsa-sd-2023) or an external VC-JWT proof — and an embedded proof’s proofPurpose MUST be ‘assertionMethod’. |
clr:2.0:conf:issuer/CLR-ISS-5 |
CLR 2.0 Cert §3 (Issuer — baked, signed ClrCredential) — https://www.imsglobal.org/spec/clr/v2p0/cert/#issuer |
| CLR-ISS-6 |
MUST |
✅ done |
The issued ClrCredential MUST contain all required fields (id, @context, issuer, validFrom, credentialSubject) and be valid: it MUST pass JSON-LD validation in safe mode. |
clr:2.0:conf:issuer/CLR-ISS-6 |
CLR 2.0 Cert §3.1 (Issuer Tests — valid baked ClrCredential) — https://www.imsglobal.org/spec/clr/v2p0/cert/#issuer |
| CLR-ISS-7 |
MUST |
✅ done |
The ClrSubject MUST aggregate the learner’s record as a set of verifiable credentials (verifiableCredential), each itself a VerifiableCredential, alongside the achievements they evidence. |
clr:2.0:conf:issuer/CLR-ISS-7 |
CLR 2.0 §ClrSubject (verifiableCredential) — https://www.imsglobal.org/spec/clr/v2p0/#clrsubject |
Modelled schema anchors
- CLR-ISS-1 →
clr:2.0:doc:clrcredential/@context
- CLR-ISS-2 →
clr:2.0:doc:clrcredential/type, clr:2.0:doc:clrcredential/type/[]
- CLR-ISS-3 →
clr:2.0:doc:clrcredential/credentialSubject, clr:2.0:def:ClrSubject/type/[]
- CLR-ISS-4 →
clr:2.0:doc:clrcredential/issuer, clr:2.0:def:ProfileRef
- CLR-ISS-5 →
clr:2.0:def:ClrCredential/proof, clr:2.0:def:Proof/proofPurpose
- CLR-ISS-6 →
clr:2.0:doc:clrcredential, clr:2.0:def:ClrCredential/id, clr:2.0:def:ClrCredential/@context, clr:2.0:def:ClrCredential/issuer, clr:2.0:def:ClrCredential/validFrom, clr:2.0:def:ClrCredential/credentialSubject
- CLR-ISS-7 →
clr:2.0:def:ClrSubject/verifiableCredential, clr:2.0:def:ClrSubject/achievement, clr:2.0:def:VerifiableCredential/type/[]