MMLC Runtime 1.0.0
A ledger that can be re-run, and says what it did not conclude.
MMLC executes typed matrix-ledger documents. A document descends through nine stages and comes out as canonical JSON, hashes, an event log and a report. Each stage establishes something specific — and the specification records, stage by stage, what it refuses to establish.
MMLF YAML / JSON
Schema and structural validation.
JSON Schema validates document shape. Runtime validation additionally checks IDs, layouts, references, operator domains, dependency cycles, intervention conflicts, and fixed-point contracts.
The nine stages of docs/ARCHITECTURE.md, with the separation-of-concerns statements attached to the stages they constrain. Select any stage.
Status
- Runtime
1.0.0- Stable document profile
- MMLF
1.0 - Backward-compatible loaders
- MMLF
0.1through0.9 - Python
3.10+- Licence
- Apache-2.0
- Test suite
- 71 tests before release validation
- Historical experiments
- E0–E9
Verified on a clean runner across Python 3.10, 3.11, 3.12 and 3.13: 71 passed, then validate, migrate and run --fail-on-audit on the stable example.
What 1.0 froze
Version 1.0 added no new mathematical capability. It is a stabilization and publication boundary — the point at which a run of prototypes became something installable, migratable and maintainable in public.
- The Runtime 1.x public Python API.
- The MMLF 1.0 document profile.
- Loaders for MMLF 0.1 through 0.9.
- Deterministic legacy-to-1.0 migration, with execution-equivalence verification.
- Historical feature semantics, preserved through
metadata.migrated_from. - All schemas, packaged inside the installed Python distribution.
- Machine-readable CLI errors and documented exit codes.
- Release benchmarks, compatibility documentation, and a release-verification experiment.
It also corrected a real defect: unknown future MMLF versions were being silently treated as v0.1 rather than rejected.
The capability stack
Ten years of separate tools would each own one of these. MMLC's claim is narrower and stranger: that they can share one execution model, and therefore one audit.
- Typed transactions and operator invariants
- Local, regional and global audit
- Dependency taint and root-cause paths
- Matrix layout and multidirectional traversal
- Row, column and block constraints
- Minimum-support repair proposals
- Temporal references and fixed-point groups
- Append-only corrections
- Hard and soft counterfactual interventions
- Branch differential ledgers
- Discrete and deterministic continuous uncertainty
- Policy scoring, information value and finite sequential decisions
Run it
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
python -m pip install -e ".[dev]"mmlc validate examples/mmlf_v1_stable.yaml
mmlc run examples/mmlf_v1_stable.yaml \
--output outputs/quickstart \
--deterministic \
--fail-on-auditOr from Python, where the audit status is a value you can assert on:
from mmlc import execute_file, validate_file
summary = validate_file("examples/mmlf_v1_stable.yaml")
result = execute_file("examples/mmlf_v1_stable.yaml", deterministic=True)
assert summary.version == "1.0"
assert result.global_audit["status"] == "PASS"Scope
- MMLCa replacement for spreadsheets, DAG engines, databases, symbolic systems, SMT solvers, causal libraries, or probabilistic programming frameworks
- A declared causal graphthe true graph of the external world
- Finite verificationproof
The full list of non-claims is on the limits page, and it is part of the specification rather than a disclaimer appended to it.