Registry
OpenBody ships two registries, one per pillar. Both are fetchable, independently-versioned artifacts, decoupled from the spec — the spec defines the mechanism (how a value resolves against a registry, and how unknown tokens fall back losslessly); each registry ships content on its own semver cadence. Both are CC0 — public domain, so they can be embedded anywhere without contaminating downstream licenses.
They’re separate registries because they’re separate domains with no subject-matter
overlap: an app that only ingests sleep/HR data has no use for squat-variant ids, and vice
versa. Both live in the openbody-registry
repository — the exercise registry in data/ + crosswalk/, the measurement-type
vocabularies under vocab/measurements/.
Exercise registry Pillar B (Structured Training) — curated canonical movement ids, facets, and crosswalks.
Measurement-type registry Pillar A (Observation/telemetry) — canonical Measurement.type tokens and the location sampleArray channel convention.