ReviewOS

zig-utils/zig-js

WebAssembly: pin and score the upstream MVP specification corpus

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

Parent: #141 Roadmap: #134

Build the auditable upstream conformance gate required to close the WebAssembly MVP implementation.

Acceptance:

  • Pin an exact upstream WebAssembly/spec wg-1.0 revision and record its repository URL, commit, license, and selected MVP suites.
  • Provide a reproducible zig build entry point and runner that converts/runs the applicable upstream .wast corpus against zig-js.
  • Publish a machine-readable per-file/per-command pass, fail, skip, and exclusion inventory with deterministic totals.
  • Keep unsupported post-MVP proposals outside the denominator by explicit suite classification, never silent filtering.
  • Distinguish runner/parser limitations from engine failures and open linked implementation issues for genuine gaps.
  • Add a bounded CI smoke/drift gate; keep the expensive complete corpus run deliberate and documented.
  • Update README.md and docs/wasm.md with the exact pin, command, scores, and scope.
  • Reach zero hidden exclusions and close or account for every applicable MVP failure before #141 closes.
9 days ago

Initial implementation context:

  • Runtime/API checkpoint: 2374c537
  • Documentation checkpoint: 95c01e93
  • Focused internal WebAssembly suite: 120/120, zero skipped/failed/leaked
  • Last batched full engine suite: 998/998 at 0835f411, zero skipped/failed/leaked

The runner/inventory is now the final acceptance gate called out by parent #141. The public benchmark remains the validated 1,540-sample July 17 matrix because the WebAssembly API paths do not execute in those workloads.

9 days ago

Completed on main.

Evidence:

  • pinned WebAssembly/spec wg-1.0 at 977f970 and WABT 1.0.12 at cf261f2;
  • reproducible zig build wasm-spec entry point plus exact converter compatibility probes;
  • checked-in per-command inventory at docs/.data/wasm-spec-inventory.json;
  • all 73 files and 19,270 commands accounted for: 16,801 pass, 0 fail, 2,469 explicit not-applicable, 0 runner errors;
  • not-applicable breakdown is 430 text-format syntax assertions outside the binary JS API and 2,039 exact NaN payload/sign assertions linked to #261;
  • bounded CI smoke/drift gate runs all 118 linking.wast commands with the pinned release artifact and checksum;
  • README.md and docs/wasm.md contain exact pins, scores, scope, and reproduction.

Key commits: 02aee65, 31d035b, 038ebaf, af689c4, 744f453, 2bbe78d

9 days ago

Follow-up #261 is complete. Inventory schema v2 now executes and passes all 2,039 exact-NaN commands through the test-only raw-bit path. Final wg-1.0 totals are 18,840 pass, 0 fail, 430 explicit text-format-only not-applicable, and 0 runner errors across all 19,270 commands.

Sign in to comment on this issue.