# Contributor handoff — prisma/prisma

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

# Contributor handoff — prisma/prisma

Scanned commit dd867230cd8fe08d203b395999f20b4e717fe10b (2026-09-22). Generated by codevetter codevetter 1.12.0 on 2026-09-22.

Agents should treat this as a layered contract compiler plus a runtime, not as a Next.js app. Start from Agents.md, the architecture overview, and architecture.config.json. Use pnpm on Node 24, rebuild before typecheck, and do not bypass lint:deps. Tests are written first and run with Vitest; name the Contract type at every JSON boundary; never use any, zod, or a bare cast. Skills and rules have one canonical directory each. The traps that waste a session are stale dist types, plane violations, fixture drift, warn-only marker checks, and editing a gitignored symlink tree.
- New packages must be registered in architecture.config.json with plane-specific globs, broad to specific, including a migration glob for src/core/migrations/** even if the directory is empty. pnpm lint:deps fails the PR if a migration file imports a runtime package. — [docs/onboarding/Repo-Map-and-Layering.md#L21-L30](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/docs/onboarding/Repo-Map-and-Layering.md#L21-L30) [architecture.config.json#L1-L40](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/architecture.config.json#L1-L40) [package.json#L34](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/package.json#L34)
- Every workspace package, including examples and the private root, carries the same version. docs/oss/versioning.md says internal packages are not published, extension authors must pin framework internals to an exact minor, and RC releases may break. Do not bump a single package.json by hand; pnpm bump-version is the maintainer path. — [docs/oss/versioning.md#L5-L38](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/docs/oss/versioning.md#L5-L38) [.github/workflows/publish.yml#L3-L7](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/.github/workflows/publish.yml#L3-L7)
- Files to read before editing a query path: packages/3-extensions/postgres/src/runtime/postgres.ts, packages/2-sql/4-lanes/sql-builder/src/runtime/sql.ts, and packages/2-sql/5-runtime/src/sql-runtime.ts. Before editing emit or migrations: packages/1-framework/3-tooling/cli/src/control-api/operations/contract-emit.ts, emitter/src/emit.ts, and db-update.ts. Subsystem index pages live under docs/architecture docs/subsystems/. — [docs/Architecture Overview.md#L106-L121](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/docs/Architecture%20Overview.md#L106-L121) [packages/3-extensions/postgres/src/runtime/postgres.ts#L162-L170](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/3-extensions/postgres/src/runtime/postgres.ts#L162-L170) [packages/2-sql/5-runtime/src/sql-runtime.ts#L513-L534](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/2-sql/5-runtime/src/sql-runtime.ts#L513-L534)
- Known traps: verifyMarker logs and continues; loadContractFromTs allows relative imports; the CLI bin here is not the published prisma host; integration tests do not run in merge_group during the launch window; PGlite-heavy suites need the CI worker cap or they drop Postgres sockets; typecheck against a dirty dist lies. — [packages/2-sql/5-runtime/src/sql-runtime.ts#L913-L944](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/2-sql/5-runtime/src/sql-runtime.ts#L913-L944) [packages/1-framework/3-tooling/cli/src/load-ts-contract.ts#L148-L160](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/1-framework/3-tooling/cli/src/load-ts-contract.ts#L148-L160) [packages/1-framework/3-tooling/cli/src/orm/cli.ts#L36-L44](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/1-framework/3-tooling/cli/src/orm/cli.ts#L36-L44) [.github/workflows/ci.yml#L356-L364](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/.github/workflows/ci.yml#L356-L364) [vitest.config.ts#L10-L18](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/vitest.config.ts#L10-L18)
- Do not start a dev server or a migration against a caller-supplied production URL from this repo without an explicit ask. docker-compose.yaml is a disposable local Postgres on 5433. db update can destroy data once consent or --confirm is provided. Telemetry posts to a production Compute URL unless disabled. — [docker-compose.yaml#L1-L9](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/docker-compose.yaml#L1-L9) [packages/1-framework/3-tooling/cli/src/orm/db/update.ts#L121-L134](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/1-framework/3-tooling/cli/src/orm/db/update.ts#L121-L134) [packages/1-framework/3-tooling/cli-telemetry/src/endpoint.ts#L1-L10](https://github.com/prisma/prisma/blob/dd867230cd8fe08d203b395999f20b4e717fe10b/packages/1-framework/3-tooling/cli-telemetry/src/endpoint.ts#L1-L10)

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)
