Plan
What remains, in the order it is built. A slice closes when the gate is green with its programs in, and nothing is written here about what was done: the tree and the suite are the record. The compiler today lexes, parses, checks, interprets and compiles the whole of docs/luce.md: the value language, classes, collections and text, closures, interfaces and generics, modules and packages, the Base boundary, workers, the tooling, and traps that name their statement, over the runtime of docs/RUNTIME.md. The conformance gate checks native optimization levels 0–3, both Base C comparison modes, and the interpreter where applicable; every runtime execution checks that it left nothing alive.
The active stage is luce-server. Base standard-library work shipped in 0.12.0; TLS is paused at the user's request while HTTP and file serving proceed. The canonical ecosystem roadmap defines each stage's completion gate. Standard-library work stays in luce-base; luce-tls, luce-server and luce-pkg are three separate new repositories, created as their work begins. The server is written in Luce. The package-manager stage adds luce install and luce-base install, a shared luce.yaml manifest with explicit migration from luce.toml, and deployment to pkg.luciaos.com. The package manager still requires both server and TLS completion; compiler/runtime changes are made as needed to support the active stage. What stands ready for it: tests/programs/ holds the proving programs, tools/fuzz.py --minutes 60 runs the generator for an hour, and the standing rules below hold for whatever comes next.
Standing rules#
- Two executions agree or the feature is not done.
- The interpreter is fixed first; the emitter follows it.
- Every rejection names a position; every literal is checked where it sits.
- luce-base is a pinned release; a change it needs is made there, released, and pinned.
- No history here: this file says what to do,
git logsays what was done.
Native compilation is the production path and the main hardening target. Prioritize native ABI/optimizer checks and ARC/worker lifetime stress. Base C-backend comparisons and sanitizer checks are supplemental evidence, not substitutes for native validation.