# Contributor handoff — withastro/astro

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

# Contributor handoff — withastro/astro

Scanned commit 4c1470a7f907fe678ef5e7dceaa972ca83d297da (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Begin with the pinned manifests, current core architecture README, and the exact owning modules for the requested change. Tests and CI were inspected, not executed, and this brief supplies no passing baseline. Preserve runtime portability, built-output test imports, request finalization, and deterministic content persistence. Documentation contains drift, so confirm names and behavior against source before planning edits. The inspection is bounded; widen searches only where the task requires more evidence.
- Read core/README.md before request-runtime work: SSRManifest, owning-module memoization, RenderEnvironment, and FetchState are the documented current architecture. — [packages/astro/src/core/README.md#L13-37](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/core/README.md#L13-L37)
- Use package.json as the package-manager authority: it pins pnpm@11.27.0, while CONTRIBUTING.md contains older pnpm guidance. — [package.json#L62-65](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/package.json#L62-L65) [CONTRIBUTING.md#L11-17](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/CONTRIBUTING.md#L11-L17)
- AGENTS.md calls for explicit assumptions, simple solutions, surgical changes, and verifiable goals; unrelated cleanup should remain outside the change. — [AGENTS.md#L5-20](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/AGENTS.md#L5-L20) [AGENTS.md#L28-50](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/AGENTS.md#L28-L50)
- Runtime files and generated runtime virtual modules must avoid Node APIs to support environments such as Cloudflare Workers; Node APIs are permitted in Vite plugin implementation code. — [CONTRIBUTING.md#L108-114](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/CONTRIBUTING.md#L108-L114)
- For future authorized verification, rebuild before running tests that import dist, then select a specific astro-scripts test file before broad package suites. — [reference/unit-testing.md#L14-28](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/reference/unit-testing.md#L14-L28) [packages/astro/package.json#L110-124](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/package.json#L110-L124)
- Reuse the documented createTestApp(), createPage(), createEndpoint(), createMockFetchState(), and domain-specific helpers instead of duplicating setup. — [reference/unit-testing.md#L31-33](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/reference/unit-testing.md#L31-L33) [reference/unit-testing.md#L48-73](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/reference/unit-testing.md#L48-L73)
- Request-chain changes should preserve dispatch-level origin checks and provider finalization; dedicated tests exercise actions-before-middleware, pages-without-middleware, and rejecting finalizers. — [packages/astro/test/units/actions/action-origin-check.test.ts#L66-104](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/test/units/actions/action-origin-check.test.ts#L66-L104) [packages/astro/test/units/hono/pages-origin-check.test.ts#L42-80](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/test/units/hono/pages-origin-check.test.ts#L42-L80) [packages/astro/test/units/fetch/provider-finalize.test.ts#L6-28](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/test/units/fetch/provider-finalize.test.ts#L6-L28)
- Content changes should preserve deterministic serialization, atomic rename, chunk manifest-last commits, and explicit onFileWritten notifications used for dev invalidation. — [packages/astro/src/content/data-store-writer.ts#L30-55](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/data-store-writer.ts#L30-L55) [packages/astro/src/content/data-store-writer.ts#L117-127](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/data-store-writer.ts#L117-L127) [packages/astro/src/content/data-store-writer.ts#L190-198](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/data-store-writer.ts#L190-L198) [packages/astro/src/content/mutable-data-store.ts#L52-66](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/content/mutable-data-store.ts#L52-L66)
- AstroIsland source is prebuilt; the package prebuild script also serializes client directive implementations, so browser-runtime edits must account for generated artifacts. — [packages/astro/src/runtime/server/astro-island.ts#L1-3](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/src/runtime/server/astro-island.ts#L1-L3) [packages/astro/package.json#L110-114](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/package.json#L110-L114)
- Formatting uses tabs, single quotes, and semicolons for JavaScript/TypeScript; AGENTS.md identifies pnpm format and pnpm lint:ai, whose execution remains outside this read-only investigation. — [biome.jsonc#L22-27](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/biome.jsonc#L22-L27) [biome.jsonc#L96-101](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/biome.jsonc#L96-L101) [AGENTS.md#L62-67](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/AGENTS.md#L62-L67) [package.json#L17-22](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/package.json#L17-L22)
- Treat CI definitions as intended checks, not observed results; the Linux ts-plugin command explicitly tolerates failure, and Playwright has CI retries and one worker. — [.github/workflows/ci.yml#L274-279](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/.github/workflows/ci.yml#L274-L279) [packages/astro/playwright.config.js#L8-17](https://github.com/withastro/astro/blob/4c1470a7f907fe678ef5e7dceaa972ca83d297da/packages/astro/playwright.config.js#L8-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)
