Skip to main content
Everything on this page is direction, not shipped work. Phase 0 is still open, and the charter says nothing after it starts until the benchmark gives a real number. The pilots so far have not shown an advantage.

The owner’s direction, 29 September 2026

  • Mzizi builds the whole stack. It is meant to build the backend as well as the UI, and Mzizi’s own backend infrastructure is meant to be built with it. The first slice exists: a service with HTTP routes and handlers, lowered by mz build to a local Rust + axum package (RFC-0011). No Mzizi backend is ported.
  • The frontend takes one of two shapes. Either Astro, with Mzizi UI (Mzizi Roots) underneath, or pure Rust end to end.
  • Everything built carries a contract. Components, language functions and backend handlers, specified in RFC-0010. Today, contracts exist for components and services: mz contract evaluates a component’s contract block against its own declarations (RFC-0006), and runs a service in process, testing each ensure over generated requests (RFC-0011). Contracts for functions do not exist, because functions do not.
  • A new kill criterion. Mzizi against the best existing language for each kind of task, aiming to rank with the top languages, specified in RFC-0009 §6. Not measured yet.
  • Results are always published, whichever way they fall, in benchmarks/results/. Held-out task texts are published when a task set is retired; their scores are published immediately.
  • The benchmark widens. RFC-0009 extends it to React, and to TypeScript, Python, Go, C++ and Rust backends. The React arm and the Mzizi backend arm (mzizi-be) are added and have never run; the Hono, FastAPI, Go, C++ and axum arms are not added yet (the benchmark).
Both RFCs are merged in design/ in mzizi-dev/mzizi, and charter v0.4 records the direction. Both are drafts: RFC-0009 for the benchmark and kill criterion, and RFC-0010 for contracts everywhere. RFC-0011 designs the backend slice, and most of it is built. See the RFC index.

What Mzizi still has to build

The language’s own list is LANGUAGE-TRACKER.md, summarised on What still has to be built. Mzizi has no expressions, bindings, callable functions, loops, error handling, modules or standard library yet. Its milestones are M1, a language that computes (all of Tier 1) and M2, a working programming language (Tier 1 plus modules, a standard library, lowering all code to Rust, a runnable build, errors mapped back to .mz and Rust crate interop). Neither is reached.

How that fits the charter

The charter (v0.2) widened Mzizi from web UI to general-purpose software for the agentic world, and merged rendering and edge deployment into one full-stack Phase 1. v0.4 records the direction above, calls Mzizi a general-purpose programming language, and gives Phase 0 one goal, which raises its bar. It does not remove the gate:
If this doesn’t show a measurable advantage, nothing downstream matters — don’t build Phase 1 until Phase 0 has a real number attached to it.

What has to happen next

The second pilot listed the fixes to make before a run that tests the kill criterion. benchmarks/READINESS.md audits them, and most are now made: relative paths in the check output, diagnostics for React idioms, a height derived from its class, mz fix, and a larger public task set. The runner now reads arm.toml and a language-neutral spec.md, and has a React arm. Phase 0 is still not complete. The run waits on: the React arm’s pins from the registry’s lockfile, held-out tasks in a private repository, a pre-registered PLAN.md, first Leptos and React runs, and for the backend family, probe scoring in the runner, tasks B2–B5 and the other-language arms. See what remains. RFC-0007 is the gap register: what the charter’s scope needs that the language and compiler lack, and the order to build it in. RFC-0008 took on the first five gaps of its first tier: name and type resolution, list(T), record, option(T) and for each.

Where the plans live

design/ROADMAP.md in mzizi-dev/mzizi is the index of every plan in the project. It holds pointers and gates, not work items: plans live next to the code they plan. The separate mzizi-roadmap repository is archived and points there.