Generated by bun run conformance:render — do not edit by hand.
Denominator: pinned Coverage Map docs/conformance/maps/qti-v3.0.1.json (generated 2026-06-25). See conform-ed ADR-0013 (map) and emergent ADR-0028 (overlay).
| Profile |
Requirements |
Done |
Partial |
Other |
Progress |
| accessibility |
1 |
1 |
0 |
0 |
████████████████ 100% |
| item |
4 |
4 |
0 |
0 |
████████████████ 100% |
| outcome-declaration |
1 |
1 |
0 |
0 |
████████████████ 100% |
| response-declaration |
1 |
1 |
0 |
0 |
████████████████ 100% |
| response-processing |
1 |
1 |
0 |
0 |
████████████████ 100% |
| section |
1 |
1 |
0 |
0 |
████████████████ 100% |
| test |
2 |
2 |
0 |
0 |
████████████████ 100% |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-A11Y-1 |
MUST |
✅ done |
qti:3.0.1:conf:accessibility/QTI-A11Y-1 |
WAI-ARIA roles and states authored on a qti-assessment-item’s content and interactions (the ARIABaseDType attribute group) MUST be preserved through serialization and delivered to assistive technology unchanged. |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-ITEM-1 |
MUST |
✅ done |
qti:3.0.1:conf:item/QTI-ITEM-1 |
A qti-assessment-item MUST declare a unique identifier and a human-readable title. |
| QTI-ITEM-2 |
MUST |
✅ done |
qti:3.0.1:conf:item/QTI-ITEM-2 |
A qti-assessment-item MUST contain exactly one qti-item-body holding the candidate-facing content. |
| QTI-ITEM-3 |
MUST |
✅ done |
qti:3.0.1:conf:item/QTI-ITEM-3 |
A qti-assessment-item MUST carry the time-dependent attribute and declare whether it is adaptive. |
| QTI-ITEM-4 |
MUST |
✅ done |
qti:3.0.1:conf:item/QTI-ITEM-4 |
A scored qti-assessment-item MUST declare its response variable(s) via qti-response-declaration and carry qti-response-processing to score them. |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-OD-1 |
MUST |
✅ done |
qti:3.0.1:conf:outcome-declaration/QTI-OD-1 |
A qti-outcome-declaration MUST declare an identifier under which its computed value is stored. |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-RD-1 |
MUST |
✅ done |
qti:3.0.1:conf:response-declaration/QTI-RD-1 |
A qti-response-declaration MUST declare an identifier, a cardinality (single / multiple / ordered / record) and a base-type. |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-RP-1 |
MUST |
✅ done |
qti:3.0.1:conf:response-processing/QTI-RP-1 |
A qti-response-processing block MUST either reference a standard processing template (via its template attribute) or carry custom processing rules. |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-SEC-1 |
MUST |
✅ done |
qti:3.0.1:conf:section/QTI-SEC-1 |
A qti-assessment-section MUST declare an identifier and a title for the grouping it represents. |
| Req |
Level |
Status |
Evidence |
Statement |
| QTI-TEST-1 |
MUST |
✅ done |
qti:3.0.1:conf:test/QTI-TEST-1 |
A qti-assessment-test MUST declare an identifier and contain at least one qti-test-part. |
| QTI-TEST-2 |
MUST |
✅ done |
qti:3.0.1:conf:test/QTI-TEST-2 |
A qti-test-part MUST contain at least one qti-assessment-section organising the items it delivers. |
- 5344 literal items — 582 modelled ✅, 0 partial 🟡, 0 gaps ❌
- Silent gaps (in spec, not modelled): none
- conform-ed extensions (modelled, not in spec): 31
- documented conform-ed normalisations (renames, not gaps): 363 key(s) across:
- XSD
xs:any open-content wildcard → conform-ed extensions (an unnamed wildcard has no literal name to join).
- XSD
simpleContent text node → conform-ed value (the literal leaves the text node unnamed).
- Foreign
xml:base attribute (local name base) → conform-ed xmlBase (a named rename; the literal items are modelled).
- Foreign
xml:lang attribute (local name lang) → conform-ed xmlLang (a named rename; the literal items are modelled).
- QTI expression operators (qti-and, qti-sum, qti-map-response, …) → conform-ed’s
kind-discriminated expression union (the unary/binary/one-to-many/container enums + named operators) reached via the Zod expression/expressions operands.
- QTI response/outcome/template processing-rule elements → conform-ed’s
kind-discriminated rule union (Zod rules); include → QtiIncludeSchema.
- QTI interaction + feedback/template/rubric block elements → typed members of conform-ed’s QtiContentFragment union (Zod
content); every interaction emergent authors.
- XHTML flow/inline (+ embedded MathML/SSML) content → conform-ed’s generic opaque XML content node (createXmlNodeSchema: {kind:‘xml’, name, attributes, children}) — a lossless round-trip reached via Zod
content/children, NOT a per-element schema.
- Nested section structure (qti-assessment-section/-ref, item-ref) → conform-ed’s typed section
children union.
- QTI map/table entry elements (XML singular
-entry ↔ JSON *Entries array; the y→ies plural the name-normaliser misses) → conform-ed’s typed entry arrays.
qti:3.0.1:conf:accessibility/QTI-A11Y-1
- WAI-ARIA roles and states authored on a QTI interaction are preserved through emergent’s real ingest→serialize round-trip and delivered onto the interaction DOM for assistive technology (ADR-0039). The teacher item authoring panel surfaces role + the common aria-* attributes; the offline conformance gate authors an item carrying ARIA, re-emits it, and asserts the ARIA survives.
qti:3.0.1:conf:item/QTI-ITEM-1
- An emergent-authored item serializes to conformant QTI with its identifier and title; the offline conformance gate validates the emitted document against the official QTI 3 validator and re-ingests it.
qti:3.0.1:conf:item/QTI-ITEM-2
- The authored item carries exactly one qti-item-body (the prompt + interaction content); asserted by the export-conformance gate.
qti:3.0.1:conf:item/QTI-ITEM-3
- The emitted qti-assessment-item carries time-dependent and adaptive attributes; the validator rejects an item missing them, so the passing conformance gate proves they are present.
qti:3.0.1:conf:item/QTI-ITEM-4
- A scored authored item emits its qti-response-declaration(s) and qti-response-processing; the choice-item conformance gate authors a correct-answer item and validates the response variable and processing land in the conformant document.
qti:3.0.1:conf:outcome-declaration/QTI-OD-1
- The scored item declares its outcome (SCORE) with an identifier; carried in the conformant emitted document.
qti:3.0.1:conf:response-declaration/QTI-RD-1
- The authored response-declaration carries its identifier, cardinality and base-type; validated by the export-conformance gate.
qti:3.0.1:conf:response-processing/QTI-RP-1
- The authored item emits qti-response-processing (a standard match-correct template or custom rules); validated by the export-conformance gate.
qti:3.0.1:conf:section/QTI-SEC-1
- The authored qti-assessment-section carries its identifier (and title); validated by the test-export gate.
qti:3.0.1:conf:test/QTI-TEST-1
- An emergent-authored qti-assessment-test serializes with its identifier and at least one qti-test-part; validated against the official QTI 3 validator by the test-export gate.
qti:3.0.1:conf:test/QTI-TEST-2
- The authored test-part carries at least one qti-assessment-section (including a nested section in the fixture); validated by the test-export gate.