# Contributor handoff — avajs/ava

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

# Contributor handoff — avajs/ava

Scanned commit bbfd946322fdeca2b547a691d947fb4e18c0c67f (2026-05-17). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

Start with the manifest, local test/configuration files, and the source modules governing the behavior being changed. Preserve worker protocol, test ordering, snapshot compatibility, and public declaration semantics across edits. Tests and CI were inspected, not executed, so this brief provides no passing baseline. Under this task's read-only authority, commands below are future validation guidance rather than authorization to run them.
- Read package.json, ava.config.js, .taprc, and scripts/test.sh first to distinguish published runtime entrypoints from the @ava/test and TAP development harnesses. — [package.json#L11-L39](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/package.json#L11-L39) [ava.config.js#L5-L12](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/ava.config.js#L5-L12) [.taprc#L1-L8](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/.taprc#L1-L8) [scripts/test.sh#L4-L8](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/scripts/test.sh#L4-L8)
- For CLI/configuration changes, follow loadCli(), loadConfig(), and existing loader tests; explicit configuration has different conflict semantics from automatically discovered configuration. — [lib/cli.js#L95-L111](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/cli.js#L95-L111) [lib/load-config.js#L84-L86](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/load-config.js#L84-L86) [lib/load-config.js#L127-L147](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/load-config.js#L127-L147) [test/config/loader.js#L61-L74](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/test/config/loader.js#L61-L74)
- For worker lifecycle changes, read fork.js, worker/base.js, and worker/channel.js together; preserve ready-for-options, worker-finished/free-worker, peer-failed, and channel reference semantics. — [lib/fork.js#L106-L114](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/fork.js#L106-L114) [lib/worker/base.js#L90-L92](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/worker/base.js#L90-L92) [lib/worker/base.js#L122-L129](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/worker/base.js#L122-L129) [lib/worker/channel.js#L100-L111](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/worker/channel.js#L100-L111)
- Keep file concurrency distinct from within-file concurrency, and preserve success-only after hooks versus always hooks; fail-fast does not cancel concurrent tests already started within a file. — [lib/api.js#L248-L258](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/api.js#L248-L258) [lib/runner.js#L374-L403](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/runner.js#L374-L403) [lib/runner.js#L501-L530](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/runner.js#L501-L530)
- Snapshot edits must preserve title/index identity, skipped-block retention, deterministic encoding, and format versioning; the source explicitly requires a major AVA version bump for incompatible encoding changes. — [lib/snapshot-manager.js#L20-L23](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/snapshot-manager.js#L20-L23) [lib/snapshot-manager.js#L209-L224](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/snapshot-manager.js#L209-L224) [lib/snapshot-manager.js#L360-L382](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/lib/snapshot-manager.js#L360-L382) [test/snapshot-workflow/selection.js#L7-L65](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/test/snapshot-workflow/selection.js#L7-L65)
- Update runtime declaration chains and public types together; TypeScript cases are checked by tsc, and examples pin AVA ^6 despite the root package being 8.0.1. — [entrypoints/main.d.ts#L1-L12](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/entrypoints/main.d.ts#L1-L12) [test-types/module/conditional-chains.ts#L1-L14](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/test-types/module/conditional-chains.ts#L1-L14) [scripts/test.sh#L5-L5](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/scripts/test.sh#L5-L5) [examples/macros/package.json#L8-L10](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/examples/macros/package.json#L8-L10)
- When execution is separately authorized, use the documented smallest test selection first: npx test-ava test/{file}.js or npx tap test-tap/{file}.js; npm test adds lint, types, and coverage. — [.github/CONTRIBUTING.md#L60-L70](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/.github/CONTRIBUTING.md#L60-L70) [scripts/test.sh#L4-L8](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/scripts/test.sh#L4-L8)
- Tests and CI were inspected, not executed; future validation must account for serial watch testing, non-Linux reporter exclusions, and compile-only type cases rather than assuming uniform suite execution. — [scripts/ci.sh#L4-L17](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/scripts/ci.sh#L4-L17) [.github/workflows/ci.yml#L44-L61](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/.github/workflows/ci.yml#L44-L61) [tsconfig.json#L9-L12](https://github.com/avajs/ava/blob/bbfd946322fdeca2b547a691d947fb4e18c0c67f/tsconfig.json#L9-L12)

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)
