Skip to content

CC 1.4 — conformance status

Generated by bun run conformance:render — do not edit by hand.

Denominator: pinned Coverage Map docs/conformance/maps/common-cartridge-v1.4.json (generated 2026-06-22). See conform-ed ADR-0013 (map) and emergent ADR-0028 (overlay).

Profile Requirements Done Partial Other Progress
assignment 2 2 0 0 ████████████████ 100%
authorization 1 1 0 0 ████████████████ 100%
curriculum-standards-metadata 1 1 0 0 ████████████████ 100%
discussion-topic 2 2 0 0 ████████████████ 100%
manifest 4 4 0 0 ████████████████ 100%
web-link 3 3 0 0 ████████████████ 100%
Req Level Status Evidence Statement
CC14-ASN-1 MUST ✅ done cc:1.4:conf:assignment/CC14-ASN-1 An Assignment resource MUST carry a title and a text body describing the work the learner must submit.
CC14-ASN-2 MUST ✅ done cc:1.4:conf:assignment/CC14-ASN-2 An Assignment resource MUST declare the submission_formats it accepts (the submission types — html / text / url / file — the learner may submit).
Req Level Status Evidence Statement
CC14-AUTH-1 MUST ✅ done cc:1.4:conf:authorization/CC14-AUTH-1 An authorizations document MUST contain at least one authorization describing how to access a resource.
Req Level Status Evidence Statement
CC14-CSM-1 MUST ✅ done cc:1.4:conf:curriculum-standards-metadata/CC14-CSM-1 A CurriculumStandardsMetadataSet MUST contain at least one curriculumStandardsMetadata, each with at least one setOfGUIDs.
Req Level Status Evidence Statement
CC14-DT-1 MUST ✅ done cc:1.4:conf:discussion-topic/CC14-DT-1 A Discussion Topic resource MUST carry exactly one title and exactly one text body.
CC14-DT-2 MUST ✅ done cc:1.4:conf:discussion-topic/CC14-DT-2 The text element MUST carry a texttype attribute whose value is ‘text/html’ or ‘text/plain’.
Req Level Status Evidence Statement
CC14-MAN-1 MUST ✅ done cc:1.4:conf:manifest/CC14-MAN-1 A Common Cartridge 1.4 manifest MUST carry an identifier and exactly one organizations and one resources element.
CC14-MAN-2 MUST ✅ done cc:1.4:conf:manifest/CC14-MAN-2 The manifest metadata MUST declare schema = ‘IMS Common Cartridge’ and a schemaversion identifying the CC 1.4 profile.
CC14-MAN-3 MUST ✅ done cc:1.4:conf:manifest/CC14-MAN-3 The organizations element MUST contain at most one organization (the predefined rooted-hierarchy); multiple organizations are not permitted.
CC14-RES-1 MUST ✅ done cc:1.4:conf:manifest/CC14-RES-1 Every resource MUST carry an identifier and a type; a file-backed resource MUST reference its content via an href attribute or a file child element.
Req Level Status Evidence Statement
CC14-WL-1 MUST ✅ done cc:1.4:conf:web-link/CC14-WL-1 A Web Link resource MUST contain a webLink element carrying exactly one title and exactly one url.
CC14-WL-2 MUST ✅ done cc:1.4:conf:web-link/CC14-WL-2 The url element MUST carry an href attribute identifying the link target.
CC14-WL-3 MAY ✅ done cc:1.4:conf:web-link/CC14-WL-3 The url element MAY carry a target attribute selecting the HTML anchor target window (e.g. _blank / _self) for the launched link.

Information-model coverage (vs conform-ed model)

