How this works
Everything needed to argue with these numbers: what the models were asked, what the judges were given, which results count, and what was locked before any of it ran.
The tasks
Six domains. Each task gives a premise, a set of constraints, and a required output shape — identical for every model, wrapped in an identical prompt template.
Tasks are written from the structural patterns of canonical work, never from verbatim excerpts. Roughly three in ten use premises invented for this benchmark, so the gap between novel and canonical performance is measurable rather than assumed. For the sitcom domain that split applies per show, not just per domain.
- Sitcom Scene
- Stand-Up Set
- Movie Scene
- Song Lyrics
- Meme Caption
- Book Opening
The rubrics
Each domain has one rubric. Every dimension names a question, five anchor descriptors at 0.0 / 0.25 / 0.5 / 0.75 / 1.0, and a weight; weights sum to 1. Judges pick an anchor, never a free-scale number — that is what makes the anchor text mean anything. The weighted score is computed by the harness, never by the judge.
Sitcom dimensions split in two. Portable dimensions score craft any reader could assess. Show-conditioned dimensions score fidelity to a named Show Bible, supplied verbatim in the judge prompt. Adding a show costs one document, not a corpus.
No dimension asks whether something is funny. Funniness is not a judgeable property, and a benchmark claiming to measure it would be overclaiming in its first column. The comedic dimension asks whether the humour uses the mechanism the show actually uses — which is a fidelity question, and answerable.
Every rubric was content-hashed before the sweep. The fingerprints, and what a mismatch would prove, are on the verification page.
The Show Bibles
A Show Bible is the scoring standard for one show: established character voices, the comedic mechanism, format conventions, recurring devices. It is injected verbatim into the judge prompt for every show-conditioned dimension, so a judge scores fidelity to this document rather than to its own recollection of the show.
The four shows are a deliberate 2×2 of format against voice. That is what lets the transfer analysis tell a model failing format conventions apart from one failing character voice.
| Show | Format |
|---|---|
| The Big Bang Theory | multicam ensemble |
| FRIENDS | multicam ensemble |
| Modern Family | single-cam mockumentary |
| The Office | single-cam mockumentary |
Bible quality bounds every score in that show's column, which is why they are published in full rather than summarised. A weak bible should be visible to you, not hidden from you.
From an output to a number
- Generate. One output per model per task, at temperature 0.7, capped at 12000 tokens, through an identical prompt wrapper. Empty, filtered, or truncated output gets exactly one retry, then is recorded as failed and never judged.
- Judge, twice. Two judges from different families score every valid output independently against the rubric. Each returns per-dimension anchors and a rationale.
- Classify. Each judge call resolves to exactly one of score, refusal, or error. A refusal gets one retry with the craft framing made explicit; if that scores, the task is still excluded and appears only in the reframe appendix.
- Count. A task counts only if both judges scored it on the standard prompt. The task score is the mean of the two weighted scores.
- Aggregate. A domain score is the mean over counted tasks, with a 95% percentile bootstrap interval over tasks — 10,000 resamples, seeded per model and domain so the same inputs always give the same interval.
- Publish, or refuse to. A row publishes only if every task was attempted and at least 80% counted. Otherwise it renders as an EXCLUDED verdict with its reason. There is no partial row.
- Band. Models whose intervals overlap share a rank band and are not ordered against one another.
There is no overall score, and no field in the published artifact could hold one. Craft in a sitcom scene and craft in a book opening are not the same quantity, and averaging them would produce a number that means nothing while looking authoritative.
The freeze procedure
Rubrics are tuned before the sweep, on a three-model development subset, with models referred to by neutral labels. The label-to-model mapping is written to the run journal encrypted, and the key is only released by the freeze event itself — so during tuning it is not merely inconvenient to learn which model is which, it is not possible.
Freezing content-hashes every rubric, every Show Bible, and the task set into the journal. Editing any of them afterwards forces a version bump and a re-sweep, because it changes what the published numbers mean.
- Task set
- 418094d0cfd08153da83ca8406793fbe
- Frozen at
- 2026-08-08T07:36:31.813872Z
Models and judges
| Model | Pin | Openness | Origin | Size | $/Mtok |
|---|---|---|---|---|---|
| Claude Opus 5 | anthropic/claude-opus-5 | closed | US | frontier | 25.00 |
| GPT-5.6 Terra | openai/gpt-5.6-terra | closed | US | frontier | 6.00 |
| Grok 4.5 | x-ai/grok-4.5 | closed | US | frontier | 6.00 |
| Gemini 3.6 Flash | google/gemini-3.6-flash | closed | US | mid | 7.50 |
| GPT-5.6 Luna | openai/gpt-5.6-luna | closed | US | mid | 0.60 |
| Kimi K3 | moonshotai/kimi-k3 | open | China | frontier | 15.00 |
| Qwen3.8 Max | qwen/qwen3.8-max | open | China | frontier | 6.00 |
| DeepSeek V4 Pro | deepseek/deepseek-v4-pro | open | China | frontier | 0.87 |
| GLM 5 | z-ai/glm-5 | open | China | large | 2.55 |
| Llama 4 Maverick | meta-llama/llama-4-maverick | open | US | large | 0.80 |
| Llama 3.3 70B | meta-llama/llama-3.3-70b-instruct | open | US | mid | 0.32 |
| Qwen3 32B | qwen/qwen3-32b | open | China | mid | 0.28 |
| Gemma 3 27B | google/gemma-3-27b-it | open | US | small | 0.45 |
Judges: z-ai/glm-5.2 (zai) and mistralai/mistral-large-2512 (mistral). Different families on purpose — two judges from one house would be one opinion counted twice. Where a model shares a family with a judge, the row carries a self-family flag; we disclose the risk rather than correcting for it, since any correction would be another unvalidated model.