Skip to content

Roadmap

Zryna is being developed through narrow, executable vertical slices. Each slice must preserve one set of language semantics across JavaScript, WebAssembly, and native targets; a backend cannot quietly reinterpret the program for its own convenience.

This page is a non-normative public planning summary. The compiler repository’s authenticated roadmap is authoritative.

  • Establish the compiler workspace, repository rules, diagnostics, and architecture gates.
  • Independently test the TypeScript 6 syntax adapter, verified i32 IR, JavaScript emitter, native MIR lowering, and textual LLVM IR emitter.
  • Establish the public website, documentation boundary, reproducible docs-bundle contract, CI, and production container.

Completed for the deliberately narrow M1 I32V1 profile:

  • restricted source now crosses Zryna semantics and verified IR into direct ECMAScript, core WebAssembly, and Linux x86-64 native outputs;
  • build/run bundles are atomic and deterministic, and the same normal and overflow cases are compared across all three targets;
  • target, ABI, toolchain, portability, and deliberately unsupported boundaries are recorded in the authenticated M1 evidence.

Completed as the explicit M2 control-flow-v1 profile:

  • typed scalar bindings, assignment, direct nonrecursive calls, if, and while lower through one verified semantic pipeline;
  • compiler-owned explicit relative modules form one authenticated graph and deterministic atomic manifest-v2 bundle;
  • JavaScript, core WebAssembly, and Linux x86-64 native execution match one fixed oracle on the required Linux/Windows M2 gate;
  • the TypeScript integration remains behind a replaceable frontend-provider boundary, and omitting --profile preserves M1.

Public compiler activation is available through exact --profile data-ownership-v1 and manifest v3. The public surface, conformance, and beginner guide describe observed behavior.

Final milestone closure requires the merged-commit bundle, exact website import, hosted checks, deployment, live provenance and independent review. Its final state is recorded in Issue #90. Public activation does not add tracing GC, WASI/Components, a public owned ABI, FFI, threads or broader native platforms.

Read the fixed M4 support matrix and conformance boundary before selecting a mode. The static matrix defines twelve rows and records not-evaluated; it does not itself authenticate execution, installation, signed release, deployment or milestone closure.

Use the command sources, status example and denied/granted clock example. Installed components/browser/server, existing immutable beta H1, other browsers/platforms, general WASI authority, signed release authentication and production admission remain excluded. M0–M3 keep their existing profiles, bounds and manifests. The publication gate and milestone closure remain recorded in Issue #402.

  • Stabilize the CLI, formatter, language server, editor extension, package manifest, and registry policy.
  • Publish signed compiler artifacts and versioned compiler-owned documentation bundles.
  • Add compatibility suites that run representative programs through every supported backend.
  • Replace the bootstrap TypeScript frontend provider with Zryna’s owned parser and type system.
  • Preserve the provider contract long enough to compare old and new frontends over the same corpus.
  • Remove the bootstrap dependency only after behavior and diagnostics are demonstrably equivalent.

Milestone dates are intentionally not promised yet. Correct semantics, reproducible builds, and cross-target conformance are release gates.