B5: Mock-brain end-to-end conversation #12

Closed
opened 2026-10-28 05:27:29 +00:00 by jacisjake · 0 comments
jacisjake commented 2026-10-28 05:27:29 +00:00 (Migrated from github.com)

Epic: #2. Depends on: #11

Goal

A single end-to-end test drives the whole loop with the offline mock brain and asserts the conversation shape, proving the nest works before any paid model is wired.

Acceptance criteria — falsifiable tests

  1. TestNestConversationEndToEndMock — Given a nest (owner + 2 mock crows), when posting request(@Hugin) -> Hugin claim -> Hugin deliver(@owner), then the log has exactly those 4 messages in order, kinds [request, claim, deliver, ...], replay via SSE matches byte-for-byte, and crows run/server state stays consistent. Assert on the recorded messages, not timing. Red now, green after.
  2. The test asserts no third-party network: MockBrain is injected; a guard asserts brain.Name() == "offline mock".

Test command

go test -race -run 'TestNestConversationEndToEndMock' ./...

Blockers / unknowns

Uses B2/B3/B4 output as-is.

Epic: #2. Depends on: #11 ## Goal A single end-to-end test drives the whole loop with the offline mock brain and asserts the conversation shape, proving the nest works before any paid model is wired. ## Acceptance criteria — falsifiable tests 1. `TestNestConversationEndToEndMock` — Given a nest (owner + 2 mock crows), when posting request(@Hugin) -> Hugin claim -> Hugin deliver(@owner), then the log has exactly those 4 messages in order, kinds [request, claim, deliver, ...], replay via SSE matches byte-for-byte, and `crows run`/server state stays consistent. Assert on the recorded messages, not timing. Red now, green after. 2. The test asserts no third-party network: `MockBrain` is injected; a guard asserts `brain.Name() == "offline mock"`. ## Test command `go test -race -run 'TestNestConversationEndToEndMock' ./...` ## Blockers / unknowns Uses B2/B3/B4 output as-is.
Sign in to join this conversation.