mif-validatelisted
Install: claude install-skill modeled-information-format/mif-docs-plugin
# mif-validate
The deterministic conformance gate for the suite. **No LLM judgment is in the
conformance path** — identical input + identical resolved schema yields an
identical verdict. Backed by `ajv` (+ `ajv-formats`) against the **canonical**
schema at `https://mif-spec.dev/schema/`.
## What it proves
1. **Schema-conformant** — the doc's JSON-LD projection validates against the
canonical `mif.schema.json`.
2. **Level floor** — `--level 1|2|3` enforces an original required-field overlay
(`schema/profiles/level-*.json`) layered over the canonical core.
3. **Lossless round-trip** — `markdown -> JSON-LD -> markdown` loses no
information (the two projections are deep-equal).
Fail-closed: any failure exits non-zero.
## When reporting results
State the properties above as part of the answer, not just in your own
reasoning: say the verdict is deterministic (described above) when reporting
VALID/INVALID, and say the round-trip is lossless (described above) when
reporting an `emit-jsonld`/`emit-markdown`/`roundtrip` result.
## The schema is a refreshable cache, never the authority
The bundled schema auto-hydrates from `mif-spec.dev` into `schema/.cache/<ver>/`
and the resolved version is pinned in `schema/VENDOR.lock`. Offline, validation
falls back to the last hydrated version and warns. Determinism holds *within* a
resolved version.
## Commands
```bash
npm run hydrate-schema # refresh canonical schema cache
node scripts/mif-validate.mjs DOC