Section titled “Information-model coverage (vs conform-ed model)”
  • 143 literal items — 84 modelled ✅, 0 partial 🟡, 0 gaps ❌
  • Silent gaps (in spec, not modelled): none
  • conform-ed extensions (modelled, not in spec): 23
  • documented conform-ed normalisations (renames, not gaps): 15 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).
  • cc:1.4:conf:assignment/CC14-ASN-1
    • The CC 1.4 assignment extension lands as a native human-scored Assessment over an open-response item (ADR-0027): its title and text body are persisted and the assessment is delivered + graded rather than quarantined. The conformance case asserts the assignment’s title and text submission land.
  • cc:1.4:conf:assignment/CC14-ASN-2
    • The importer reads the assignment’s <submission_formats> and derives the submission kind (e.g. type=“html” → a text submission), rather than defaulting blindly. The assignment conformance case asserts the derived submissionKind.
  • cc:1.4:conf:authorization/CC14-AUTH-1
    • As CC 1.3 (CC-AUTH-1): proven by an emit→parse round-trip — emergent builds a conformant imsccauth authorizations document and the importer recognizes + validates it (against conform-ed’s CommonCartridgeAuthorizationsDocumentSchema, so it always carries at least one authorization describing how to access the resource) rather than quarantining it. The same cc-authorization module + conformance test cover both versions. Scope: emergent understands + validates the authorizations document; auto-emitting it from the offering export pipeline and enforcing the access control are a future capability (the requirement is document validity).
  • cc:1.4:conf:curriculum-standards-metadata/CC14-CSM-1
    • As CC 1.3 (CC-CSM-1): the importer reads each resource’s curriculumStandardsMetadataSet and binds the resource’s activity Learning Unit to the matching durable CASE competency nodes via competency_alignment (ADR-0018). The importer is version-tolerant — it routes by resource kind, not cartridge version — so the shared CSM conformance case (a 1.3 fixture) proves the same code path for CC 1.4. A GUID matching no imported node, or CSM on a resource with no Unit, is recorded on the import report rather than silently dropped.
  • cc:1.4:conf:discussion-topic/CC14-DT-1
    • The discussion domain has landed (ADR-0029): import now lands an imsdt Discussion Topic natively as a Discussion anchored to its activity unit (version-tolerant — the same code path as CC 1.3). The conformance lane asserts the Discussion persists with its title.
  • cc:1.4:conf:discussion-topic/CC14-DT-2
    • The topic’s text body (text/@texttype) governs the landed Discussion prompt; the same conformance test asserts the topic’s content becomes the prompt (reduced to plain text).
  • cc:1.4:conf:manifest/CC14-MAN-1
    • The manifest (identifier, organizations, resources) is decomposed by the version-tolerant importer; the single-page conformance case asserts the org tree and resources land with nothing silently dropped.
  • cc:1.4:conf:manifest/CC14-MAN-2
    • The importer reads the manifest schema/schemaversion to identify the cartridge; it is version-tolerant (routes by resource kind), so a CC 1.4 cartridge takes the same path as 1.3.
  • cc:1.4:conf:manifest/CC14-MAN-3
    • The single rooted-hierarchy organization decomposes into the learning-unit tree, asserted by the shared manifest conformance case.
  • cc:1.4:conf:manifest/CC14-RES-1
    • Every resource is classified by identifier + type and landed (or quarantined-with-reason) via its href/file; the conformance case asserts each decomposed resource carries an identifier and a type and that nothing is silently dropped.
  • cc:1.4:conf:web-link/CC14-WL-1
    • A Web Link lands natively (title + url/@href) through the same version-tolerant importer path as CC 1.3 — the resource classifier keys off the imswl resource kind, not the cartridge version, so the imswl conformance case proves both 1.3 and 1.4.
  • cc:1.4:conf:web-link/CC14-WL-2
    • The landed url is the imswl target (URL.Type/@href); the imswl conformance case asserts the persisted url equals the href.
  • cc:1.4:conf:web-link/CC14-WL-3
    • As CC-WL-3: the optional url/@target window hint is now carried on the native external-link model (learning_unit_external_link.window_target) rather than dropped, through the same version-tolerant importer path — the imswl conformance case (a 1.3 fixture with a <url @target>) proves both 1.3 and 1.4 because the importer routes by resource kind, not cartridge version.