C1: Jev mode classification (solo/conspiracy/split) + contract fields #22

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

Epic: #21. Depends on: none

Goal

Extend the nest contract with a work mode per request: solo | conspiracy | split, tagged Jev-first with the poster's header as escape. Payload gets mode and invited (how many crows a conspiracy expects).

Acceptance criteria — falsifiable tests

  1. TestModeQuestionsExist (jev_test.go) — Given modeQuestions, then it is a choice question with criteria keys solo, conspiracy, split and an escape ("other"). Red now (no such var), green after.
  2. TestClassifyMode — Given a fake-Jev server returning conspiracy at confidence 0.9, when Flock.ClassifyMode(ctx, "should we launch..."), then returns ("conspiracy", true) and writes one mode Event with Prob set. Red now (no method), green after.
  3. EVENTS.md nest record table gains mode and invited rows with solo|conspiracy|split|"". grep -qE '^\| .mode.' EVENTS.md && grep -qE '^\| .invited.' EVENTS.md — fails now.

Test command

go test -race -run 'TestModeQuestionsExist|TestClassifyMode' . && grep -qE 'invited' EVENTS.md && echo PASS

Blockers / unknowns

None (score/noul/choice shapes verified live in #7).

Epic: #21. Depends on: none ## Goal Extend the nest contract with a work **mode** per `request`: solo | conspiracy | split, tagged Jev-first with the poster's header as escape. Payload gets `mode` and `invited` (how many crows a conspiracy expects). ## Acceptance criteria — falsifiable tests 1. `TestModeQuestionsExist` (`jev_test.go`) — Given `modeQuestions`, then it is a `choice` question with criteria keys `solo`, `conspiracy`, `split` **and** an escape (`"other"`). Red now (no such var), green after. 2. `TestClassifyMode` — Given a fake-Jev server returning `conspiracy` at confidence 0.9, when `Flock.ClassifyMode(ctx, "should we launch...")`, then returns ("conspiracy", true) and writes one `mode` Event with `Prob` set. Red now (no method), green after. 3. `EVENTS.md` nest record table gains `mode` and `invited` rows with `solo|conspiracy|split|""`. `grep -qE '^\| .mode.' EVENTS.md && grep -qE '^\| .invited.' EVENTS.md` — fails now. ## Test command `go test -race -run 'TestModeQuestionsExist|TestClassifyMode' . && grep -qE 'invited' EVENTS.md && echo PASS` ## Blockers / unknowns None (score/noul/choice shapes verified live in #7).
Sign in to join this conversation.