Confirm the dispatch path cannot bypass the project's guardrail rules: every Jev mode/divergence call goes through the flock wrapper (cap, timeout, flight log), conspiracy invites are capped, and every classification that changes behavior is logged with its probabilities.
Acceptance criteria — falsifiable tests
TestDispatchCallsGoThroughFlock — Given the dispatch code path, then every Jev SystemOne invocation is reached only via a Flock method (ClassifyMode/ClassifyDivergence); assert by unit-testing that Flock.ClassifyMode acquires the f.sem semaphore and writes a flight-log Event with Prob. Red now (methods may not exist yet in C1 if reordered — this is the final integration check), green after.
TestConspiracyInviteCap — a 2-crow nest with invited:5 fires ≤2 prompts (min of nest size and cap); with MaxCrowsInFlight set to 1, a conspiracy invites at most 1 crow concurrently. Red now, green after.
Integration TestDispatchGuardrailsEndToEnd — scripted fake Jev + mock brain: conspiracy request → multiple claims accepted → restatement nudge → no crow exceeds the cap in flight at once (count concurrent asks with an atomic peak), all decisions present in ReadEvents. Red now, green after.
Test command
go test -race -run 'TestDispatch|TestConspiracyInviteCap' .
Blockers / unknowns
Final task: sequence after C1–C6 land so it can assert on real wiring.
Epic: #21. Depends on: #22, #23, #24, #25, #26
## Goal
Confirm the dispatch path cannot bypass the project's guardrail rules: every Jev mode/divergence call goes through the flock wrapper (cap, timeout, flight log), conspiracy invites are capped, and every classification that changes behavior is logged with its probabilities.
## Acceptance criteria — falsifiable tests
1. `TestDispatchCallsGoThroughFlock` — Given the dispatch code path, then every Jev `SystemOne` invocation is reached only via a `Flock` method (`ClassifyMode`/`ClassifyDivergence`); assert by unit-testing that `Flock.ClassifyMode` acquires the `f.sem` semaphore and writes a flight-log Event with `Prob`. Red now (methods may not exist yet in C1 if reordered — this is the final integration check), green after.
2. `TestConspiracyInviteCap` — a 2-crow nest with `invited:5` fires ≤2 prompts (min of nest size and cap); with `MaxCrowsInFlight` set to 1, a conspiracy invites at most 1 crow concurrently. Red now, green after.
3. Integration `TestDispatchGuardrailsEndToEnd` — scripted fake Jev + mock brain: conspiracy request → multiple claims accepted → restatement nudge → no crow exceeds the cap in flight at once (count concurrent asks with an atomic peak), all decisions present in `ReadEvents`. Red now, green after.
## Test command
`go test -race -run 'TestDispatch|TestConspiracyInviteCap' .`
## Blockers / unknowns
Final task: sequence after C1–C6 land so it can assert on real wiring.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Epic: #21. Depends on: #22, #23, #24, #25, #26
Goal
Confirm the dispatch path cannot bypass the project's guardrail rules: every Jev mode/divergence call goes through the flock wrapper (cap, timeout, flight log), conspiracy invites are capped, and every classification that changes behavior is logged with its probabilities.
Acceptance criteria — falsifiable tests
TestDispatchCallsGoThroughFlock— Given the dispatch code path, then every JevSystemOneinvocation is reached only via aFlockmethod (ClassifyMode/ClassifyDivergence); assert by unit-testing thatFlock.ClassifyModeacquires thef.semsemaphore and writes a flight-log Event withProb. Red now (methods may not exist yet in C1 if reordered — this is the final integration check), green after.TestConspiracyInviteCap— a 2-crow nest withinvited:5fires ≤2 prompts (min of nest size and cap); withMaxCrowsInFlightset to 1, a conspiracy invites at most 1 crow concurrently. Red now, green after.TestDispatchGuardrailsEndToEnd— scripted fake Jev + mock brain: conspiracy request → multiple claims accepted → restatement nudge → no crow exceeds the cap in flight at once (count concurrent asks with an atomic peak), all decisions present inReadEvents. Red now, green after.Test command
go test -race -run 'TestDispatch|TestConspiracyInviteCap' .Blockers / unknowns
Final task: sequence after C1–C6 land so it can assert on real wiring.