71552e89

By: ValentinHirschi <valentin.hirschi@gmail.com>

keep Python wrappers within wasm allocator alignment

Box the TensorReducer and GroupMember payloads without changing tensor
algorithms, model identities, or Python signatures. Their inline u128 fields
require 16-byte alignment, but CPython wasm32 object allocations guarantee
only 8; the debug Pyodide gate aborted in PyO3 during TensorReducer creation.

Guard both wrapper and PyO3 layout alignment at wasm compile time and in
native unit tests. A wasm32-unknown-emscripten type-check and alignment audit
of all 68 exported PyClasses (including PyO3 layouts) pass with both fixes.
Runtime validation is covered by the Community retained-object Pyodide gate.

Total

2s

Time to Start Worker time Duration Time to finish Idle
Config 16s 2s 2s 19s 16s
Eval - - - - -
Build - - - - -
Suite 16s 2s 2s 19s 16s

Timeline

Config Compressed gap
0s