Skip to content

feat(wasi): land #485 filesystem, #487 sockio, #486 wrap-default, #56-A - #757

Merged
hyperpolymath merged 2 commits into
mainfrom
feat/wasi-485-closeout
Sep 21, 2026
Merged

hyperpolymath merged 2 commits into
mainfrom
feat/wasi-485-closeout

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Preview1 lowerings and wrap-default machinery for the leftover WASI/DOM slices that blocked closing GitHub index #175.

#485 S5 wasi:filesystem

  • Guest builtins file_open / file_read / file_fd_write / file_close lower to preview1 path_open / fd_read / fd_write / fd_close
  • Effect File reserved; dirfd 3 is the first --dir preopen
  • Stub tests under tests/codegen/ plus gated tests/componentize/filesystem_smoke.sh (wasmtime run --dir host::.)

#487 sock recv/send/accept

  • net_recv / net_send / net_acceptsock_recv / sock_send / sock_accept, Effect Net
  • Stub tests plus gated tests/componentize/sockio_smoke.sh

#486 wrap default, not the one-way door

  • tools/componentize.sh now defaults to --command
  • S3 reactor smoke requests --reactor explicitly
  • Compiler still emits preview1 core wasm; native-preview2 import cleanup remains the one-way door

#56-A + Pixi gap-fill

  • stdlib/Dom.affine, stdlib/Console.affine
  • affinescript-dom convenience constructors (div/h1/p/… + replaceBody)
  • Pixi Point/Rectangle/Circle, tint/blend, hitArea/mask, BlurFilter, NineSlice, Assets, event coords
  • PixiUI ProgressBar/List/Input; PixiSound isPlaying/duration

Ledgers updated: docs/TECH-DEBT.adoc, docs/ECOSYSTEM.adoc, docs/CAPABILITY-MATRIX.adoc.

Refs #485 #486 #487 #56

hyperpolymath and others added 2 commits September 21, 2026 07:58
The original #175 sub-issues (#176–183) are all closed. Reconcile the
ledgers so they stop listing SAT-01/SAT-03/INT-07/INT-08 as open, mark
Stage D closed / Stage E active, and point residual WASI + satellite
work at the independent follow-ups (#485/#486/#487/#56).

Refs #175

Signed-off-by: Jonathan D.A. Jewell <6759885+hyperpolymath@users.noreply.github.com>
Preview1 lowerings for wasi:filesystem (file_open/read/fd_write/close)
and sock_recv/send/accept; componentize.sh defaults to --command without
flipping the compiler's preview1 emit; stdlib Dom/Console + Pixi gap-fill.

Refs #485 #486 #487 #56
@coderabbitai

coderabbitai Bot commented Sep 21, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Advanced

Run ID: 0ca7236d-442e-4540-99cb-37a05e87839f

📥 Commits

Reviewing files that changed from the base of the PR and between c91a9df and af166ff.

📒 Files selected for processing (39)
  • affinescript-dom/src/dom.affine
  • docs/CAPABILITY-MATRIX.adoc
  • docs/ECOSYSTEM.adoc
  • docs/TECH-DEBT.adoc
  • lib/codegen.ml
  • lib/codegen_deno.ml
  • lib/effect.ml
  • lib/resolve.ml
  • lib/typecheck.ml
  • lib/wasi_runtime.ml
  • stdlib/Console.affine
  • stdlib/Dom.affine
  • stdlib/Pixi.affine
  • stdlib/PixiSound.affine
  • stdlib/PixiUI.affine
  • tests/codegen-deno/pixi_smoke.affine
  • tests/codegen-deno/pixi_smoke.harness.mjs
  • tests/codegen-deno/pixisound_smoke.affine
  • tests/codegen-deno/pixisound_smoke.harness.mjs
  • tests/codegen-deno/pixiui_smoke.affine
  • tests/codegen-deno/pixiui_smoke.harness.mjs
  • tests/codegen/dom_pilot_surface.affine
  • tests/codegen/file_open.affine
  • tests/codegen/file_roundtrip.affine
  • tests/codegen/net_accept.affine
  • tests/codegen/net_recv.affine
  • tests/codegen/net_send.affine
  • tests/codegen/test_dom_pilot_surface.mjs
  • tests/codegen/test_file_open.mjs
  • tests/codegen/test_file_roundtrip.mjs
  • tests/codegen/test_net_accept.mjs
  • tests/codegen/test_net_recv.mjs
  • tests/codegen/test_net_send.mjs
  • tests/codegen/test_wasi_fs_combo.mjs
  • tests/codegen/wasi_fs_combo.affine
  • tests/componentize/filesystem_smoke.sh
  • tests/componentize/smoke.sh
  • tests/componentize/sockio_smoke.sh
  • tools/componentize.sh
 ____________________________________________________________________
< Never go full rewrite. You don't buy that? Ask Netscape Navigator. >
 --------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).
✨ Finishing Touches
📝 Generate docstrings
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

Copy link
Copy Markdown

@hyperpolymath
hyperpolymath merged commit ff7ccd7 into main Sep 21, 2026
12 of 16 checks passed
@hyperpolymath
hyperpolymath deleted the feat/wasi-485-closeout branch September 21, 2026 08:04
hyperpolymath added a commit that referenced this pull request Sep 21, 2026
…o parse (#761)

## Why

#759 merged with red CI:
- `npm install -g --ignore-scripts tree-sitter-cli@0.25.0` leaves the
`tree-sitter` binary missing (ENOENT) — build, coverage,
migration-assistant.
- Workflow linter requires SPDX on line 1; actions-lock prepends a
managed-by comment.
- `lib/codegen_deno.ml` still had a #757 smash: unterminated `(* #459`
comment (`wrapping Iram)`) and a duplicate `receiver_struct` (`withtion
= function`). Lint: Comment not terminated.

## This PR
- `scripts/install-tree-sitter-cli.sh` installs the v0.25.0 GitHub
release binary.
- Workflow linter accepts SPDX in the first 5 lines.
- Restore ExprBreak/Continue/Lambda arms; drop the duplicate
receiver_struct.
- `affinescript-vite/` compile-pass scaffold (`--bun-esm`).

Does not implement #486.
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