Versions
One breaking change, documented.
MLF 0.1 documents still read. They migrate to 1.0 without being modified, and the migration has to preserve two of the four fingerprints — a requirement the release run checks rather than assumes.
Compatibility
- Reads
- MLF 0.1 and 1.0
- Writes
- MLF 1.0
- Migrates
- 0.1 → 1.0, deterministic and non-destructive
- Requirement
- Migration must preserve semantic and presentation fingerprints
Release verification
From MLF_1.0_RELEASE_VERIFICATION.json, produced by the release run on .
| Check | Result |
|---|---|
compileall over mlf_compiler and tests | PASS |
| pytest | 54 passed |
| CLI version | mlfc 1.0.0 (MLF 1.0) |
| Manifest schema | PASS, JSON Schema draft 2020-12 |
| README links | 24 checked, 0 missing |
| Compile → validate → schema | valid; 0 fatal, 0 error, 0 warning, 0 info |
| Migration 0.1 → 1.0 | semantic equal, presentation equal, valid |
| Repository scan | no forbidden paths, no absolute-path mentions, no secret assignments |
| Wheel smoke test | install, version, compile and validate all returned 0 |
| Source distribution | required members present, none missing |
| Overall | PASS |
Re-run on a clean runner on across Python 3.11, 3.12 and 3.13: 54 passed on every version, plus the CLI smoke test and the distribution build.
The research arc
Versions 0.2 through 0.9 built the layers above the format: dataset generation with anti-leakage splitting, runtime and tensor/graph projections, model comparison, append-only inference ledgers, review and promotion workflows, confidence calibration and OOD routing, and governed external intake.
Version 1.0 did not absorb them into the stable core. It drew the line at L1–L3 and left the rest explicitly governed — which is why the stable command surface is twelve commands and not forty.
Repository identity
- Repository
matrix-ledger-format- Python distribution
mlf-compiler- Python package
mlf_compiler- CLI
mlfc- Stable release tag
v1.0.0- Licence
- Apache-2.0