Expand description
CNF 2.0 reference runner — the typed schedule-artifact model, validator, and JSON-Schema emission for the openEHR conformance framework.
The conformance oracle is the vendored openEHR CNF component
(specs/openehr/CNF/); the artifact families this crate models are
the machine-readable normative form of the Platform Conformance Test
Schedule (case cores, operation bindings, vocabularies incl. the
capability matrix, corpus manifest, ambiguity register). Every closed
vocabulary is a Rust enum/newtype so illegal states are unrepresentable.
pipeline is the entry point for driving the instrument: one seam per
whole operation — validate a catalogue, run it against a system under
test, judge the recorded outcomes, render the published assets, measure a
class — each returning typed facts rather than console text. The bundled
veredictum binary is a command-line layer over exactly those seams, so
a second consumer drives the same engine and renders its own views.
Modules§
- artifacts
- The loaded artifact set — one root directory laid out per the artifact families:
- badges
- Shields.io badge endpoints, derived from the verdict report.
- bench
- The universal-benchmark engine: comparative SPEED against any reachable openEHR CDR, with no catalogue, no ixit and no artifact root.
- conf_
assets - Deterministic conformance SVG assets rendered from committed artifacts.
- exec
- The data-driven executor: the flow interpreter under the five step-3 interpreter laws —
- ids
- Identifier newtypes for the schedule artifacts.
- ixit
- The IXIT (
ixit.json) — the SUT topology the runner drives: one or more named instances (base URL + auth + overrides) plus the environment block. - literal
- The decision-table literal grammar and violation categories.
- load
- Artifact loading: YAML → JSON value (budgeted, duplicate-rejecting) → schema validation → typed model.
- model
- The typed artifact model — one module per artifact family.
- party
- The party artifacts — the two canonical JSON interchange documents a conformance submission carries, plus their supporting value types.
- perf
- The performance schedule machinery — conformance-by-MEASUREMENT.
- perf_
assets - Deterministic SVG assets rendered FROM committed measurement records.
- perf_
run - The performance measurement machinery.
- pipeline
- The instrument’s end-to-end seams, as a consumable API.
- probe
- The AQL optimization probe — the seeded-corpus troubleshooting loop.
- record
- The signed run record: a digest manifest over the documents a run or a judgement emitted, a detached OpenPGP signature over that manifest, and the verification that recomputes both.
- refgrammar
- The closed
${…}variable-reference grammar and the case-level capture grammar. - registry
- The public results registry: one append-only entry per published result.
- render
- Deterministic Markdown renderers for the three published submission
documents: the conformance report, the conformance statement (
SDoC), and the certificate. - run
- The run orchestration: select → execute (the interpreter over the live
driver) → record — producing the
results.jsonoutcomes the party layer emits and the verdict pipeline consumes. - schema
- Deterministic JSON-Schema emission for the five schedule-artifact families (the set the upstream U1 proposal ships).
- stress
- The step-load STRESS instrument.
- transcript
- The run wire transcript: the exchanges a run drove, persisted beside its
results.jsonwhen the operator asks for them (run --record-exchanges). - validate
- Cross-artifact validation — the schedule’s machine gates.
- verdict
- The verdict pipeline — a pure function of (statement, results, catalogue cases, capability matrix, ambiguity register).
- vocab
- The closed vocabularies of the CNF 2.0 schedule.