# Contributor handoff — solidjs/solid

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

# Contributor handoff — solidjs/solid

Scanned commit b25c557754f2ced0d86490e6dbfded9b1745b663 (2026-09-04). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Begin with package exports and build/test configuration before editing runtime behavior, because environment selection changes implementation semantics. Keep client/server parity, owner cleanup, hydration IDs, and store safety guards explicit in any proposed change. Tests and CI were inspected, not executed, and this brief is a bounded source inventory rather than exhaustive coverage or validation.
- Use the repository's pnpm/Turbo workflow: root scripts coordinate build, types, tests, and coverage, and CONTRIBUTING documents pnpm install/build/test for an executable development session. — [package.json#L12-22](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/package.json#L12-L22) [package.json#L69-72](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/package.json#L69-L72) [CONTRIBUTING.md#L89-99](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/CONTRIBUTING.md#L89-L99)
- Before changing a public API, read its core export, conditional package map, and Rollup target; source tests alias implementations, while consumers load built artifacts selected by environment. — [packages/solid/src/index.ts#L1-33](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/index.ts#L1-L33) [packages/solid/package.json#L45-80](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/package.json#L45-L80) [packages/solid/rollup.config.js#L41-83](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/rollup.config.js#L41-L83) [packages/solid/vite.config.mjs#L30-37](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vite.config.mjs#L30-L37)
- Treat signal.ts as a shared runtime hotspot: Observer/Listener slots, Owner trees, tentative transition state, and cleanup are coupled across readSignal, writeSignal, completeUpdates, and cleanNode. — [packages/solid/src/reactive/signal.ts#L1302-1338](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/reactive/signal.ts#L1302-L1338) [packages/solid/src/reactive/signal.ts#L1341-1375](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/reactive/signal.ts#L1341-L1375) [packages/solid/src/reactive/signal.ts#L1582-1614](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/reactive/signal.ts#L1582-L1614) [packages/solid/src/reactive/signal.ts#L1700-1737](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/reactive/signal.ts#L1700-L1737)
- For store changes, read store.ts, modifiers.ts, and server.ts together and preserve unsafe-key traversal/merge guards, deletion semantics, and permitted leaf keys. — [packages/solid/store/src/store.ts#L228-274](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/src/store.ts#L228-L274) [packages/solid/store/src/store.ts#L294-343](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/src/store.ts#L294-L343) [packages/solid/store/src/server.ts#L32-79](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/src/server.ts#L32-L79) [packages/solid/store/test/store.spec.ts#L907-943](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/store/test/store.spec.ts#L907-L943)
- For asynchronous component changes, inspect both lazy implementations, resource/Suspense integration, and rejected-import regressions; the server test verifies a subsequent request retries the rejected module. — [packages/solid/src/render/component.ts#L359-426](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/render/component.ts#L359-L426) [packages/solid/src/server/rendering.ts#L556-607](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/server/rendering.ts#L556-L607) [packages/solid/src/render/Suspense.ts#L123-207](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/src/render/Suspense.ts#L123-L207) [packages/solid/test/server/lazy.spec.ts#L64-93](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/server/lazy.spec.ts#L64-L93)
- In a separately authorized executable task, use the relevant Vitest file first, then the package test script for both environments and test-types for signature changes; these commands are recommendations, not results from this inspection. (inferred) — [packages/solid/package.json#L225-227](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/package.json#L225-L227) [packages/solid/vitest.server.config.mjs#L5-17](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vitest.server.config.mjs#L5-L17) [packages/solid/tsconfig.test.json#L1-12](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/tsconfig.test.json#L1-L12)
- Do not interpret inspected coverage as server validation: the client V8 report excludes server source, and the type-test configuration also excludes test/server. — [packages/solid/vite.config.mjs#L17-21](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vite.config.mjs#L17-L21) [packages/solid/tsconfig.test.json#L10-11](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/tsconfig.test.json#L10-L11)
- Respect test-global interactions: client isolate:false, the MessageChannel replacement, and explicit scheduler resetting in the transition regression can affect scheduling-focused tests. — [packages/solid/vite.config.mjs#L23-28](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/vite.config.mjs#L23-L28) [packages/solid/test/MessageChannel.ts#L1-9](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/test/MessageChannel.ts#L1-L9) [packages/solid/web/test/transition.spec.tsx#L17-23](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/web/test/transition.spec.tsx#L17-L23)
- Avoid mistaking external adapters for local implementations: DOM, SSR, hyperscript, tagged-template, and universal expression engines are re-exported dependency code; fixes may require dependency-level investigation. — [packages/solid/web/src/client.ts#L1-1](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/web/src/client.ts#L1-L1) [packages/solid/web/server/server.ts#L1-1](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/web/server/server.ts#L1-L1) [packages/solid/h/src/hyperscript.ts#L1-1](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/h/src/hyperscript.ts#L1-L1) [packages/solid/html/src/lit.ts#L1-1](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/solid/html/src/lit.ts#L1-L1)
- Keep downloaded integration execution separate from routine import checking: the default integration test uses test:imports, whereas test:integrations invokes a suite with downloads, shell commands, packing, and deletion. — [packages/test-integration/package.json#L4-8](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/package.json#L4-L8) [packages/test-integration/tests/downloaded.spec.ts#L24-58](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/tests/downloaded.spec.ts#L24-L58) [packages/test-integration/tests/downloaded.spec.ts#L71-99](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/packages/test-integration/tests/downloaded.spec.ts#L71-L99)
- Follow the established formatting and TypeScript configuration: two-space indentation, semicolons, double quotes, no trailing commas, strict NodeNext resolution, preserved JSX, and declaration generation. — [.prettierrc#L1-8](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/.prettierrc#L1-L8) [tsconfig.json#L1-12](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/tsconfig.json#L1-L12)
- Release operations are explicit root scripts, and Changesets links solid-js with babel-preset-solid; publishing requires build/types and should not be conflated with local verification. — [package.json#L17-21](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/package.json#L17-L21) [.changeset/config.json#L3-9](https://github.com/solidjs/solid/blob/b25c557754f2ced0d86490e6dbfded9b1745b663/.changeset/config.json#L3-L9)

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)
