C3: Conspiracy invites + lens directives #24

Closed
opened 2026-10-28 11:07:51 +00:00 by jacisjake · 0 comments
jacisjake commented 2026-10-28 11:07:51 +00:00 (Migrated from github.com)

Epic: #21. Depends on: #22, #23

Goal

A conspiracy request invites N crows (N = min(guardrail cap, invited field, nest size)), each prompted with its own lens directive (from personas.go Prompt policy), so distinct strengths produce distinct readings. No @-mention needed; each invited crow is invoked once.

Acceptance criteria — falsifiable tests

  1. TestConspiracyInvitesDistinctLenses — Given nest(Hugin, Munin, Soot) + a scriptedBrain recording (system,prompt) pairs, when a conspiracy request arrives (mode conspiracy, no to), then exactly 3 prompts fire and each prompt contains only its own crow's persona text and that crow's name — and no two prompts are equal. Red now, green after.
  2. TestConspiracyInviteCapped — Given a nest with 8 crows and a conspiracy asking for 4 (via invited), then exactly min(4, MurderSize=3) = 3 prompts fire (the cap is MurderSize until a dedicated MaxConspiracy exists; the test asserts 3 with DefaultGuardrails). Red now, green after.
  3. The conspiracy system prompt line ("you are one lens among several; answer from your strength, not the flock's consensus") appears in every invited prompt: assert strings.Contains. Red now, green after.

Test command

go test -race -run 'TestConspiracyInvites' .

Blockers / unknowns

Reuse respondToRequest's KIND contract so each lens still answers deliver/claim.

Epic: #21. Depends on: #22, #23 ## Goal A `conspiracy` request invites N crows (N = min(guardrail cap, invited field, nest size)), each prompted with its **own lens directive** (from `personas.go` Prompt policy), so distinct strengths produce distinct readings. No @-mention needed; each invited crow is invoked once. ## Acceptance criteria — falsifiable tests 1. `TestConspiracyInvitesDistinctLenses` — Given nest(Hugin, Munin, Soot) + a scriptedBrain recording (system,prompt) pairs, when a conspiracy request arrives (mode conspiracy, no `to`), then exactly 3 prompts fire and each prompt contains only its own crow's persona text and that crow's name — and no two prompts are equal. Red now, green after. 2. `TestConspiracyInviteCapped` — Given a nest with 8 crows and a conspiracy asking for 4 (via `invited`), then exactly min(4, MurderSize=3) = 3 prompts fire (the cap is `MurderSize` until a dedicated `MaxConspiracy` exists; the test asserts 3 with DefaultGuardrails). Red now, green after. 3. The `conspiracy` system prompt line ("you are one lens among several; answer from your strength, not the flock's consensus") appears in every invited prompt: assert `strings.Contains`. Red now, green after. ## Test command `go test -race -run 'TestConspiracyInvites' .` ## Blockers / unknowns Reuse `respondToRequest`'s KIND contract so each lens still answers deliver/claim.
Sign in to join this conversation.