-
-
Notifications
You must be signed in to change notification settings - Fork 0
INT-03 S6c: flip default wasm target preview1 → component + native-preview2 cleanup #486
Copy link
Copy link
Open
Labels
majorMajor issue — significant scope, broader impact than a feature/bugMajor issue — significant scope, broader impact than a feature/bugmigrationPorting between languages or toolchains (e.g. -> AffineScript)Porting between languages or toolchains (e.g. -> AffineScript)priority:p2Normal - queue itNormal - queue itscope:repoConfined to this repositoryConfined to this repositorystatus:readyFully specified and ready to be picked upFully specified and ready to be picked up
Description
Activity
Metadata
Metadata
Assignees
Labels
majorMajor issue — significant scope, broader impact than a feature/bugMajor issue — significant scope, broader impact than a feature/bugmigrationPorting between languages or toolchains (e.g. -> AffineScript)Porting between languages or toolchains (e.g. -> AffineScript)priority:p2Normal - queue itNormal - queue itscope:repoConfined to this repositoryConfined to this repositorystatus:readyFully specified and ready to be picked upFully specified and ready to be picked up
ADR-015 canonical S6c (per
.machine_readable/6a2/META.a2ml): demote the legacy core-wasm +wasi_snapshot_preview1stdout path to a legacy/opt-in target and make the WASI-0.2 component the default wasm output. Bundled with the optional native-preview2 cleanup: replace the on-demand preview1 shims emitted by S4a (clock), S4b (env/arg sizes), S5 (env_at/arg_at), S6b (sock_shutdown) with directwasi:clocks/wasi:cli/wasi:socketscalls — only pays off once preview2 is the default, hence the bundling.This is the one-way door that ADR-015 was escalated for. The migration has been reversible-in-progress through S6b (legacy preview1 path still default); S6c is when reversibility ends. Touch points:
bin/main.ml: default target switches; legacy preview1 stays selectable under a flag (matches how S6a kept reactor consumers byte-unchanged additively).tools/componentize.sh: defaults--command; legacy reactor still callable.lib/codegen.ml: native-preview2 emission path behind the new default; currentWasi_runtime.create_*_importhelpers retained for the legacy path.tests/componentize/: smoke now assertswasi:cli/runexports by default; preview1-stdout smoke moves under a legacy guard.docs/specs/SETTLED-DECISIONS.adocADR-015 amendment marking S6c shipped;docs/TECH-DEBT.adocINT-03 closure;docs/ECOSYSTEM.adoctable flip.Must survive: the
typedwasm.ownershipmulti-producer ABI (shared withhyperpolymath/ephapax) byte-equal on the component's embedded core module; ADR-015's hard non-negotiable.Ledger: INT-03 (S1, substrate) final slice. Refs #180.