Tracking note from reviewing the Bytecode Alliance roadmap post "The Road to Component Model 1.0" (https://bytecodealliance.org/articles/the-road-to-component-model-1-0, June 8 2026) against meld.
Conclusion: no code adjustments implied today
The article is a roadmap/announcement, not a normative spec. It commits to no version/date for 1.0, and its headline ABI change (lazy ABI) ships first as an opt-in 0.3.x option, default only "when 1.0 arrives." meld correctly targets the current eager linear-memory Canonical ABI (baseline pinned to spec commit deb0b0a, 2025-05-19, proofs/DECISIONS.md:12-13), which the article confirms stays supported via adapters.
Everything meld implements that the article touches is already present/correct:
- error-context intrinsics + opaque-i32 handle type (
parser.rs:572-577, 3554-3555, 3802-3812) — article's change is making it mandatory in result error cases (a producer/WIT convention, not a fuser obligation).
- P3 stream/future/async lowering (
p3_stream.rs, p3_async.rs, p3_bridge.rs) — article's async-overhead work is runtime-side; stream-splicing/cooperative-threads are unshipped.
- string encodings (utf8/utf16/latin1+utf16 with
UTF16_TAG, fact.rs), MAX_FLAT/retptr spilling — not mentioned by the article at all.
Strategic note: the article's proposed lower-components tool ("smash a compound component into a single core Wasm module") is what meld does — meld appearing as a desired capability on the BA's own 1.0 roadmap validates its design.
Watch-list (no action now — monitor the 0.3.x release where opt-ins land)
- Lazy ABI — callee returns opaque lazy value handles instead of eager
cabi_realloc+memory.copy. Would require a genuinely new adapter lowering mode at meld's realloc/copy seam (adapter/fact.rs, merger.rs cabi_realloc handling). Largest eventual effort; spec-conformance, future.
- Multivalue returns at the C-ABI level — would simplify/replace retptr spilling (
resolver.rs:320-353, fact.rs result lifting). Medium, future.
- Function subtyping /
map type — would extend ComponentValType / canonical_abi_size/align (parser.rs) and CopyLayout (resolver.rs) if they reach a stable ABI representation. Future, unshipped.
Action: revisit when CM publishes a newer normative ABI or the 0.3.x lazy-ABI opt-in lands; bump the deb0b0a baseline in proofs/DECISIONS.md then. Nothing actionable from the roadmap post itself.
Tracking note from reviewing the Bytecode Alliance roadmap post "The Road to Component Model 1.0" (https://bytecodealliance.org/articles/the-road-to-component-model-1-0, June 8 2026) against meld.
Conclusion: no code adjustments implied today
The article is a roadmap/announcement, not a normative spec. It commits to no version/date for 1.0, and its headline ABI change (lazy ABI) ships first as an opt-in
0.3.xoption, default only "when 1.0 arrives." meld correctly targets the current eager linear-memory Canonical ABI (baseline pinned to spec commitdeb0b0a, 2025-05-19,proofs/DECISIONS.md:12-13), which the article confirms stays supported via adapters.Everything meld implements that the article touches is already present/correct:
parser.rs:572-577, 3554-3555, 3802-3812) — article's change is making it mandatory in result error cases (a producer/WIT convention, not a fuser obligation).p3_stream.rs,p3_async.rs,p3_bridge.rs) — article's async-overhead work is runtime-side; stream-splicing/cooperative-threads are unshipped.UTF16_TAG,fact.rs), MAX_FLAT/retptr spilling — not mentioned by the article at all.Strategic note: the article's proposed
lower-componentstool ("smash a compound component into a single core Wasm module") is what meld does — meld appearing as a desired capability on the BA's own 1.0 roadmap validates its design.Watch-list (no action now — monitor the
0.3.xrelease where opt-ins land)cabi_realloc+memory.copy. Would require a genuinely new adapter lowering mode at meld's realloc/copy seam (adapter/fact.rs,merger.rscabi_realloc handling). Largest eventual effort; spec-conformance, future.resolver.rs:320-353,fact.rsresult lifting). Medium, future.maptype — would extendComponentValType/canonical_abi_size/align(parser.rs) andCopyLayout(resolver.rs) if they reach a stable ABI representation. Future, unshipped.Action: revisit when CM publishes a newer normative ABI or the
0.3.xlazy-ABI opt-in lands; bump thedeb0b0abaseline inproofs/DECISIONS.mdthen. Nothing actionable from the roadmap post itself.