Skip to content

Phase 5: Specification + standards #53

Description

@hyperpolymath

Tracking issue for Phase 5 of the production path. See docs/PRODUCTION-PATH.adoc §Phase 5.

Theme

Work that moves typed-wasm from "good open-source project" to "thing that lasts".

Deliverables

  • Freeze a 1.0 specification — normative document covering: the 10 levels, the verifier semantics, the producer obligations, the surface syntax, the bytecode encoding (if any), the runtime hooks from Phase 3. Versioning + deprecation policy attached.
  • Conformance test suite at the level of the wasm spec interpreter. Hundreds to thousands of tests covering every spec clause. Producers and runtimes both run against this.
  • Multiple independent verifier implementations:
    • Idris2 reference (proves correctness) — already exists
    • Rust production crate (typed-wasm-verify) — already exists
    • At least one third-party port (Go? OCaml? Coq?) — needed to demonstrate the spec is implementable by someone who didn't write it
  • Academic publication:
    • Soundness-proofs paper (publishable today; POPL/ICFP/OOPSLA/PLDI)
    • Engineering-story paper (publishable once Phase 3 lands; same venues)
  • W3C CG engagement — publish typed-wasm as a community spec under the WebAssembly CG; explore whether the runtime hooks (not the levels themselves) could become a standardization candidate
  • Security review — hire a firm to audit the verifier. Critical for credibility.

Gate to Phase 6

  1. A working group exists beyond the founding author (≥2 committers with release authority)
  2. The 1.0 spec has been stable for 6 months without breaking changes

Depends on

Status when this issue closes

typed-wasm is a settled spec with multiple implementations and academic credibility. Comparable to wasm itself at the CG-published-spec level (not W3C Rec yet — that's beyond this plan's scope).

Next phase

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions