Parent: #459 Depends on: #465–#490 as their surfaces land
Goal
Continuously prove that interpreter, VM, baseline JIT, optimizer, and Wasm native tiers are semantically identical across optimization plans, GC timing, no-GIL schedules, and declared architectures.
Scope
- Build owned seeded generators for JavaScript source/bytecode shapes, Wasm modules/functions, objects/arrays/typed data, closures/environments, exceptions/finally, async/generators, modules, GC roots, atomics, and host callbacks.
- Execute the same case with tree-walker, VM, baseline, optimizer, Wasm interpreter/baseline/optimizer, GC modes, serialized/no-GIL, and applicable backend feature sets forced on/off.
- Compare result bits/types, exception name/message/metadata, observable mutations/order, output, steps/watchdog, jobs/microtasks, tier counters, GC relocation, memory bytes, and teardown.
- Randomize tier thresholds, invalidation/deopt timing, collection/safepoints, allocation failure, thread schedule points, CPU features, and code-cache pressure deterministically.
- Shrink failures to one reproducible seed/source/module and retain corpus regressions.
No-workaround rules
- No permanent suppressions, flaky retry-until-pass, result-only comparison, unsupported path counted as a tier success, or seed blacklist without a terminal documented semantic disposition.
- The generator and shrinker remain owned code with no external fuzz runtime dependency.
Acceptance
- Every new native/optimizer opcode, IR operation, backend, recovery outcome, and runtime fast path adds generator coverage before release.
- Normal, ReleaseSafe, TSan, moving-GC, no-GIL, OOM/fault, debugger/termination, and lifecycle profiles have bounded deterministic CI witnesses.
- Longer scheduled runs publish seed/rate/coverage inventories and retain every actionable minimized failure.
- Cross-architecture traces can be compared without claiming emulated performance.
- Zero unexplained skips/suppressions and exact denominator sanity checks are enforced.
Foundation
Existing threadfuzz, seeded optimizer differentials, test262, PR-249, Wasm corpus inventories, and forced enable_jit controls.