MMLC Runtime 1.0.0

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.

in — MMLF
out — canonical JSON, hashes, events, manifest, report
stage 01 / 09

MMLF YAML / JSON

establishes

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.1 through 0.9
Python
3.10+
Licence
Apache-2.0
Test suite
71 tests before release validation
Historical experiments
E0–E9
established

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.

  1. Typed transactions and operator invariants
  2. Local, regional and global audit
  3. Dependency taint and root-cause paths
  4. Matrix layout and multidirectional traversal
  5. Row, column and block constraints
  6. Minimum-support repair proposals
  7. Temporal references and fixed-point groups
  8. Append-only corrections
  9. Hard and soft counterfactual interventions
  10. Branch differential ledgers
  11. Discrete and deterministic continuous uncertainty
  12. Policy scoring, information value and finite sequential decisions

Run it

bash
python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
python -m pip install -e ".[dev]"
bash
mmlc validate examples/mmlf_v1_stable.yaml
mmlc run examples/mmlf_v1_stable.yaml \
  --output outputs/quickstart \
  --deterministic \
  --fail-on-audit

Or from Python, where the audit status is a value you can assert on:

python
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.