# testing/fixtures ## Purpose Shared test data library. Not a test runner — contains no test classes of its own (except `MockToolsTest` which validates the mocks themselves). Provides: mock implementations (`MockInferenceProvider`, `MockTokenizer`, `MockEventReplayer`, `MockSessionRepository`), stub tools (`EchoTool`, `FailingTool`, `RejectedTool`), fixture builders (`EventFixtures`, `InferenceFixtures`, `WorkflowFixtures`, `ApprovalFixtures`, `CycleFixtures`, `ContextFixtures`, `TransitionFixtures`), and `DeterministicHarness`. ## Ownership This submodule is a library dependency for other `testing/*` submodules. Production modules it wraps: `core:events`, `core:transitions`, `core:approvals`, `core:sessions`, `core:tools`, `core:inference`, `core:context`, `core:kernel`, `core:validation`, `infrastructure:persistence`. ## Local Contracts - All mocks must remain stateless or explicitly reset between uses — callers cannot assume shared state across tests. - `DeterministicHarness` must not make live LLM or network calls. - `koverVerify` is disabled (library code, not independently measurable coverage). ## Work Guidance - Add fixtures here only when two or more `testing/*` submodules need the same setup. Single-use helpers stay local to the submodule that needs them. - No domain logic in fixtures — only wiring and canned data. ## Verification ``` ./gradlew :testing:fixtures:test --rerun-tasks ``` ## Child DOX Index No child AGENTS.md (leaf module).