CodeVetter · Repo Unpack · Contributor handoff
fastify/fastify
Start from package wiring, factory assembly, and lifecycle documentation, then trace the exact changed behavior into its modules. Preserve plugin scope boundaries and boot-time context finalization. Tests and CI were inspected, not executed; their existence is not a passing result. The inventory is bounded, and generated-code checks or runtime verification require authorization beyond this read-only investigation.
- Read package.json and fastify.js first to establish package entry, declaration entry, scripts, and runtime assembly.
- Use Lifecycle and Encapsulation references alongside implementation to understand hook ordering and parent/child visibility.
- Changes to scoped mutable facilities must account for plugin-override's copying of Request, Reply, parsers, hooks, prefixes, and schema controllers.
- Route contexts are finalized during preReady, including hook binding, constructor optimization, 404 association, and schema compilation.
- Preserve explicit undefined checks for boolean JSON schemas; false schemas must still trigger compiler setup.
- Follow neostandard with TypeScript enabled, no trailing commas, and the configured 120-character rule exceptions.
- Generated config-validator and error-serializer are excluded from lint; integrity verification rebuilds them and compares Git diffs.
- When execution is authorized, existing broad verification entrypoints are npm run unit, npm run test:types, npm run lint, and npm run test:ci; none was executed for this brief.
- Type-provider behavior has separate declaration assertions, so runtime success alone would not validate provider inference.
- Do not infer database integration correctness from the core smoke fixture: its inspected handlers return static or path-derived responses, while database operations appear in plugin examples.
- Treat CI matrices and coverage thresholds as inspected configuration, not execution evidence; broader compatibility includes external workflow implementations outside this repository.