T2 diamond · engineering / model selection: threeinfer.model:seats fan out the SAME question in parallel; anika:jqfan-in builds a markdown table from measured facts — each answer’s latency comes fromtasks.X.duration_ms, the run’s own clock. No judge model, no scores: the table states facts, the quality call stays yours.
The job
Picking a default model by vibes is how you end up paying for quality you don’t need — or shipping answers a smaller model would have matched. This workflow is the bench you run BEFORE deciding: same prompt, three seats, one report on disk that you can diff run over run.The shape
The file
t2-model-bench.nika.yaml
Two findings the bench surfaced on its own authoring run
Both were caught live while writing this example — they are what the bench is FOR:- A thinking model with a bounded
max_tokenscan return an empty answer — it spends the whole budget reasoning before a single output token. The row reads0 chars: that is a bench result, not a bug. Seatollama/qwen3.5:4band reproduce it on your machine. - On a
--resume, rehydrated rows saycached— a latency that was not re-measured is never re-printed as a fresh number. The report stays honest across resumes.
Run it
This workflow is newer than the currently shipped engine pack:
nika examples run showcase/t2-model-bench says unknown example
until the next engine tag re-vendors the pack. Until then, run it
from the spec checkout as above — the file is the same one the pack
will embed, sha-pinned in the spec manifest.mistral/…,
anthropic/… or openai/… to bench a cloud contender against your
local incumbents (the cost column of nika check starts telling the
price story the moment a priced model enters).