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.
1.2 KiB
1.2 KiB
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:fixturesbuilders rather than raw event construction.
Verification
./gradlew :testing:projections:test --rerun-tasks
Child DOX Index
No child AGENTS.md (leaf module).