⚠ working notes — what we've learnt so far · updated 12 July 2026 difficulty–response curves

Finding 5 · Traces: the thinking you pay for but rarely see

5

Traces: the thinking you pay for but rarely see

A reasoning model doesn't just answer. First it fills a private scratchpad — often ten to forty thousand words of trying things, checking clauses, muttering "wait" — and then writes the short answer you see. That scratchpad is called a trace. Every word of it lands on your bill. Whether the words themselves are handed back to you is, it turns out, a lottery decided by the pipe.

THINKING · 14,000 words (you pay for every one) ANSWER: x1=T… THE ANSWER · 20 words it's around here somewhere…
Fig. T5a — what a reasoning model actually produces. You are billed by the pile, not the sticky note.

Here is a real slice of one, from DeepSeek-R1 solving one of our puzzles (we hold ~130 of these in full):

…so we need x8 to be T for the clause to be true. So x8 must be T. Similarly, clause 47: (NOT x8 OR NOT x5 OR x4), x5 T, so NOT x8 OR x4 must be true? Wait. (NOT x8 OR NOT x5 OR x4), x5 T, NOT x5 F, so NOT x8 OR x4 must be true…

Now the lottery. Ask three different companies for the scratchpad and you get three very different experiences at the counter:

DEEPSEEK · QWEN · MINIMAX OPENAI CLAUDE "everything. even the typos." SHREDDER RECEIPT: 14,373 tokens "you had to be there." direct: full pile OpenRouter: side window TrustedRouter: bin (billed anyway) same product. three counters. measured numbers in the table below.
Fig. T5b — trace delivery in practice. The open models hand it all over; OpenAI shreds it and gives you the count (on every route, including their own); Claude's depends entirely on which door you knock at.
The receipts — billed thinking vs delivered text, measured from our own calls
modelroutebilled tok/calldeliveredverdict
minimax-m2.5TrustedRouter → parasail 29,23477%full trace delivered
deepseek-r1-0528TrustedRouter → novita 13,79963%full trace delivered
qwen3-235b-a22b-thinking-2507TrustedRouter → novita 19,52161%full trace delivered
claude-haiku-4.5TrustedRouter → Anthropic Messages (native) 6,8176%mostly withheld
claude-fable-5TrustedRouter → Anthropic (chat translation) 11,1693%mostly withheld
claude-fable-5OpenRouter → Anthropic 35,9081%count only — text withheld
gpt-5.5TrustedRouter → OpenAI 9,3300%count only — text withheld
o4-miniTrustedRouter → OpenAI 9,9660%count only — text withheld
gpt-5.5OpenRouter → OpenAI 22,8330%count only — text withheld
gpt-oss-120bTrustedRouter → cerebras 13,8380%count only — text withheld
gpt-oss-120bTrustedRouter → novita 12,9320%count only — text withheld
gpt-oss-20bTrustedRouter → novita 19,4810%count only — text withheld
minimax-m2.5TrustedRouter → novita 25,5380%count only — text withheld
gpt-oss-20bTrustedRouter → parasail 28,3950%count only — text withheld

The strangest row is gpt-oss: those models are open weights and emit reasoning by design, yet every serving stack we used strips it. Open weights ≠ open traces.

And the payoff question: where you do get the scratchpad, is reading it better than counting it? Yes — because of what stress sounds like:

the cliff x1=T, x2=F, x3=T… done ✓ easy: steady work wait, try x3… wait, try x3… wait, try x3… loops = it is AT the wall …reconsidering clause 197 from first principles… (word 31,000) past it: the long doomed monologue
Fig. T5c — what we measured in the traces. Repetition ("wait, try x3…" on loop) spikes exactly at each model's breaking point (within 0.5 dial units for R1, dead-on for Qwen); sheer length peaks well past it (+1.4 to +1.8). MiniMax is the exception that proves it: its giant scratchpads barely repeat — that's genuine search, not circling.

Working conclusion: count tokens to find the cliff anywhere; listen for the stutter to find it precisely — on the rare pipes that let you listen at all.

"The rare pipes that let you" is doing a lot of work in that sentence. Time to talk about the pipes.