Skip to main content

MEP-45 implementation tracking

Per-phase tracking for MEP-45 Mochi-to-C transpiler. Each phase has its own page; this index gives the at-a-glance view. Status values: NOT STARTED, IN PROGRESS, BLOCKED, LANDED, DEFERRED. Commit is the merge commit short SHA on main.

A phase is LANDED only when its gate is green on every target listed for it in MEP-45 §Phases. Missing targets become N.1, N.2, ... sub-phases per the umbrella-phase coverage rule.

Phase status

PhaseTitleTargetsStatusCommitTracking page
0Spec freeze and skeleton treesn/aNOT STARTEDphase-00
1Hello worldhostNOT STARTEDphase-01
2Primitives and control flowhostNOT STARTEDphase-02
3Records, lists, maps, setshostNOT STARTEDphase-03
4Sum types and Maranget pattern matchinghostNOT STARTEDphase-04
5Closures and higher-order functionshostNOT STARTEDphase-05
6Strings and I/OhostNOT STARTEDphase-06
7Error modelhostNOT STARTEDphase-07
8Query DSLhostNOT STARTEDphase-08
9Streams, agents, M:N schedulerhostNOT STARTEDphase-09
10FFI shellshostNOT STARTEDphase-10
11Cross-compile tier-1 matrixtier-1 ×8NOT STARTEDphase-11
12WASM / WASIwasm32-wasiNOT STARTEDphase-12
13APE / Cosmopolitanlinux+mac+win+BSDNOT STARTEDphase-13
14LLM bindingshostNOT STARTEDphase-14
15Datalog / logichostNOT STARTEDphase-15
16Sanitiser matrixlinux+macNOT STARTEDphase-16
17Reproducibility gatetier-1NOT STARTEDphase-17
18Performance gatelinux+macNOT STARTEDphase-18
19v1.0 releasetier-1NOT STARTEDphase-19

Rules

  1. Goal-alignment audit. Before a phase starts, its tracking page gets a one-paragraph audit confirming the gate moves the user-facing goal ("ship a Mochi program as a single native binary on this target") not spec-internal scaffolding.
  2. Spec-in-sync. The PR that lands a phase's code also updates MEP-45 (close out the phase block, update Status / Commit) and this tracking page.
  3. Umbrella phase coverage. A phase is LANDED only when every target in its row is green. Missing rows become N.1, N.2, ... sub-phases listed on the phase tracking page.
  4. Auto-ship. Each phase or sub-phase ships as a single PR with auto-merge enabled (--merge, not squash, per repo convention).
  5. Reference oracle. Goldens are recorded by running the same source through vm3; the AOT binary's stdout is diffed against the golden. vm3 is the oracle only, never a code dependency.

See also

  • MEP-45 §Phases: canonical phase definitions.
  • Research notes (substrate): twelve notes covering language surface, design philosophy, prior art, runtime, codegen, type lowering, portability, dataset pipeline, streams, build system, testing, risks.