# Contributor handoff — mswjs/msw

> Canonical page: https://codevetter.com/unpack/msw/agent-handoff

# Contributor handoff — mswjs/msw

Scanned commit 6d6aef1640ace2ce2bd90252c71bdbc53262efd3 (2026-09-30). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Start with current manifests and the shared network engine, then follow the affected environment and protocol boundary. Tests and CI were inspected, not executed; this brief provides no passing checks or exhaustive coverage assessment. Existing scripts and filename conventions identify focused checks for a later task that authorizes execution. Preserve worker protocol compatibility, handler ordering, cleanup semantics, and build/export boundaries when making small changes.
- Use package.json and test/README.md as current workflow pointers: CONTRIBUTING.md recommends pnpm 8.15 and older test/browser paths, while the manifest pins pnpm 11.27.1 and current tests use protocol/API domains and filename suffixes. — [CONTRIBUTING.md#L31-L40](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/CONTRIBUTING.md#L31-L40) [CONTRIBUTING.md#L135-L143](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/CONTRIBUTING.md#L135-L143) [package.json#L8-L8](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/package.json#L8-L8) [test/README.md#L5-L21](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/test/README.md#L5-L21)
- Before request-resolution edits, read defineNetwork, HttpNetworkFrame, executeHandlers, and RequestHandler.run together; handler order, fallthrough, once rechecks, and response dispatch span those files. — [src/core/experimental/define-network.ts#L197-L203](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/core/experimental/define-network.ts#L197-L203) [src/core/experimental/frames/http-frame.ts#L248-L280](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/core/experimental/frames/http-frame.ts#L248-L280) [src/core/utils/execute-handlers.ts#L39-L66](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/core/utils/execute-handlers.ts#L39-L66) [src/core/handlers/request-handler.ts#L306-L345](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/core/handlers/request-handler.ts#L306-L345)
- Maintain strict TypeScript, kebab-case filenames, single quotes, and no semicolons; production source imports should target concrete modules instead of package barrels, as enforced by oxlint. — [tsconfig.base.json#L2-L9](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/tsconfig.base.json#L2-L9) [.prettierrc#L1-L8](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/.prettierrc#L1-L8) [.oxlintrc.json#L97-L102](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/.oxlintrc.json#L97-L102) [.oxlintrc.json#L152-L178](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/.oxlintrc.json#L152-L178)
- When execution is permitted, select the smallest relevant test:unit, test:node, test:browser, test:playwright, test:e2e, or test:ts script; inspected tests and CI remain unexecuted evidence in this report. — [package.json#L83-L92](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/package.json#L83-L92) [vitest.config.ts#L48-L93](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/vitest.config.ts#L48-L93) [test/README.md#L13-L18](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/test/README.md#L13-L18) [.github/workflows/ci.yml#L46-L50](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/.github/workflows/ci.yml#L46-L50)
- Build-dependent verification needs lib output: Vitest imports lib/vite/index.js and tsdown emits public entries/declarations; source export changes should be reviewed alongside package exports and module compatibility jobs. — [vitest.config.ts#L1-L8](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/vitest.config.ts#L1-L8) [tsdown.config.ts#L41-L70](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/tsdown.config.ts#L41-L70) [package.json#L9-L56](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/package.json#L9-L56) [.github/workflows/compat.yml#L36-L46](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/.github/workflows/compat.yml#L36-L46)
- Worker protocol edits require paired page/worker review plus checksum generation: copyServiceWorker injects placeholders, WorkerChannel translates payload to data, and browser response transport branches between streams and buffers. — [config/copy-service-worker.ts#L35-L44](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/config/copy-service-worker.ts#L35-L44) [src/browser/utils/worker-channel.ts#L97-L127](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/browser/utils/worker-channel.ts#L97-L127) [src/browser/sources/service-worker-source.ts#L537-L562](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/browser/sources/service-worker-source.ts#L537-L562)
- Keep teardown synchronous at the source boundary even when handlers dispose asynchronously; worker stop intentionally retains channel handling for in-flight requests, and regression tests assert both pending-request completion and disposal rejection observation. — [src/core/experimental/define-network.ts#L221-L248](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/core/experimental/define-network.ts#L221-L248) [src/browser/sources/service-worker-source.ts#L157-L179](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/browser/sources/service-worker-source.ts#L157-L179) [test/msw-api/setup-worker/stop/in-flight-request.browser.test.ts#L22-L46](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/test/msw-api/setup-worker/stop/in-flight-request.browser.test.ts#L22-L46) [src/core/experimental/define-network.test.ts#L126-L159](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/src/core/experimental/define-network.test.ts#L126-L159)
- Review persistence and publication helpers without invoking them during source-only work: msw init writes destination files/package.json, the smoke script changes version and clones/installs examples, and release scripts publish externally. — [cli/init.js#L111-L137](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/cli/init.js#L111-L137) [cli/init.js#L189-L199](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/cli/init.js#L189-L199) [config/scripts/smoke-test.sh#L9-L41](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/config/scripts/smoke-test.sh#L9-L41) [release.config.json#L3-L7](https://github.com/mswjs/msw/blob/6d6aef1640ace2ce2bd90252c71bdbc53262efd3/release.config.json#L3-L7)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
