Parent: #267\nDepends on: #262\nRoadmap: #142, #134\n\nPin the selected finished Wasm GC proposal and implement its type-system and validation surface.\n\nAcceptance:\n- [x] Check in exact revision, dependency, opcode/type, file, and command inventories with no implicit proposal drift.\n- [x] Decode recursive/subtype groups, heap/reference types, structs, arrays, casts/tests, and related instructions behind the GC gate.\n- [x] Validate canonical type identity, subtyping, nullability, field mutability, packed storage, instruction stacks, and disabled features exactly.\n- [x] Add malformed/invalid, recursion-depth, allocation-failure, and deterministic-diagnostic witnesses plus drift verification.
WebAssembly GC: pinned corpus, recursive types, and validation
#298Inventory checkpoint pushed in 9e064f7 and documented in the README/docs. The exact GC target is now locked to 756060f and corpus tree 9775532, with five normative document hashes, all type encodings, all 33 instruction encodings, and all 18 dedicated files / 698 top-level commands. The drift verifier is green. This is explicitly an inventory, not a pass score; recursive type decoding and validation remain active in this issue.
Completed and pushed to main.
Implementation checkpoints:
9e064f7: exact proposal/corpus/document/opcode/type inventoryc94c30d: recursive type-group decoding and lossless GC type IR99ce0c8: complete 33-instruction binary surface and immediates56c72a9: canonical iso-recursive identity, subtyping, nullability, variance/mutability, packed storage, all aggregate/scalar/cast instruction stacks, legal recursive-group visibility, and allocation-failure handling269d6e8: current README and detailed Wasm documentation
Final evidence:
- focused GC validation: 8/8
- complete validator regression root: 93/93
- allocation-failure rollback witness: clean
- 512-level subtype-chain witness: clean
- feature drift verifier: 4 profiles / 12 pinned features
- docs build: 30 pages
This completes the binary/type/validation boundary only. Runtime objects and precise tracing remain explicitly in #299, and terminal corpus scoring remains in #300.
Sign in to comment on this issue.