Goal / finish line
packages/web runs on msw@2, bun test:web uses Bun's --parallel like the other packages, and packages/scripts/src/testing/test-parallel.ts no longer contains DEFAULT_WEB_SHARDS, shardTargets, guardRss, readRssMb, or the web-only parallelArgsFor branch.
Acceptance
bun test:web passes with --parallel and one process, locally and in CI's unit (web, 1|2) legs (or one leg once sharding is gone; update test-unit.yml and the ruleset contexts in the same change if the leg names change, and mark that part human-merged).
test-parallel.ts shrinks by roughly 120 lines; the RSS watchdog and WEB_TEST_SHARDS env vars are gone from docs and CI.
- No test weakened.
Context
msw@1.3.5 (EOL) patches XHR in a way Bun's --isolate clears between files (oldXMLHttpRequest undefined), which is why web runs sequentially, which is why a single process OOMs on 7 GB runners, which is why there are four shards and a /proc-reading RSS guard. One dependency is the root of the whole web harness workaround chain. @testing-library/react@14 may need to move to 16 alongside.
Package scope
web, scripts
Verify commands
bun test:web
bun run verify --strict
Approval boundary
allow
Untrusted input
Goal / finish line
packages/webruns onmsw@2,bun test:webuses Bun's--parallellike the other packages, andpackages/scripts/src/testing/test-parallel.tsno longer containsDEFAULT_WEB_SHARDS,shardTargets,guardRss,readRssMb, or the web-onlyparallelArgsForbranch.Acceptance
bun test:webpasses with--paralleland one process, locally and in CI'sunit (web, 1|2)legs (or one leg once sharding is gone; updatetest-unit.ymland the ruleset contexts in the same change if the leg names change, and mark that part human-merged).test-parallel.tsshrinks by roughly 120 lines; the RSS watchdog andWEB_TEST_SHARDSenv vars are gone from docs and CI.Context
msw@1.3.5(EOL) patches XHR in a way Bun's--isolateclears between files (oldXMLHttpRequestundefined), which is why web runs sequentially, which is why a single process OOMs on 7 GB runners, which is why there are four shards and a/proc-reading RSS guard. One dependency is the root of the whole web harness workaround chain.@testing-library/react@14may need to move to 16 alongside.Package scope
web, scripts
Verify commands
Approval boundary
allow
Untrusted input