design-b D-1a: retire the legacy-shim ablation builds + redundancy pins

Doc 20 D-1 (legacy runtime deletion), first slice: races_test_noheal /
races_test_nosleepfix pinned behavior of the legacy handlesleep shim,
which is being deleted — the pins now assert properties of a runtime
that no longer exists. Drops the two Makefile.wasm link+inject variants
(SHIM_DISABLE_TRAMPOLINE_HEAL / SHIM_DISABLE_HANDLESLEEP), the
shim-redundancy pin specs in asyncify-races.spec.ts, and resolves the
tests/README.md open task. The green battery still runs every scenario
against the scheduler glue.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TEHGiiXMShNXbBr7gSJ7iz
This commit is contained in:
Gergő Törcsvári 2026-08-05 19:59:14 +02:00
commit e7b8c2725b
No known key found for this signature in database
GPG key ID: 8E75F2CDE64E5322
4 changed files with 23 additions and 113 deletions

View file

@ -411,9 +411,9 @@ private:
// ----- scenario 1: post_park_fiber_swap -------------------------------------
// The KiCad hang topology. OnInit already did a fiber swap, so the park throw
// went through the live trampoline. With the self-heal shim the guard was
// reset and this swap works; with SHIM_DISABLE_TRAMPOLINE_HEAL=1 the guard is
// stuck true, the Call() below never returns, and the watchdog fires.
// went through the live trampoline. With the self-heal shim the guard is
// reset and this swap works; historically (ablated heal, retired at doc 20
// D-1) the guard stuck true, Call() never returned, and the watchdog fired.
void Scenario_PostParkFiberSwap()
{
#ifdef __EMSCRIPTEN__
@ -608,9 +608,9 @@ private:
// ----- scenario 5: long_parked_sleep_clobbered_by_swap ------------------------
// The KiCad clipboard crash shape: a long-parked sleep crossed by complete
// fiber-swap cycles on fresh stacks. With handlesleep.js the sleep's buffer
// is restored at wakeUp; with SHIM_DISABLE_HANDLESLEEP=1 doRewind reads a
// clobbered currData -> "index out of bounds".
// fiber-swap cycles on fresh stacks. The scheduler shim restores the sleep's
// buffer at wakeUp; historically (no save/restore, ablation retired at doc 20
// D-1) doRewind read a clobbered currData -> "index out of bounds".
void Scenario_LongParkedSleep()
{
#ifdef __EMSCRIPTEN__