DawnBands · marksman brief · 2026-09-01

Same brief, seven models, one variable

Every lane got the identical 1,055-word system prompt and the same four unit briefs. The only thing that changed is which model wrote the prose. Scored by validate_native_copy.py — the same gate that runs before Fish reads anything.

Verdict

The metric this test was built around came back empty. Once sentences that echo the brief are excluded, cross-unit cloning is zero for five of seven lanes (DeepSeek V4 Flash 3, Gemini 3.7 Flash 1). The 9-01 defect, four units sharing one mechanism line, was the brief scripting that line, not a Claude prose attractor. About 22% of every model's sentences carry a five-word run from the brief. No model switch fixes that. Rewriting the scripted beats does.

On format compliance the order is clear. DeepSeek V4 Pro held the brief best: 3 of 4 units clean, 1 flag, grade 4.5, four units for three cents. Fable 5.1 next with 3 flags, all the same missing beat. Then Kimi K3 (5), Gemini 3.7 Flash (7, every unit over grade 6), GLM 5.3 Flash (8, one bad unit), DeepSeek V4 Flash (9, one line cloned three times). Sonnet 4.6 came last with 22: every unit 1,000 to 1,100 words against an 830 to 960 window, long sentences, grade 6.2.

Sonnet's number carries an asterisk. It ran through the API with an 8,000-token thinking budget after the CLI path looped on thinking-only turns, 15 to 40 minutes per attempt, five attempts, zero units. The 9-01 batch that earned the standing directive was CLI, unbounded thinking, plus 1,932 words of doctrine that a UserPromptSubmit hook injected without the brief knowing. Fable measures that injection directly: 4 of 4 clean with it, 1 of 4 clean without it. The hook is doing real work in the pipeline and nothing in the brief says so.

One beat every model drops. "Her way works", the line where the mother's own method has never failed, is missing from 17 of 28 units across every vendor. The validator requires it; the brief does not demand it in a way any model acts on. Brief problem, not model problem.

Recommendation. Do not change the Sonnet 4.6 directive on this evidence; the Sonnet lane here is not the configuration the directive was written against. Fix the brief first: de-script the objection and mechanism beats, move the doctrine injection out of the hook and into the brief where it is visible, and demand the "her way works" beat. Fix the CLI path: every pipeline claude -p call gets --setting-sources project --tools "" and a thinking budget, or moves to the API. DeepSeek V4 Pro is the one cheap model that held format and is worth reading as a second-opinion lane. Read it; do not switch on a validator score.

Scorecard

ModelUnitsCleanFlagsCloned GradeWordsSec4-unit cost
deepseek-v4-pro4/43104.5913$0.0330
fable-5.14/41304.6916406.0$0.6200
kimi-k34/41503.9965$0.1860
glm-5.3-flash4/42804.79271113.0$0.0039
gemini-3.7-flash4/40716.8894$0.0465
deepseek-v4-flash4/40933.8953$0.0032
sonnet-4.6-api directive model4/402206.21034102.0$0.1860

Cloned counts sentences a model reused across two of its own units, excluding offer-floor lines that are supposed to repeat. It is the metric that matters: it measures the model's prose attractor, which is the one defect a brief cannot fix. Flags are validator violations — largely instruction-following, fixable by editing the brief. Cost is list price for four units at 8k in / 1.5k out.

Method notes

Claude lanes were re-run clean. The first pass ran Sonnet 4.6 and Fable 5.1 through claude -p with user settings loaded. Two hooks fired inside every call (a 443-word rules block and a 1,932-word native-copy doctrine injection) and the global CLAUDE.md was auto-discovered. The model confirmed both were in context. Those lanes were therefore not writing from the same brief as the other five. Fix: --setting-sources project --tools "". Verified by the same self-report coming back negative. The four contaminated Fable units are kept in output/copy-bakeoff-2026-09-01-contaminated/ and are excluded from every number on this page. For the record they scored 4 of 4 clean, 0 flags, versus 1 of 4 clean and 3 flags for the clean re-run.

Sonnet 4.6 ran through OpenRouter (anthropic/claude-sonnet-4.6) with reasoning.max_tokens=8000, not the CLI. Under the CLI, clean config included, Sonnet emitted a thinking-only turn (45,000 characters, zero text) that the CLI auto-continued, and it started thinking again from zero. Five attempts across default and medium effort, 15 to 40 minutes each, produced no unit. Through the API with a hard thinking budget each unit took 92 to 128 seconds. This is the only lane with a thinking cap, and the only lane that did not run on the subscription; its four units cost about $0.19 metered. The 9-01 Sonnet batch was CLI with unbounded thinking, so this lane is not that configuration.

GLM 5.3 Flash unit F ran with reasoning.effort=medium after unbounded attempts burned the full 64k-token cap on reasoning with zero output (unit D needed three attempts and 51 minutes; unit S took 18). Units B, D and S are unbounded. No other OpenRouter lane had a reasoning bound. F finished in 34 seconds under the bound.

Latency column is populated only where a run log survived (Fable, GLM, Sonnet). The DeepSeek, Kimi and Gemini units were generated in a session that ended before its log was written; their timings are unknown, not fast.

Convergence excludes brief echo by five-word overlap. The three phrases every vendor converged on ("wakes the whole house", "out of his morning", "buzz on his wrist") each appear in all four unit briefs. Any sentence sharing a five-word run with the brief is excluded; that removes 8% (Gemini) to 24% (DeepSeek) of candidate sentences per lane, all of it brief material on inspection.

Two judge fixes were applied before final scoring and every lane was rescored. The British-spelling check was a suffix catch-all that flagged "raised", "promised" and "surprised"; it is now an explicit word list. The convergence check counted a survey verbatim that appears in the brief itself as a model clone; sentences present in the brief are now excluded.

GPT-5.5 was not run. The codex OAuth token could not refresh and the lane was skipped on Fish's call rather than routed through OpenRouter.

Cost column is list price per million tokens for four units at 8k in / 1.5k out. The two Claude lanes ran on the OAuth subscription, so their figures are what the same run would cost on the API, not what was spent.

At a glance

5 of 7
lanes with zero cross-unit clones once brief echo is excluded
3 / 4
DeepSeek V4 Pro clean units, best of the field, $0.03 per four
22
Sonnet 4.6 validator flags, worst of the field (API, 8k thinking budget)
4/4 → 1/4
Fable 5.1 clean units with the hook-injected doctrine vs without it
17 / 28
units missing the “her way works” beat, across every vendor
102 s
Sonnet median per unit via API; the CLI path never finished one

Side by side