You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: plans/wasm32-todo.md
+44-38Lines changed: 44 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,20 +4,18 @@ Last updated: 2026-02-19
4
4
5
5
## Context
6
6
7
-
In `python-blosc2` on wasm32/Pyodide, DSL kernels that use index symbols with `int(...)` casting still fail in practice for this shape:
7
+
In `python-blosc2` on wasm32/Pyodide, DSL kernels that use index symbols with `int(...)` casting were failing for this shape and are now passing after integration fixes:
-Observed integration detail (2026-02-19): failure is raised during miniexpr setup (`NDArray._set_pref_expr`), with `NotImplementedError: Cannot compile expression ...`, and reproduces for default, `jit=False`, and `jit=True`.
12
-
- Current status in python-blosc2: expected-to-fail behavior is still kept for wasm32.
-Resolved integration detail (2026-02-19): python-blosc2 was mapping dtypes via `dtype.num` in `_set_pref_expr`, which is platform-dependent on wasm32/Pyodide.
12
+
- Current status in python-blosc2: task-7 kernel now succeeds on wasm32 with deterministic `int64` ramp output, and wasm expected-fail behavior was removed.
13
13
14
-
This is likely either:
15
-
- a true miniexpr wasm32 cast/runtime gap, or
16
-
- an integration mismatch between python-blosc2's prefilter setup and miniexpr's supported dtype/cast combinations.
14
+
The remaining miniexpr work is now runtime-JIT parity for cast intrinsics on wasm32.
17
15
18
16
## Goal
19
17
20
-
Make DSL `int(...)` casting reliable on wasm32 for ND/index-symbol expressions (or explicitly declare and document it as unsupported with precise diagnostics).
18
+
Keep DSL `int(...)` casting reliable on wasm32 for ND/index-symbol expressions and complete runtime-JIT cast-intrinsic parity on wasm32.
21
19
22
20
## Work Items
23
21
@@ -122,54 +120,62 @@ Make DSL `int(...)` casting reliable on wasm32 for ND/index-symbol expressions (
122
120
### Updated status after this follow-up
123
121
124
122
- Phase 1 compile/setup behavior in miniexpr is now exercised by dedicated contract tests and has explicit diagnostics.
125
-
- The remaining Phase 1 integration gap is surfacing those diagnostics in python-blosc2 exceptions (`_set_pref_expr`) so failures are actionable instead of generic.
123
+
- The former Phase 1 integration gap in python-blosc2 is now closed (diagnostics are surfaced and wasm-safe dtype mapping is in place).
126
124
- Full wasm runtime-JIT support for cast intrinsics remains Phase 2 follow-up work.
-`int(_i0 * _n1 + _i1)` works on wasm32 in miniexpr and in python-blosc2 integration, with deterministic behavior and tests.
204
-
-OR behavior is explicitly unsupported, documented, and enforced by a precise, tested error path.
209
+
-Task-7 unblock criterion is met: `int(_i0 * _n1 + _i1)` works on wasm32 in miniexpr and python-blosc2 integration, with deterministic behavior and tests.
210
+
-Remaining completion criterion for this plan: runtime-JIT cast intrinsics on wasm32 achieve parity (remove fallback gate and require JIT-kernel expectations in wasm tests).
0 commit comments