MLF 1.0 · mlfc 1.0.0

The compiler

It writes down what it could not carry.

Every importer loses something. The difference is whether it says so. mlfc records unsupported or partially reconstructed behaviour in reports/import_loss.json rather than presenting a clean package it cannot support.

Stable commands

The v1.0 stable command surface:

text
compile      validate     migrate
inspect      fingerprint  export
diff         batch-validate
audit-dependencies
schedule     shard-plan   project

Dataset, model, inference, review, calibration, OOD and external-intake commands also exist. Their outputs are governed or experimental artifacts, not automatic truth — see safety.

CSV

  • Two-dimensional coordinates.
  • Primitive type inference.
  • Header and body region inference.
  • Row-major and column-major routes.
  • An explicit conversion-loss report.

Markdown

  • Headings, paragraphs, lists, quotations, code fences and tables.
  • Source-line mapping.
  • Sequential reading dependencies.
  • Independent matrices for tables.

A Markdown document is not obviously a matrix. Treating its tables as independent matrices, and its reading order as dependency edges, is the choice that makes it one without pretending the prose is tabular.

XLSX, bounded

The word doing the work here is bounded. The subset is stated, and everything outside it is reported rather than approximated.

  • Multiple worksheets.
  • Values, formulas, and cached values when available.
  • A bounded Excel A1 formula AST.
  • Cross-sheet dependencies.
  • Simple named and structured references.
  • Regions for tables, merges, filters and named ranges.
  • Common style and layout metadata.
  • Safe-copy export that never overwrites the source.
content

Unsupported or partially reconstructed behaviour is recorded rather than silently guessed.

Migration

A legacy MLF 0.1 package migrates to 1.0 without the original being modified.

bash
mlfc migrate examples/legacy/sample-v0.1.mlf examples/output/sample-v1.0.mlf

The migration is deterministic and non-destructive, and it must preserve the semantic and presentation fingerprints. That requirement is checked in the release run, not assumed.

Reference implementation

MLF Compiler 1.0.0 is a reference implementation, which is a specific claim: it defines what conforming behaviour looks like for the stable surface, and it does not claim to be the only or the fastest way to produce a valid package.

Distribution
mlf-compiler
Package
mlf_compiler
CLI
mlfc
Python
3.11 or newer
Tag
v1.0.0