VC 2.0 — certification dossier
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/vc-data-model-v2.0.json(generated 2026-06-22), sha2565908dd96e832c472d4435c0a3f5a3e5dbfa2589bad6a93fb9935d659245510a5. - Requirements: 3/5 done across 2 profile(s) — credential, presentation.
- Information model: 53/68 literal items modelled.
- Evidence: each claim cites its
[covers:]evidence key; runbun run conformance:proveto resolve these to the proving test names for a submission copy.
Profile: credential — 2/4 done
Section titled “Profile: credential — 2/4 done”| Req | Level | Status | Statement | Verified by / justification | Spec source |
|---|---|---|---|---|---|
| VC-1 | MUST | ✅ done | A verifiable credential MUST have a @context whose first value is https://www.w3.org/ns/credentials/v2, a type that includes VerifiableCredential, an issuer, a validFrom, and a credentialSubject. | vc:2.0:conf:credential/VC-1 |
W3C Verifiable Credentials Data Model 2.0 — https://www.w3.org/TR/vc-data-model-2.0/ |
| VC-2 | MUST | ✅ done | An id, when present, MUST be a single URL; validUntil, when present, MUST be an XMLSchema dateTime; a credentialSubject identifies the subject via an optional id. | vc:2.0:conf:credential/VC-2 |
W3C Verifiable Credentials Data Model 2.0 — https://www.w3.org/TR/vc-data-model-2.0/ |
| VC-3 | MUST | ➖ n/a | Each credentialSchema, credentialStatus, refreshService, termsOfUse and evidence entry MUST carry a type (and an id where the property requires one). | emergent’s v1 credentials carry none of the optional securing/lifecycle objects this MUST conditions on — credentialSchema, credentialStatus, refreshService, termsOfUse, evidence are not emitted by assembleAchievementCredential / assembleClrCredential — so the “each entry MUST carry a type” obligation has no instance to bind. (The OB/CLR profile validity is proven in the dedicated OB/CLR conformance lanes against the official 1EdTech schemas.) | W3C Verifiable Credentials Data Model 2.0 — https://www.w3.org/TR/vc-data-model-2.0/ |
| VC-4 | MUST | ➖ n/a | A credential secured with an embedded proof MUST carry a proof with a type (the Data Integrity / Data Model securing mechanism). | emergent secures credentials with an ENVELOPING VC-JOSE proof (compact JWS, EdDSA/Ed25519) behind the KeySigner seam, verified externally via the published JWKS — not an embedded Data Integrity proof member. VC-4 binds only credentials secured with an embedded proof, which is not emergent’s securing mechanism. |
W3C VC Data Model 2.0 §securing-mechanisms — https://www.w3.org/TR/vc-data-model-2.0/ |
Modelled schema anchors
- VC-1 →
vc:2.0:def:VerifiableCredential/@context,vc:2.0:def:VerifiableCredential/type,vc:2.0:def:VerifiableCredential/issuer,vc:2.0:def:VerifiableCredential/validFrom,vc:2.0:def:VerifiableCredential/credentialSubject - VC-2 →
vc:2.0:def:VerifiableCredential/id,vc:2.0:def:VerifiableCredential/validUntil,vc:2.0:def:CredentialSubject/id - VC-3 →
vc:2.0:def:CredentialSchema/type,vc:2.0:def:CredentialStatus/type,vc:2.0:def:RefreshService/type,vc:2.0:def:TermsOfUse/type,vc:2.0:def:Evidence/type - VC-4 →
vc:2.0:def:VerifiableCredential/proof,vc:2.0:def:Proof/type
Profile: presentation — 1/1 done
Section titled “Profile: presentation — 1/1 done”| Req | Level | Status | Statement | Verified by / justification | Spec source |
|---|---|---|---|---|---|
| VP-1 | MUST | ✅ done | A verifiable presentation MUST have a @context whose first value is https://www.w3.org/ns/credentials/v2 and a type that includes VerifiablePresentation; it MAY declare a holder and enclose verifiableCredential(s). | vc:2.0:conf:presentation/VP-1 |
W3C Verifiable Credentials Data Model 2.0 — https://www.w3.org/TR/vc-data-model-2.0/ |
Modelled schema anchors
- VP-1 →
vc:2.0:def:VerifiablePresentation/@context,vc:2.0:def:VerifiablePresentation/type,vc:2.0:def:VerifiablePresentation/holder,vc:2.0:def:VerifiablePresentation/verifiableCredential