# The jolt conformance spec This directory defines jolt's behavior as a **host-neutral, executable language specification**: a data file of cases, certified against reference Clojure, with a feature profile that lets any runtime declare a conformance *level*. The goal is to make hosting jolt on a new runtime (and proving it correct) a mechanical exercise: read one data file, run each case, compare, report. ## The artifacts | File | Role | Generated by | |------|------|--------------| | `test/chez/corpus.edn` | **The spec.** ~2900 cases of `{:suite :label :expected :actual}`. | `test/chez/extract-corpus.janet` | | `test/conformance/profile.edn` | Per-case **feature classification** — which non-portable cases need which host capability. | `certify.clj --profile` | | `test/conformance/known-divergences.edn` | Curated allowlist of cases whose `:expected` deliberately differs from JVM Clojure (+ tracked bugs). | hand-maintained | | `test/conformance/certify.clj` | Certifies `:expected` against reference **JVM Clojure**; gates on new/stale divergences; emits the profile. | — | The corpus is *generated* from `test/spec/*-spec.janet` and the inline cases in `test/integration/conformance-test.janet` — those are the authoring convenience. **`corpus.edn` is the canonical contract**: it is what every runtime consumes, and what `certify.clj` certifies. A new runtime never needs to read Janet. ## Row schema ```edn {:suite "numbers / arithmetic" ; grouping; " ::