docs(dox): build out the DOX AGENTS.md hierarchy
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.
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# testing/projections
|
||||
|
||||
## Purpose
|
||||
|
||||
Verifies that reducers and projectors rebuild state correctly from event sequences. Covers: `DefaultSessionReducer`, `OrchestrationReducer`/`Projector`, `InferenceReducer`/`Projector`, `ArtifactReducer`, `ContextReducer`/`Projector`, `RouterProjector`, `DecisionJournalProjector`, `SessionProjector`, `ProjectMemoryDistiller`, and `PreemptSteeringJournal`.
|
||||
|
||||
## Ownership
|
||||
|
||||
Tests in this submodule. Production modules exercised: `core:events`, `core:sessions`, `core:transitions`, `core:context`, `core:inference`, `core:kernel`, `core:artifacts`, `core:router`, `core:journal`.
|
||||
|
||||
## Local Contracts
|
||||
|
||||
- Projections must be rebuilt from events only — no test may assert on a persisted State object.
|
||||
- Reducers are pure functions: same events → same state, always. Tests must verify this property explicitly (run twice, compare).
|
||||
- Any new reducer or projector added to a `core:*` module needs a corresponding test here.
|
||||
|
||||
## Work Guidance
|
||||
|
||||
- Suspend tests use `runBlocking { ... }`.
|
||||
- Keep event sequences in tests minimal — use `testing:fixtures` builders rather than raw event construction.
|
||||
|
||||
## Verification
|
||||
|
||||
```
|
||||
./gradlew :testing:projections:test --rerun-tasks
|
||||
```
|
||||
|
||||
## Child DOX Index
|
||||
|
||||
No child AGENTS.md (leaf module).
|
||||
Reference in New Issue
Block a user