Conformance statement
This page is the entry point to the conformance statement APM publishes for OpenAPM v0.1. Per req-cf-002, a conformance statement MUST cite the test invocation per requirement. APM’s statement is regenerated by the spec-conformance CI gate when relevant spec, fixture, test, implementation, or statement files change.
Where the statement lives
Section titled “Where the statement lives”Two artifacts ship at the repository root and update when the conformance inputs change:
CONFORMANCE.md— human-readable per-requirement table (pass / skip / fail), with a link to the pytest source for each row. Read this first.CONFORMANCE.json— machine-readable equivalent for tooling and downstream conformance aggregators. The fields are stable across patch versions of the spec.
The CI workflow that emits both is .github/workflows/spec-conformance.yml. The gate fails the build if the generated statement drifts from the committed copy, so the version of CONFORMANCE.md you see on main is exactly what CI produced from the matching spec commit.
How to verify yourself
Section titled “How to verify yourself”The conformance suite is shipped in-tree and runs against the published spec text. To reproduce the statement locally:
git clone https://github.com/microsoft/apm.gitcd apmuv run --extra dev pytest tests/spec_conformanceuv run --extra dev python -m tests.spec_conformance.gen_statementdiff CONFORMANCE.md # compare to the in-repo copyThe first command runs every requirement-bound test and reports per-requirement results. The second regenerates the statement from those results.
What conformance does NOT cover
Section titled “What conformance does NOT cover”Per req-cf-001, a conformance statement covers the normative statements declared in the spec; it does not certify implementation quality, performance, or operational fitness. The statement currently records req-mf-016 as skipped, with rationale in the statement itself — an explicit, audited decision rather than silent drift.
For the broader drift-detection story (how the spec authors prevent the spec from rotting relative to the only implementation), see CONTRIBUTING.md — Spec amendment workflow.