d26f20c316
Root Child DOX Index assembled, plus a per-module AGENTS.md across the tree (core/*, infrastructure/*, apps/*, testing/*, and docs/examples/frontend/etc), each following the DOX section shape: Purpose, Ownership, Local Contracts, Work Guidance, Verification, Child DOX Index.
31 lines
1.5 KiB
Markdown
31 lines
1.5 KiB
Markdown
# 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).
|