Which LLM should classify your email? I ran six.
Every AI email tool picks a model for you and never shows its work. Klorn's eval set is committed to the repo and gated in CI, so instead of an opinion, here is a measurement: six current models, one classification job, identical prompt, identical decision rule.
The job is narrow on purpose. The model does not pick the folder or the priority. It scores four features per email — confidence, sender trust, reversibility, urgency — and a deterministic ~200-line rule maps those numbers to exactly one of five lanes. That split is what makes this benchmark possible at all: the model's task is small enough to measure.
| Model | Overall | Urgent recall | Silenced precision | $/M input | Gate |
|---|---|---|---|---|---|
| gpt-5.4 | 100.0% (56/56) | 13/13 | 100% | $2.50 | pass |
| gemini-3.5-flash | 98.2% | 13/13 | 100% | $1.50 | pass |
| gemini-2.5-flash (default pin) | 96.4% | 13/13 | 92.3% | $0.30 | pass |
| grok-4.3 | 94.6% | 12/13 | 100% | $1.25 | pass |
| claude-opus-4.8 | 91.1% | 10/13 | 100% | $5.00 | fail |
| claude-sonnet-5 | 80.4% | 5/13 | 100% | $2.00 | fail |
Three things in this table matter more than the ranking.
1. Price does not order the table
The $5.00/M model places fifth. The spread among frontier models — 19.6 points — is more than five times the gap between the best of them and a pin that costs eight times less. If you chose your model because it tops a general benchmark, you chose on a number that has nothing to do with this job.
2. The interesting failure has a mechanism
claude-sonnet-5 missed eight urgent emails. Seven of the eight failed on confidence, not urgency: it scored urgency 0.80–1.00 — correct — and then reported confidence 0.55–0.60, under the 0.70 bar the rule requires before interrupting you. It read the mail right and declined to say it was sure.
I can tell you that because the threshold is a number in a file. In a “model picks the label” design, the same result reads as “this model is worse at email,” which is both wrong and unfixable.
3. The floor held for every model
Across a 20-point accuracy spread, including two models that failed the gate outright, the number of urgent emails classified as hide-forever was zero — every miss degraded to the visible queue. That invariant is a unit test, not a hope. It is also the only line in this post that will still be true when the next model generation ships.
Which is the point. Two months ago this same set said a cheap model beat the frontier, and I repeated that claim in public. This run falsified it, so the claim is retired. The benchmark's job is not to crown a model — it is to make the choice re-runnable in one command when the ground shifts again:
JUDGE_MODEL=<any-openrouter-id> pnpm eval:judge
The eval set, the rule, the floors and the receipts pipeline are AGPL-3.0: github.com/k08200/klorn. Or skip the setup and point Klorn at your own inbox:
Try Klorn free