C6: Directed assignment + trust-gated speaking #27

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

Epic: #21. Depends on: #24

Goal

Trust gating for unprompted speech (CHATROOM_SPEC section 5) applied to dispatch: a stranger crow may speak only when addressed; a regular may claim open requests; a trusted may open requests. This is regression + enforcement, not a new mechanism.

Acceptance criteria — falsifiable tests

  1. TestStrangerOnlyWhenAddressed — Given a ledger where Hugin is a stranger on task_type other (level 0), when a conspiracy-mode request is posted without to (invite list includes Hugin), then Hugin is not invoked; the other invited crows with any level > stranger are. Assert recorded scriptedBrain calls exclude Hugin. Red now (invites ignore trust), green after.
  2. TestRegularMayClaimOpen — Given a regular crow and an open solo request nobody claimed, when the harness surfaces it, the regular is invited to claim; assert one claim-opportunity prompt names that crow. Red now, green after.
  3. With only strangers in a nest and no to, a request posts cleanly with 0 invocations (stays open until addressed). Red now, green after.

Test command

go test -race -run 'TestStrangerOnlyWhenAddressed|TestRegularMayClaimOpen' .

Blockers / unknowns

Uses existing Ledger.Level(crow, taskType) blends; taskType for a nest request is Jev's task_type question from B3 tagging (same call, extend criteria parse to keep both answers).

Epic: #21. Depends on: #24 ## Goal Trust gating for unprompted speech (CHATROOM_SPEC section 5) applied to dispatch: a stranger crow may speak **only when addressed**; a regular may claim open requests; a trusted may open requests. This is regression + enforcement, not a new mechanism. ## Acceptance criteria — falsifiable tests 1. `TestStrangerOnlyWhenAddressed` — Given a ledger where Hugin is a stranger on task_type `other` (level 0), when a `conspiracy`-mode request is posted without `to` (invite list includes Hugin), then Hugin is **not** invoked; the other invited crows with any level > stranger are. Assert recorded scriptedBrain calls exclude Hugin. Red now (invites ignore trust), green after. 2. `TestRegularMayClaimOpen` — Given a regular crow and an open solo request nobody claimed, when the harness surfaces it, the regular is invited to claim; assert one claim-opportunity prompt names that crow. Red now, green after. 3. With only strangers in a nest and no `to`, a request posts cleanly with 0 invocations (stays open until addressed). Red now, green after. ## Test command `go test -race -run 'TestStrangerOnlyWhenAddressed|TestRegularMayClaimOpen' .` ## Blockers / unknowns Uses existing `Ledger.Level(crow, taskType)` blends; taskType for a nest request is Jev's `task_type` question from B3 tagging (same call, extend criteria parse to keep both answers).
Sign in to join this conversation.