Skip to content

feat(p3): retarget WASI P3 WIT to stable v0.3.0 (#500) - #506

Merged
avrabe merged 1 commit into
mainfrom
feat/p3-stable-retarget
Jun 14, 2026
Merged

feat(p3): retarget WASI P3 WIT to stable v0.3.0 (#500)#506
avrabe merged 1 commit into
mainfrom
feat/p3-stable-retarget

Conversation

@avrabe

@avrabe avrabe commented Jun 14, 2026

Copy link
Copy Markdown
Contributor

First chunk of #500 (WASI P3 RC→stable retarget). WASI 0.3.0 was ratified 2026-06-11.

Problem

The stable v0.3.0 tag renamed the WIT location from proposals/<name>/wit-0.3.0-draft/ (RC) to proposals/<name>/wit/. wasi_p3_deps.bzl was pinned to the RC monorepo tag (v0.3.0-rc-2026-03-15) with the old glob paths, so it no longer matched the ratified spec.

Change

  • wasi_p3_deps.bzl → stable v0.3.0: glob proposals/<name>/wit/*.wit, strip_prefix = WASI-0.3.0, sha256 619928e4754a14db106ae42318daa5c7e29b842ab884662d6d86d8d1ac9a76fd.
  • MODULE.bazelwasi_wit.init(include_p3 = True) + use_repo(..., "wasi_p3"). This enables the P3 WASI WIT in this repo's own CI only; downstream consumers still opt in via their own include_p3 = True.
  • test/p3/BUILD.bazel → new wasi_p3_wit_build_test covering all six interface targets (cli/http/clocks/filesystem/sockets/random), so the retarget can't silently rot. (The existing p3_build_test only exercises the rust wasi_version=p3 rule path with a custom WIT — not these WASI interfaces.)

Verification

bazel test //test/p3:wasi_p3_wit_build_test PASSES — fetches v0.3.0 and parses all six wit_library targets with cross-package deps.

Remaining #500 chunks (follow-up PRs)

  • wasmtime 43.0.145.x + wit-bindgen 0.550.58 checksums (P3 toolchain bump).
  • Graduate the experimental-p3 bundle; update compatibility.wasi_rc → final.
  • Land the fix/p3-dual-compile work; re-verify examples/p3/*.
  • Cooperative threading stays explicitly out (ABI-gated, wasi-sdk#589).

🤖 Generated with Claude Code

WASI 0.3.0 was ratified 2026-06-11. The stable tag renamed the WIT location
from proposals/<name>/wit-0.3.0-draft/ (RC) to proposals/<name>/wit/, so the
RC-pinned wasi_p3_deps.bzl no longer matched.

Retarget wasi_p3_deps.bzl from the RC monorepo tag (v0.3.0-rc-2026-03-15) to
the stable v0.3.0 tag: new glob paths (proposals/<name>/wit/), strip_prefix
WASI-0.3.0, and archive sha256
619928e4754a14db106ae42318daa5c7e29b842ab884662d6d86d8d1ac9a76fd.

Enable the WASI P3 WIT in this repo's own build (wasi_wit init include_p3 =
True + use_repo wasi_p3) — affects only this repo's CI; downstream consumers
opt in separately — and add //test/p3:wasi_p3_wit_build_test so the stable WIT
(cli/http/clocks/filesystem/sockets/random, with cross-package deps) stays
green.

Verified: bazel test //test/p3:wasi_p3_wit_build_test PASSES (fetches v0.3.0,
parses all six interface wit_library targets).

First chunk of #500. Remaining: wasmtime 43->45 + wit-bindgen 0.58 checksums,
graduate the experimental-p3 bundle, land the dual-compile work.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@avrabe
avrabe merged commit e4d4d1c into main Jun 14, 2026
29 checks passed
@avrabe
avrabe deleted the feat/p3-stable-retarget branch June 14, 2026 12:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant