Conformance tracking
Point-by-point implementation status for every targeted specification (emergent
ADR-0028), on top of conform-ed’s published Coverage Maps (ADR-0013). The
generated index.md is the bird’s-eye view; this README is the how-to.
Layout
Section titled “Layout”maps/— pinned, sha-locked Coverage Maps vendored from@conform-ed/coverage(the literal-published-schema denominator). Generated; do not edit.overlays/— the hand-authored L3 product status (YAML): per conformance requirement / item, status declared-with-cited-evidence + gotchas.*.md— generated render. Do not edit; runconformance:render.
Tooling lives in ../../tools/scripts/conformance/.
Commands
Section titled “Commands”bun run conformance:render # regenerate the Markdown from maps + overlaysbun run conformance:check # gate; warns on evidence it cannot verify locallyThe gate runs four checks: referential integrity vs the pinned map (sha + keys), evidence verified against actual test pass/fail, untriaged conformance- requirement / silent-gap detection, and render freshness.
Proving evidence in CI (--require-proof)
Section titled “Proving evidence in CI (--require-proof)”done/partial claims cite evidence keys that a passing [covers: <key>]-tagged
test must prove. Any integration/conformance lane can emit the JUnit the gate reads
by setting EMERGENT_INTEGRATION_JUNIT_OUTFILE:
# 1. run the lane(s) in their ephemeral Podman stack, emitting JUnitEMERGENT_INTEGRATION_JUNIT_OUTFILE=tmp/agents/conformance/ob.junit.xml \ bun run test:ob:conformance
# 2. gate the overlay against what actually passedbun run conformance:check --require-proof --reports "tmp/agents/conformance/*.xml"Without --require-proof (local dev) unverifiable evidence is a warning; in CI,
run with --require-proof after the suite so an unproven or red done fails the
build. The Open Badges 3.0 lane is proven this way end-to-end (the lane boots its
own throwaway Postgres + Supabase stack — it never touches a dev database).