Choose the lowest test type that exercises the behavior:
*.test.ts: in-process unit tests for one service, mapper, reducer, or provider component.
protocol/: a real Agent Host server driven over AHP with ScriptedMockAgent. Use for server and protocol contracts that do not depend on a provider SDK.
e2e/providers/: the whole server and bundled provider process with deterministic LLM captures and AHP snapshots. Use when provider behavior is part of the contract.
providerIntegration/: a real provider process backed by the local mock LLM. Use when provider lifecycle matters but realistic model behavior does not.
Other *.integrationTest.ts files at this level: focused component integrations that do not exercise AHP end to end, such as direct SDK or Git-service coverage.
The protocol and E2E folders contain their own running and authoring instructions.