Parent: #268
Found by: #319 replacement CI (29697212135)
The shared spec-runner prelude eagerly constructs the spectest.table64 import for every profile. Profiles with memory64 disabled therefore throw before their first corpus command, so the threads, Core 2 structural, and SIMD smokes are all reported as runner failures instead of testing their declared features.
Acceptance:
- Do not construct memory64-only imports for profiles that never request them.
- Preserve stable identity when a memory64 corpus imports
spectest.table64more than once. - Add a focused generator/runtime regression for ordinary profiles and the memory64 path.
- Run the bounded Python generator tests and evaluator build locally.
- Confirm the replacement Linux smokes execute corpus commands instead of failing during prelude initialization.
Progress
Implemented on main in c9a5eff4. Local evidence: 12/12 Python generator tests, zig build wasm-spec-eval, ordinary threads-profile prelude initialization, and a memory64 lazy-identity witness. Replacement run 29697559754 passed Core 2, MVP, SIMD, and Threads smokes.