Conformance
Conformance is testable: an implementation demonstrates it by round-tripping the published test vectors for the profile and tier it claims, comparing against the §8.3 canonical form. The per-element tier assignments in SPEC §§4–7 are normative for what is tested.
Two core profiles — one per pillar
A profile is a named set of record kinds and required elements an implementation can claim, so a single-pillar implementation can be fully conformant.
Observation core
- Required:
Measurementwithtype, a value (one ofquantity|category|sampleArray), conditionalunit,startTime,endTime; envelopeid+recordType+subject. - Recommended:
provenance;sampleArraymulti-channel +offsets;derivedFrom.
Training core
- Required:
WorkUnitwithscoring; envelopeid+recordType+subject. All fiveWorkUnit.scoringkinds (reps|time|distance|continuous|energy) MUST be readable. - Recommended: containment (
Session/Block/Exercise, nested and flat +partOf);Block.scoringschemes; theprescription/performanceduality +performedFrom; theExerciseRefresolution ladder;EffortLoad,Load,Target.
An implementation MAY claim both profiles and declare recommended/optional supersets.
The test vectors
Each profile ships a published test-vector suite; you demonstrate conformance by round-tripping the vectors for the tier and profile you claim. See Run the conformance vectors for what they cover and how to run them, and the reference conformance README for the canonical text.
Conformance is also stated against registry versions: an ExerciseRef names its
registry + version, and a conformance claim names the spec semver and the registry
versions it was validated against (§8.4).
Claiming “OpenBody Compatible”
The “OpenBody” trademark remains the property of the steward (and later a neutral foundation). A free, royalty-free Trademark License Policy grants any implementer the right to use an “OpenBody Compatible” mark provided their implementation validates against the official conformance test suite (§9.4). See Governance.