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.
2.4 KiB
2.4 KiB
testing/
Purpose
Dedicated test submodules for the correx kernel. Tests here are NOT co-located with production code — each submodule targets a specific verification concern (approval gates, projection correctness, replay determinism, cross-module contracts, integration flows, etc.).
Ownership
All test submodules in this subtree. Production source is in core/ and infrastructure/; nothing here is deployed.
Local Contracts
- Tests must not assert on persisted State — only on event-derived state rebuilt by projectors/reducers.
- No test submodule may import a sibling
testing/*module excepttesting:fixtures,testing:kernel, andtesting:contracts(shared helpers only). ./gradlew checkapplies detekt withignoreFailures = falseacross all submodules.
Work Guidance
- Always run tests with
--rerun-tasksto bypass Gradle cache:./gradlew :testing:<module>:test --rerun-tasks - Suspend functions in tests use
runBlocking { ... }— no test coroutine framework needed. - Detekt
maxIssues: 120— do not introduce new rule violations. - New
EventPayloadsubclass used in tests? Register it incore/events/.../serialization/Serialization.ktor deserialization silently fails.
Verification
./gradlew check # all submodules: test + detekt + koverVerify
Child DOX Index
testing/approvals— approval gate logic: grant semantics, security, trigger rules, tier immutability, fuzztesting/contracts— cross-module interface contracts and reusable contract test fixtures (projection, replay, inference)testing/deterministic— determinism checks: router, session replay, context compression, prompt rendering, validation pipelinetesting/fixtures— shared test data library: mock implementations, fixture builders, deterministic harness (not a test runner)testing/integration— end-to-end flows: orchestrator, tool-call gate, freestyle approval, clarification loop, steering, rehydrationtesting/kernel— core:kernel internals: retry coordinator, approval-before-emit ordering, replay inference provider, context feedbacktesting/projections— reducer and projector correctness for sessions, context, inference, artifacts, router, and journaltesting/replay— replay determinism: session, approval, validation, transition, decision journal, and repo-knowledge replaystesting/transitions— FSM/workflow graph: transition resolver, event serialization, fuzz coverage