# testing/kernel ## Purpose Focused tests for `core:kernel` internals that require real event-store plumbing. Covers: approval-before-emit ordering race, retry coordinator behavior, replay inference provider, launch registration race conditions, workspace derivation from replay, and context feedback propagation. ## Ownership Tests and `MockEventReplayer` helper in this submodule. Production modules exercised: `core:kernel`, `core:events`, `core:sessions`, `core:inference`, `core:approvals`, `core:context`, `core:transitions`, `core:validation`, `core:risk`, `core:tools`, `core:artifacts`, `core:artifacts-store`, `infrastructure:persistence`. ## Local Contracts - `ApprovalRegisterBeforeEmitTest` pins the ordering invariant: approval listener must be registered before the event is emitted or the gate is missed. - `LaunchRegistrationRaceTest` pins that concurrent session launches do not corrupt registration state. - `koverVerify` is disabled for this submodule. ## Work Guidance - Suspend tests use `runBlocking { ... }` or `kotlinx-coroutines-test`. - Race tests (`LaunchRegistrationRaceTest`) must not use `Thread.sleep()` — use coroutine barriers. ## Verification ``` ./gradlew :testing:kernel:test --rerun-tasks ``` ## Child DOX Index No child AGENTS.md (leaf module).