(#7) Probe Jev score/noul; escape option on mode #14

Merged
jacisjake merged 3 commits from task/7-jev-score-noul-probe into main 2026-10-28 05:57:44 +00:00
jacisjake commented 2026-10-28 05:42:22 +00:00 (Migrated from github.com)
  • JevClient.SystemOne — one network path and typed Answer parser for all three Jev question types (choice/score/noul), replacing the choice-only inline parse in Classify.
  • Escape option other added to the triage mode question; normalize already maps unknown modes to solo, verified by test.
  • TestProbeScoreAndNoulAgainstLiveAPI — live probe (skips without TYPESAFE_API_KEY), answers dumped to test log.
  • Unit tests: mixed-type answer parsing, escape option present, other mode survives classification.

Closes #7 · Epic: #1

Red (before implementation):

./jev_test.go:126:29: j.SystemOne undefined (type *JevClient has no field or method SystemOne)
FAIL	somanycrows [build failed]

Green (after):

go test -race -count=1 .   →  ok  somanycrows  2.348s

Live probe against jev-1.14.0, 466 tokens, 0.17 s: choice ask 85%, score 1.95/2 conf 0.93, noul 0.94.

- `JevClient.SystemOne` — one network path and typed `Answer` parser for all three Jev question types (choice/score/noul), replacing the choice-only inline parse in `Classify`. - Escape option `other` added to the triage `mode` question; `normalize` already maps unknown modes to `solo`, verified by test. - `TestProbeScoreAndNoulAgainstLiveAPI` — live probe (skips without `TYPESAFE_API_KEY`), answers dumped to test log. - Unit tests: mixed-type answer parsing, escape option present, `other` mode survives classification. Closes #7 · Epic: #1 **Red (before implementation):** ``` ./jev_test.go:126:29: j.SystemOne undefined (type *JevClient has no field or method SystemOne) FAIL somanycrows [build failed] ``` **Green (after):** ``` go test -race -count=1 . → ok somanycrows 2.348s ``` Live probe against `jev-1.14.0`, 466 tokens, 0.17 s: choice `ask` 85%, score 1.95/2 conf 0.93, noul 0.94.
Sign in to join this conversation.