ReviewOS

zig-utils/zig-js

WebAssembly profiles: version feature registry and deterministic gates

#262
Closed chris opened this 9 days ago ·
9 days ago

Parent: #142 Roadmap: #134

Build the shared foundation for every post-MVP WebAssembly profile.

Acceptance:

  • Check in a machine-readable registry naming each supported proposal revision, dependencies, default state, and host/architecture constraints.
  • Add explicit decoder/validator feature gates; disabled proposal opcodes, sections, types, and flags fail with stable diagnostics.
  • Expose embedder/test configuration without silently enabling features from module contents.
  • Verify dependency closure and reject invalid profile combinations before module decoding.
  • Add drift tests that fail when implementation gates and the registry disagree.
  • Document the versioning and compatibility policy in README/docs.
9 days ago

Implemented and verified on main.

Evidence:

  • Registry and verifier: 5f544155, 9476a8c0, 57d8a8a4, 86a80e40
  • CI drift gate: 400484e3
  • Runtime/context decoder and validator gates: 3f7491e2
  • Published docs and evidence: af10c01c
  • zig build wasm-feature-profiles-check: 4 profiles / 12 features verified
  • Focused WebAssembly suite: 126/126 passed, 0 skipped, 0 failed, 0 leaked

The registry remains intentionally default-MVP; post-MVP implementations continue under #263-#268.

Sign in to comment on this issue.