M5 · A vs B · deterministic rubric
Compare
Streams POST /api/compare/stream. Lane A is the resident
brain; lane B defaults to OpenRouter via the H6 cost router. The rubric
scorer is deterministic fieldkit.eval.score_answer; thumbs-up
writes a human_prefs row but never mutates
rubric_scores.total (spec §4.3 separate-signal contract).