# Contributor handoff — TanStack/table

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

# Contributor handoff — TanStack/table

Scanned commit 23f21c194e6eba2e7f0321e817104d6e118d6141 (2026-10-01). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Begin with contribution rules, then follow the affected feature from example controls into core utilities and adapter publication. Core changes have cross-framework reach, so distinguish algorithm behavior from framework scheduling and rendering contracts. Tests and CI were inspected, not executed in this audit; future execution requires a separately authorized environment. The inventory and investigation are bounded, and source comments or configured checks must not be reported as runtime verification.
- Read CONTRIBUTING.md before analysis or changes, keep a PR focused on one topic, understand AI-generated changes, preserve the required PR sections, and add a changeset for published-package changes. — [AGENTS.md#L1-L10](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/AGENTS.md#L1-L10) [CONTRIBUTING.md#L28-L46](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/CONTRIBUTING.md#L28-L46) [.github/pull_request_template.md#L1-L14](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/.github/pull_request_template.md#L1-L14)
- Use the root pnpm workspace and existing Nx scripts. build targets affected packages; build:all targets all non-example packages; package-level test:lib, test:types, and test:build provide narrower starting points for authorized verification. — [package.json#L8-L17](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/package.json#L8-L17) [CONTRIBUTING.md#L40-L45](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/CONTRIBUTING.md#L40-L45) [packages/table-core/package.json#L48-L57](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/package.json#L48-L57) [packages/react-table/package.json#L42-L49](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/react-table/package.json#L42-L49)
- For code contributions, CONTRIBUTING.md requires both pnpm test and pnpm test:e2e before opening a PR, with browser installation potentially needed. This audit inspected those commands and CI definitions without executing them. — [CONTRIBUTING.md#L45-L46](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/CONTRIBUTING.md#L45-L46) [package.json#L30-L37](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/package.json#L30-L37) [.github/workflows/pr.yml#L40-L58](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/.github/workflows/pr.yml#L40-L58) [.github/workflows/release.yml#L70-L75](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/.github/workflows/release.yml#L70-L75)
- Preserve documented dependency exceptions: TypeScript 6.0.3, Ember Babel 7.29.7, Svelte dnd-kit 0.2.x, Vitest 4, Octane 0.1.36, specified Pacer devtools versions, and Preact Form 1.30.5 require separate migrations. — [AGENTS.md#L12-L38](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/AGENTS.md#L12-L38)
- Before changing state ownership, read constructTable, coreTablesFeature.utils, and setStateSlice. External atoms outrank controlled state, equality runs against the owner's value, and option merging preserves initial features, atoms, and initialState. — [packages/table-core/src/core/table/constructTable.ts#L143-L170](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/core/table/constructTable.ts#L143-L170) [packages/table-core/src/utils.ts#L202-L247](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/utils.ts#L202-L247) [packages/table-core/src/core/table/coreTablesFeature.utils.ts#L134-L151](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/core/table/coreTablesFeature.utils.ts#L134-L151)
- For React changes, preserve render-versus-commit publication and stable App wrapper component identities. useAppTable keeps current tables in a ref because useTable returns a changing object; recreating wrappers would remount subtrees and disrupt focused inputs. — [packages/react-table/src/useTable.ts#L191-L225](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/react-table/src/useTable.ts#L191-L225) [packages/react-table/src/createTableHook.tsx#L960-L999](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/react-table/src/createTableHook.tsx#L960-L999)
- For worker changes, inspect both bridge and shadow-table code plus shared example configuration. Preserve dataVersion/request checks, coalescing, consistent processing functions, pre-result fallbacks, and explicit termination semantics. — [packages/table-core/src/worker/createTableWorker.ts#L216-L278](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/worker/createTableWorker.ts#L216-L278) [packages/table-core/src/worker/createTableWorker.ts#L321-L365](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/worker/createTableWorker.ts#L321-L365) [packages/table-core/src/worker/createWorkerRowModel.ts#L79-L112](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/src/worker/createWorkerRowModel.ts#L79-L112) [examples/react/web-worker-row-models/src/tableConfig.tsx#L30-L43](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/examples/react/web-worker-row-models/src/tableConfig.tsx#L30-L43)
- Keep scope-specific verification distinct: adapter tests target lifecycle/state integration, worker unit tests use a fake transport, Playwright targets Chrome, and coverage has no thresholds. None of these inspected definitions establishes full adapter/browser coverage or a passing result. — [packages/react-table/tests/adapterReactivity.test.tsx#L91-L93](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/react-table/tests/adapterReactivity.test.tsx#L91-L93) [packages/table-core/tests/unit/worker/createTableWorker.test.ts#L38-L75](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/tests/unit/worker/createTableWorker.test.ts#L38-L75) [playwright.config.ts#L29-L40](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/playwright.config.ts#L29-L40) [packages/table-core/vite.config.ts#L12-L17](https://github.com/TanStack/table/blob/23f21c194e6eba2e7f0321e817104d6e118d6141/packages/table-core/vite.config.ts#L12-L17)

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)
