ReviewOS

zig-utils/zig-js

WebAssembly Core 2.0: publish structural profile conformance score

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

Parent: #263 Depends on: #270, #271, #272 Roadmap: #268, #142, #134

Publish an exact, reproducible upstream score for the multi-value/reference-types/bulk-memory structural baseline.

Acceptance:

  • Pin the exact upstream spec/proposal corpus revision and converter/tool revisions.
  • Inventory every applicable command by feature and execution mode.
  • Report pass/fail/not-applicable totals with zero hidden exclusions or runner errors.
  • Add bounded CI smoke/drift gates and a deliberate complete-run command.
  • Publish the score, host constraints, and reproduction steps in README/docs.
9 days ago

Core 2 instantiation semantics checkpoint pushed in 8f93697.

  • Active element/data segment bounds failures now surface as instantiation-time RuntimeError traps, not LinkError.
  • Segments are applied declaration-by-declaration: a failing segment is bounds-atomic, while completed earlier segment writes remain in the store as Core 2 requires.
  • The JS store registers the hidden failed instance before applying segments, so functions written into imported tables remain callable after a later trap.
  • Focused engine tests: 18/18 passed, zero skips/failures/leaks.
  • Official wg-2.0 structural checks: data.wast 61/61, elem.wast 98/98, linking.wast 132/132; zero failures, not-applicable commands, or runner errors in those files.
9 days ago

The last seven residual Core 2 structural failures are fixed and pushed in two small commits:

  • a07e902: validates br_table targets against the same operand stack, preserving concrete agreement while allowing polymorphic bottom to meet equal-arity labels with different result types. Focused br_table tests: 5/5.
  • d7552fa: makes the corpus host exact for symbolic NaNs, canonical externrefs/null refs, multi-value results, print_i64, and the official 666.6 float globals.

Focused official results are now imports.wast 162/162 applicable (+16 explicit text-format n/a) and unreached-valid.wast 7/7, with zero failures or runner errors. The pre-fix complete 90-file run was 27,430 pass / 7 fail / 581 explicit n/a / 0 runner; those exact seven are now green. I am regenerating the final inventory against the new engine commit before publishing/closing.

9 days ago

Completed on main through 66a953a. The committed inventory at 12ce485 pins WebAssembly/spec wg-2.0 fffc6e1 and WABT 1.0.39 ad75c5e. All 27,437 applicable commands pass across 90/90 files, with 581 explicit text-format n/a commands, 0 failures, and 0 runner errors. CI pin/drift and representative structural gates landed in a593fde; README/docs publish exact modes, feature-area subtotals, boundaries, and the complete reproduction command.

Sign in to comment on this issue.