Skip to content

CASE 1.1 — conformance status

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

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

Profile Requirements Done Partial Other Progress
consumer 2 2 0 0 ████████████████ 100%
core 4 4 0 0 ████████████████ 100%
provider 3 3 0 0 ████████████████ 100%
Req Level Status Evidence Statement
CASE-CONS-1 MUST ✅ done case:1.1:conf:consumer/CASE-CONS-1 A Service Consumer MUST persistently store (‘handle’) every REQUIRED data field it receives and be able to recover it on retrieval.
CASE-CONS-2 MUST ✅ done case:1.1:conf:consumer/CASE-CONS-2 A Service Consumer MUST tolerate the presence of extension data fields without failing the import.
Req Level Status Evidence Statement
CASE-1 MUST ✅ done case:1.1:conf:core/CASE-1 A CFPackage MUST contain exactly one CFDocument describing the framework.
CASE-2 MUST ✅ done case:1.1:conf:core/CASE-2 Every CFItem MUST be identified by a globally unique identifier (a UUID).
CASE-3 MUST ✅ done case:1.1:conf:core/CASE-3 Every CFAssociation MUST declare its associationType and both its origin and destination nodes.
CASE-4 MUST ✅ done case:1.1:conf:core/CASE-4 The caseVersion attribute, when present on a CFDocument, MUST have the value ‘1.1’.
Req Level Status Evidence Statement
CASE-PROV-1 MUST ✅ done case:1.1:conf:provider/CASE-PROV-1 A Service Provider MUST supply every REQUIRED data field in the JSON payload of each served entity (a CFDocument’s identifier/uri/title/creator/lastChangeDateTime; a CFItem’s identifier/uri/fullStatement; a CFAssociation’s identifier/uri/associationType and origin/destination node references).
CASE-PROV-2 MUST ✅ done case:1.1:conf:provider/CASE-PROV-2 A Service Provider MUST be capable of supplying every OPTIONAL data field defined for the entities it serves (e.g. a CFItem’s humanCodingScheme and CFItemType, a CFDocument’s officialSourceURL).
CASE-PROV-3 MUST ✅ done case:1.1:conf:provider/CASE-PROV-3 A Service Provider MUST NOT include extension data fields in conformance-tested payloads (the extensions point is forbidden for Provider certification).

Information-model coverage (vs conform-ed model)

Section titled “Information-model coverage (vs conform-ed model)”
  • 344 literal items — 264 modelled ✅, 0 partial 🟡, 0 gaps ❌
  • Silent gaps (in spec, not modelled): none
  • conform-ed extensions (modelled, not in spec): none
  • case:1.1:conf:consumer/CASE-CONS-1
    • The import service persistently stores every required field it receives (CFDocument identity/title, CFItem identity/fullStatement, CFAssociation type and origin/destination), and the round-trip re-export recovers them — proving the consumer “handles” them.
  • case:1.1:conf:consumer/CASE-CONS-2
    • The requirement is tolerance-only: a Service Consumer MUST accept an extension-bearing payload without failing the import (it need not persist the extension content). CASE models extensions as a dedicated extensions member, which the conform-ed contract admits on every entity that defines it, so emergent’s import boundary parses an extension-bearing CFPackage successfully — proven by a wire test that adds extensions to CFDocument/CFItem/CFAssociation.
    • ⚠️ emergent maps imports onto the neutral core and does not persist extension content; the extensions are tolerated and dropped, which satisfies the (tolerance-only) requirement. A future feature could surface extension data, but the cert requirement does not demand it.
  • case:1.1:conf:core/CASE-1
    • A CFPackage carries exactly one CFDocument describing the framework; the round-trip gate imports a package, re-exports it, and asserts the CFDocument survives.
  • case:1.1:conf:core/CASE-2
    • Every CFItem is keyed by a globally unique identifier; the round-trip reconstructs the item set by identifier losslessly (itemsApplied count and node shape asserted).
  • case:1.1:conf:core/CASE-3
    • ⚠️ Associations carry associationType plus origin/destination node refs; emergent stores them in the neutral domain shape and re-emits CASE associationTypes on export. The round-trip asserts associationsApplied and the exported association set (including the document-root association) reconstructs.
  • case:1.1:conf:core/CASE-4
    • The CFPackage export stamps caseVersion: “1.1” on the CFDocument and validates the whole projection against the CASE contract before it leaves the boundary, so the value is both emitted and enforced. The export-service test asserts caseVersion is exactly “1.1”.
  • case:1.1:conf:provider/CASE-PROV-1
    • The CFPackage export supplies every required field on each served entity — CFDocument identifier/uri/title/creator/lastChangeDateTime, CFItem identifier/uri/fullStatement, CFAssociation identifier/uri/associationType and origin/destination node refs — and the build-time totality guard rejects the projection if the contract is not satisfied.
  • case:1.1:conf:provider/CASE-PROV-2
    • The competency model now carries every optional CASE field (ADR-0018 neutral columns plus four CFDefinitions registries — competency_license/item_type/concept/association_grouping), so the CFPackage export supplies every OPTIONAL field defined on each served entity when present: CFDocument frameworkType/officialSourceURL/publisher/description/language/version/ adoptionStatus/statusStartDate/statusEndDate/notes/subject/subjectURI/licenseURI; CFItem humanCodingScheme/CFItemType/abbreviatedStatement/language/alternativeLabel/listEnumeration/ conceptKeywords/notes/statusStartDate/statusEndDate/educationLevel/subject/subjectURI/ CFItemTypeURI/conceptKeywordsURI/licenseURI; CFAssociation sequenceNumber/notes/ CFAssociationGroupingURI — each emitted alongside its CFDefinitions entity. The export-service test seeds every optional field and asserts each is projected. extensions stays forbidden (CASE-PROV-3): the projection emits no extensions member.
  • case:1.1:conf:provider/CASE-PROV-3
    • The provider emits no extension data fields: the projected CFPackage is assembled from the modelled fields only and carries no extensions member on any served entity. The export-service test asserts the absence on CFDocument/CFItem/CFAssociation.