Repository navigation
[#446 Tier 1 #5 follow-up] wasm_export_call Zig-FFI smoke-test #501
Copy link
Copy link
Open
Labels
bindingsABI, FFI, WASM, and cross-language interop surfacesABI, FFI, WASM, and cross-language interop surfacesfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes thereFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes therepriority: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 uptier-1AS bindings top-50 Tier 1 (idaptik blockers)AS bindings top-50 Tier 1 (idaptik blockers)
Description
Context
Closed #455 shipped via PR #467 (Deno-ESM wasm_export_call + WasmValue) with the existing JS-side smoke-test (tests/codegen-deno/wasm_call.{affine,harness.mjs}) exercising the Deno-ESM path.
Per the owner scope breakdown, a Zig-FFI-side smoke-test was deferred to a follow-up:
Test: smoke-test through the Zig FFI
This issue tracks that. It is the test counterpart to the sister "Zig FFI implementation for wasm_export_call dispatch" follow-up — neither lands without the other.
Scope
An integration test (or just recipe) that:
- Builds the Zig-side
wasm_export_calldispatcher (from the sister implementation follow-up). - Compiles an AffineScript program that calls
wasm_export_callvia the linear-memory wasm backend (NOT the Deno-ESM backend). - Wires the Zig-dispatcher into the wasm instance's
envimport object. - Runs the wasm + asserts the round-trip for at least one of each
WasmValuekind (i32 / i64 / f32 / f64).
Acceptance
- New test file under
tests/(or under a Zig-FFI-aware test driver — the existing tree convention will dictate). - Demonstrates the Zig dispatcher satisfies the
env.wasm_export_callimport contract under the linear-memory wasm backend. - Passes in CI under the same job that runs the existing wasm codegen tests.
- Documented as the "Zig FFI" half of the Tier 1 ci: Bump actions/github-script from 7.0.1 to 8.0.0 #5 acceptance gate in
STDLIB-EXTERN-AUDIT.adoc.
Refs
- Closed kickoff: [#446 Tier 1 #5] WASM-exports calling pattern (recommended kickoff) #455
- Shipped Deno-ESM surface: PR feat(stdlib): WasmValue + wasm_export_call typed wasm-exports binding (closes #455) #467
- Sister Zig-FFI implementation follow-up: (must merge first)
- Existing Deno-ESM harness for symmetry:
tests/codegen-deno/wasm_call.{affine,harness.mjs} - Umbrella: [campaign] AffineScript top-50 framework bindings roadmap (UMBRELLA) #446 (Tier 1 — idaptik blockers)
- Tier sub-issue: [#446 STEP 2] Tier 1 — idaptik blockers (10 bindings) #450
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bindingsABI, FFI, WASM, and cross-language interop surfacesABI, FFI, WASM, and cross-language interop surfacesfeeds:valence-shellFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes thereFeeds valence-shell's proofs/engineering (D127): judge progress by what it contributes therepriority: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 uptier-1AS bindings top-50 Tier 1 (idaptik blockers)AS bindings top-50 Tier 1 (idaptik blockers)
Activity