Skip to content

Add WASI P3 entries to the FAQ#353

Open
ericgregory wants to merge 25 commits into
bytecodealliance:mainfrom
ericgregory:p3-faq-updates
Open

Add WASI P3 entries to the FAQ#353
ericgregory wants to merge 25 commits into
bytecodealliance:mainfrom
ericgregory:p3-faq-updates

Conversation

@ericgregory

Copy link
Copy Markdown
Collaborator

Updates the existing "Preview 1 and Preview 2" question to cover Preview 3, and adds three new entries — "What is WASI P3?", "Do I need to migrate from WASI P2 to WASI P3?", and "What happened to wasi:io?" — that cross-link to the new design/async.md and design/migrating-to-p3.md pages added in #352, on which this PR is stacked.

Add a new design/async.md introducing the Canonical ABI primitives
(`async func`, `stream<T>`, `future<T>`) that the Component Model added
for the WASI P3 release. The page covers the sandwich problem (why
native async matters for composition), each primitive with a worked WIT
example, the stream-plus-future and write-direction-flip patterns, and a
tooling-support pointer.

Hook the page into Component Model Concepts as a new subsection after
Packages, and add the SUMMARY.md entry under that umbrella.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
Add a new design/migrating-to-p3.md covering the conceptual P2 -> P3
mapping for component authors: a "Do you need to migrate?" framing, the
wasi:io-to-Canonical-ABI concept mapping table, three before/after WIT
patterns (stream-plus-future, write-direction flip, two-step calls
collapsed), short per-interface notes for wasi:io/http/sockets/
filesystem/cli/clocks/random, a tooling requirements table, and a
version-pinning callout for the current RC-to-0.3.0 transition. Hook
the page into the Understanding section after WIT Reference.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
Refine language for clarity and consistency in the migration guide.
Apply content-ownership guidance by reframing design/async.md to
describe the Component Model primitives in P3 terms throughout, rather
than as a P2-to-P3 contrast that overlaps with wasi.dev's WASI P3 page.

- Drop the A→B→Host diagram and surrounding A/B/Host references.
- Drop P2 comparisons from the primitive descriptions and from the
  write-pattern code example.
- Rename 'Common patterns' → 'How the primitives work in WASI P3'.
- Replace 'Tooling support' (which duplicated wasmtime.md) with a
  brief 'Where to go next' pointer block.

In migrating-to-p3.md:

- Replace 'Interface notes' (40 lines of per-package detail) with
  'Interface highlights' (3 load-bearing changes + link to wasi.dev).
- Rewrite the WIT pattern openings with phrasing distinct from both
  the reframed async.md and wasi.dev/wasi-p3.
- Fix a broken intra-document anchor and a wasi:http resource count
  inconsistency (eight vs nine).

Signed-off-by: Eric Gregory <eric@cosmonic.com>
Per WASI maintainer guidance, refer to the WASI specifications as
"WASI 0.2" and "WASI 0.3" in prose, including page titles, section
headings, the migration guide's mapping table, and the new
component-model-concepts and SUMMARY entries. Filename and URL slugs
(migrating-to-p3.md, wasi-p3 in wasi.dev URLs) are unchanged.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
The earlier WASI P2/P3 -> WASI 0.2/0.3 rename left several sentences
starting with or hinging on a bare "0.2" or "0.3", which reads
awkwardly. Prefix those with "WASI" so the version reads as a noun
phrase. The tooling-requirements table cells stay terse.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
ericgregory and others added 19 commits July 2, 2026 10:05
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
Co-authored-by: Victor Adossi <123968127+vados-cosmonic@users.noreply.github.com>
- Add a note that WASI 0.3 builds on 0.2 and the two can coexist
- Link the read-via-stream and write-via-stream examples to their
  in-situ definitions in wasi-filesystem
- Update the sandwich-problem anchor to match the renamed heading
- Update the tooling table for Wasmtime 46, which enables WASI 0.3
  and component-model-async by default and vendors 0.3.0 stable
- Close an open diff fence, fix a couple of typos in the async page
Update the Preview-terminology entry to cover Preview 3, and add three
new FAQ entries: "What is WASI P3?", "Do I need to migrate from WASI P2
to WASI P3?", and "What happened to wasi:io?". The new entries cluster
with the updated Preview question and cross-link to design/async.md and
design/migrating-to-p3.md for deeper material.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
Per WASI maintainer guidance, refer to the WASI specifications as
"WASI 0.2" and "WASI 0.3" in prose.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
The "WASI 0.3 (WASI 0.3) is..." opening on the "What is WASI 0.3"
entry was a stale disambiguation left over from when the original
prose said "WASI P3 (WASI 0.3) is..." Strip the parenthetical now
that both names are the same.

Signed-off-by: Eric Gregory <eric@cosmonic.com>
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