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/aLANDED 2026-05-22 19:01 (GMT+7)phase-00
1Hello worldhostLANDED 2026-05-22 19:50 (GMT+7)phase-01
2Primitives and control flowhostLANDEDphase-02
3Records, lists, maps, setshostLANDEDphase-03
4Sum types and Maranget pattern matchinghostCOMPLETE 2026-05-26 09:06 (GMT+7)phase-04
5Closures and higher-order functionshostCOMPLETE 2026-05-26 09:06 (GMT+7)phase-05
6Strings and I/OhostCOMPLETE 2026-05-26 09:06 (GMT+7)phase-06
7Error modelhostCOMPLETE 2026-05-26 09:06 (GMT+7)phase-07
8Query DSLhostCOMPLETE 2026-05-26 09:06 (GMT+7)phase-08
9Streams, agents, M:N schedulerhostCOMPLETE 2026-05-26 09:06 (GMT+7)phase-09
10FFI shellshostCOMPLETE 2026-05-26 08:58 (GMT+7)phase-10
11Cross-compile tier-1 matrixtier-1 ×8LANDED 2026-05-26 00:01 (GMT+7)phase-11
12WASM / WASIwasm32-wasiCOMPLETE 2026-05-26 09:06 (GMT+7)phase-12
13APE / Cosmopolitanlinux+mac+win+BSDCOMPLETEphase-13
14LLM bindingshostCOMPLETE 2026-05-26 07:41 (GMT+7)phase-14
15Datalog / logichostCOMPLETE 2026-05-26 07:57 (GMT+7)phase-15
16Sanitiser matrixlinux+macCOMPLETE 2026-05-26 09:06 (GMT+7)phase-16
17Reproducibility gatetier-1COMPLETE 2026-05-26 09:06 (GMT+7)phase-17
18Performance gatelinux+macCOMPLETE 2026-05-26 09:06 (GMT+7)phase-18
19v1.0 releasetier-1COMPLETE 2026-05-26 09:06 (GMT+7)phase-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.