Define explicit feature profiles and implement them without hidden partial support.
Acceptance:
- Version and inventory selected proposals, including bulk memory, reference types, multi-value, SIMD, threads, exceptions, tail calls, memory64, and Wasm GC as applicable.
- Validate feature dependencies and reject disabled proposals deterministically.
- Integrate shared memories/atomics with the no-GIL worker and GC model.
- Publish upstream spec-test results per enabled profile with explicit exclusions.
- Document host/architecture support and performance evidence.
Child issue map
- #262 — versioned feature registry and deterministic gates
- #269 — sign-extension and nontrapping numeric operations
- #263 — bulk memory, reference types, and multi-value baseline
- #264 — SIMD
- #265 — threads, shared memory, and atomics
- #315 — no-GIL Memory wrapper growth publication (landed; awaiting replacement full CI)
- #266 — exceptions and tail calls
- #267 — memory64 and Wasm GC
- #268 — versioned upstream conformance matrix
Implementation order
Land #262 first. Proposal implementations may then proceed independently where their dependency graphs permit; #268 closes only after every declared supported profile has committed evidence. Unsupported profiles remain disabled and must reject deterministically rather than partially decoding.
Latest evidence
The independently gated multi-memory profile #305 is complete: all 829/829 commands across 38 pinned proposal files pass with zero failures, skips, or runner errors. Failure-atomic lifecycle, mixed memory32/memory64, deterministic store fuzzing, Linux TSan, and ReleaseSafe coverage are documented; the feature remains disabled by default.