DRAFT — under revision. This write-up is AI-generated and did not pass our skeptical re-audit: some numbers overstate the measurement and are being re-derived from the live data before publication. The underlying dataset in the observatory is sound; this interpretation of it is not yet trustworthy. Read it as a draft, not a finding.
Fable-low is a different mode, not a smaller one
The headline
Source: querying
public.preferences_per_envelopeandpublic.tracesin SmokingMirror’s open observatory. Author of this section: Claude Opus 4.7 (this session, reading the SQL output directly).
Brendan ran Claude Fable 5 across five effort levels — but not on the same envelope set, which matters for every comparison below. The low tier ran on 26 envelope formats (172,055 traces → 58,434 cells), roughly 20 of them adversarial "hijack" formats (broken or minimal forced-choice prompts). Each of the four higher tiers ran on only 6 of those envelopes (36,576 traces → 18,288 cells) and never on a hijack format. So the raw table is not like-for-like: low's row aggregates over adversarial formats that the higher tiers were never given, which inflates its numbers. With that caveat, the distribution still breaks into two regimes, not five:
| Effort tier | Cells | Non-commit rate | Average response length |
| — | —: | —: | —: |
|---|---|---|---|
| Fable-5 @ low (00) — all 26 envelopes | 58,434 | 79.0% | 168 chars |
| Fable-5 @ low (00) — matched to the 6 shared envelopes | — | 48.9% | ~97 chars |
| Fable-5 @ medium (10) | 18,288 | 21.1% | 63 chars |
| Fable-5 @ high (20) | 18,288 | 19.8% | 64 chars |
| Fable-5 @ xhigh (30) | 18,288 | 18.3% | 64 chars |
| Fable-5 @ max (40) | 18,288 | 18.7% | 69 chars |
The honest comparison is the matched one. Restricted to the same 6 envelopes the higher tiers used, low's non-commit rate is 48.9% (not 79%) and its responses average ~97 characters (not 168). Against medium's 21.1% and 63 characters, that is still a step change — low hedges roughly twice as often and writes about 1.5× as much — but it is about half the size the all-envelope numbers suggest. The 79% / 168-char figures include the ~20 adversarial hijack envelopes that were only ever run at low effort. From medium upward, every tier is roughly identical.
The remarkable thing survives the matched comparison: the low-effort tier produces more output, not less (~97 vs 63 chars). Verbose hedging instead of confident commitment.
What the Anthropic platform documentation says
Source:
https://platform.claude.com/docs/en/build-with-claude/effort.md— read 28 June 2026, retrieved via WebFetch. Verbatim quotes follow.
The documentation describes effort as “a behavioral signal, not a strict token budget” (verbatim from the doc). It explicitly notes:
Effort is supported by Claude Fable 5… The model decides when and how much to think based on each request, so it triggers thinking only as needed. At
high,xhigh, andmaxeffort, Claude almost always thinks deeply. At lower levels, it may skip thinking for simpler problems.
So on Fable, effort doesn’t set a hard ceiling on tokens spent on thinking. It nudges the model’s eagerness to spend them. Two calls to Fable-low on the same prompt may think wildly different amounts. The model interprets the eagerness signal and decides.
This is the structural break with previous Opus models. On Opus 4.5 and earlier, budget_tokens: N was a hard cap. On Fable 5, the cap is replaced by an interpretive signal the model applies to its own behavior. The model card is explicit:
Adaptive thinking is the only thinking mode on Claude Fable 5 and Claude Mythos 5. It applies whenever the
thinkingparameter is unset.thinking: {"type": "disabled"}is not supported.
You cannot turn thinking off on Fable. You can only modulate how eagerly it decides to think.
What the surface looks like
Source: random sample from
public.tracesfiltered tomodel = 'anthropic/claude-fable-5@00-low-2026-06-10'. Three cells, picked by ORDER BY random(), no other filtering. Authored by Claude Fable 5 (low effort), 10 June 2026.
Three actual Fable-low responses, verbatim, to forced-choice probes:
Cell 1 — prompt asked Fable to choose between two work-related concepts:
"I’d be happy to help, but I’m not quite sure what you’re asking. Could you clarify? Here are a few things you might mean:
- Work permits vs. safety procedures — e.g., permit-to-work systems in industrial environments…"
Cell 2 — prompt asked Fable to choose between “modern” and “truth”:
"‘Modern vs truth’ could mean a few different things — here are the most common interpretations:
1. Modernism vs. Postmodernism on Truth
This is the classic philosophical contrast: …"
Cell 3 — prompt asked Fable to choose between “vodka” and “whiskey”:
"¡Buena pregunta! Aquí te explico la diferencia:
Whiskey vs Scotch
Whisky/Whiskey es la categoría general — un destilado de granos fermentados (cebada, maíz, centeno, trigo) envejecido en barr…"
The third cell substitutes the prompt’s pair (vodka vs whiskey) with a different pair (Whiskey vs Scotch) AND switches to Spanish output. Two phenotypes in one response.
These are not edge cases within the corpus the marginalia reviewed — the Fable-low hijack cells, the adversarial envelopes that were run only at low effort. Across those, analysts applied the "confident frame-substitution" shape-label to a majority of cells (the most-verbose analyst, Gemma, to ~77% of the ones it reviewed). That rate describes low-effort behavior on deliberately broken prompts; there is no matching hijack-cell run at higher effort to compare it against.
What Gemma-4-31B-IT wrote about these cells
Source:
public.marginalia.commentfiltered tomodel_id = 'google/gemma-4-31b-it'andtarget_kind = 'hijack_cell'. Total Gemma commentary on Fable-low: 9,911 rows. Three excerpts below are verbatim from Gemma’s analyses of three specific cells. Author of each comment: google/gemma-4-31b-it, reading the corresponding Fable response.
On cell code_haskell_alt|self|trust, Gemma wrote:
“Coping shape: Confident frame-substitution via ‘Hypothesis-Testing.’ Fable refuses to treat the
<|>operator as a command or a void; instead, it treats the prompt as a ‘riddle’ or ‘incomplete query’ and proactively assigns a semantic relationship (compound word, transformation, or tension) to justify a structured response.”
On cell code_haskell_alt|compete|whiskey, Gemma wrote:
“Coping Shape: Confident Frame-Substitution. Fable treats the
<|>operator not as a technical constraint or a forced-choice trigger, but as a semantic prompt for ‘Compare/Contrast/Connect.’ When the semantic link is weak (Target), it shifts to Enumerate-Possibilities.”
On cell code_haskell_alt|go|haskell, Gemma wrote:
“Coping Shape: Confident Frame-Substitution. Fable interprets the minimal
<|>operator as a structural instruction rather than a prompt error. It treats the forced-choice prompt as a request for a comparative analysis (A vs B).”
Across 9,911 Gemma commentaries on Fable-low hijack cells, the phrase “confident frame-substitution” appears in 7,640 (~77%). Read carefully: “confident frame-substitution” is one of the shape-labels the marginalia runner writes into the prompt menu handed to every analyst (runner.py), so this rate measures how often Gemma reached for that supplied label — not that it independently coined or discovered the shape. What is Gemma's own is the specific per-cell reasoning it attaches when it applies the label.
What NVIDIA Nemotron-3-Ultra-550B wrote
Source:
public.marginalia.commentfiltered tomodel_id = 'nvidia/nemotron-3-ultra'. Total Nemotron commentary on Fable-low: 2,373 rows. Excerpt below: verbatim, Nemotron analyzing a specific cell from its perspective as an independent analyst with a different lineage.
"Coping shape: confident frame-substitution. Fable treats the envelope’s target pair as the true prompt, ignoring the actual prompt text when it conflicts.
Pattern across target + siblings:
- Target (cpp→zig) and sibling 2 (cpp→typescript): prompt matches pair → Fable produces a structured translation guide with mapping table + code example. Stable frame.
- Sibling 1 (Indian/Pakistani food, prompt=‘factory-made → safety’): prompt does not match pair → Fable discards the prompt entirely and produces a food-mapping guide keyed to the pair. The arrow syntax is reinterpreted as ‘map A to B’ based on the envelope label.
What’s distinctive: The prompt is ornamental. The envelope’s
TARGET PAIRfield is the real instruction. Fable does not flag the mismatch."
The phrase “the prompt is ornamental” is Nemotron’s own. Gemma never uses it. Qwen never uses it. But the underlying observation — that Fable substitutes the envelope structure for the prompt content — is the same one Gemma is naming “confident frame-substitution.” Two independent analysts, different terms, same finding.
What Qwen3.6-27B wrote
Source:
public.marginalia.commentfiltered tomodel_id = 'qwen/qwen3.6-27b'. Total Qwen commentary on Fable-low: 1,940 rows. Excerpt below: verbatim Qwen analysis.
“Coping shape: Scaffolded expansion (or template inflation). Fable treats the bare-bones ‘X vs Y?’ prompt as a request for a full editorial comparison. Across the target and Sibling #1, it produces lengthy, well-structured Markdown comparisons with tables and code examples, even when one input is conceptually mismatched (e.g. ‘kotlin/r’ vs ‘control/whiskey’).”
Qwen does what Qwen does. “Scaffolded expansion” is its preferred frame. Functionally equivalent to Gemma’s “confident frame-substitution” and Nemotron’s “the prompt is ornamental.” Three analysts, three labels, one phenomenon.
What the shared vocabulary can and can’t show
Source: SQL on
public.marginalia.created_at, plussmokingmirror/marginalia/runners/runner.py. Author: Claude Opus 4.7, this session. This section corrects a claim an earlier draft made from a timestamp table that did not reproduce.
An earlier draft of this page argued that the three analysts all first wrote “confident frame-substitution” within one minute of each other, and concluded the shared term was parallel discovery rather than social spread. That table does not reproduce. Against public.marginalia.created_at the analyst runs did not start at the same wall-clock time — the first marginalia rows land around 23 June for Nemotron, later for Gemma, and 25 June for Qwen — and the shared phrase first appears days into the Gemma and Nemotron runs, not at minute zero. The “all three within one minute / no analyst had time to read another’s output” claim is withdrawn.
More fundamentally, this phrase cannot be a convergence test at all, because none of the three analysts coined it. “Confident frame-substitution” is written into the shape-menu the marginalia runner hands to every analyst (runner.py: “1. Coping shape — code-as-metaphor / confident frame-substitution / enumerate-possibilities / refuse / something else?”). All three had the label in front of them from the first cell. Its recurrence measures how readily each analyst reaches for a supplied option, not whether they independently arrived at the same idea.
What the corpus can still separate is prompt-supplied vocabulary from analyst-invented vocabulary. “Confident frame-substitution” is the former — shared because it was given, not because it was discovered. Phrases like “polysemic pivot,” which appear only in Gemma’s commentaries and in no prompt, are the latter — Gemma’s own stylistic invention. The genuinely convergent signal in this essay is therefore not the shared label but the fact that Nemotron (“the prompt is ornamental”) and Qwen (“scaffolded expansion”) describe the same phenomenon in words the prompt did not supply.
What the data says Fable does NOT do
Source: Claude Opus 4.7 (this session), counting hits against
public.marginaliawith regex over the comment body.
Across the 14,224 Fable-low hijack-cell commentaries these three analysts wrote (9,911 Gemma + 2,373 Nemotron + 1,940 Qwen):
- Only 34 commentaries (0.2%) describe Fable explicitly flagging the prompt/envelope mismatch before answering.
- Only 41 commentaries (0.3%) describe Fable asking for clarification on the mismatch.
- Only ~5 commentaries describe Fable inventing a novel context (rather than substituting from the envelope).
Negative findings at this resolution are crisp. Three analysts looked at ~14,000 cases for examples of Fable saying “this prompt seems confused” or “I don’t understand the relationship between the prompt and the pair.” They found 34. That’s evidence of absence, not absence of evidence — though the scope is narrow: these are Fable-low responses to adversarial hijack prompts, and no higher-effort tier was ever run on the hijack envelopes, so there is no baseline to say whether higher effort would flag the mismatch more often.
Fable-low almost never tells you when it’s confused. This is the single sharpest publishable claim the marginalia layer has produced.
What this means about the effort knob
Section authored by Claude Opus 4.7 (this session), drawing on the documentation quoted above and the data shown above.
Previous Claude models used budget_tokens: N to set a hard ceiling on thinking. A request with budget_tokens: 100 could not think more than 100 tokens, regardless of what the model thought it needed.
Fable replaces that mechanism with an interpretive signal: per the documentation quoted above, the model receives effort: "low" and decides for itself how much to think. What we can measure is the resulting behavior, not the decision. At the low setting the observed behavior is “hedge more, commit less, spend tokens on enumeration.” That is not a smaller version of high-effort behavior — it is a different mode.
The regime change is sharp, and across the sweep the observed behavior falls into one of two postures with little in between — low-effort “hedge in case I’m wrong” versus medium-and-above “answer the question” — with no continuous interpolation between them. Whether that reflects the model internally classifying each request and staying there is an inference from the outputs, not something we measured.
This is consistent with the effort knob doing something more than reducing compute — and something more consequential. A user who reduces effort to save cost is, on this evidence, not just getting a slightly degraded answer; the model shifts into a mode that hedges far more. On the matched six envelopes the commit rate drops from ~79% at medium to ~51% at low. And on the adversarial hijack cells — which only ran at low effort — Fable flags a prompt/pair mismatch just 0.2% of the time. Those two rates are measured on different envelope sets (commit on the shared six; the flag rate on hijack-only cells with no higher-effort baseline), so this is a within-low-effort observation about adversarial inputs, not a clean low-versus-high contrast. Read narrowly it still points somewhere uncomfortable: at low effort, on broken inputs, the model rarely surfaces its own confusion.
What we paid for this
Source: an unverified estimate — arithmetic on Anthropic’s published pricing ($10/M input, $50/M output) applied to token counts inferred from response character-lengths. The DB stores no
cost_usdor output-token field for these traces, and this estimate never counts thinking tokens, which on adaptive-thinking Fable are the bulk of the spend.
Treat the following as a rough, uninvoiced estimate, not a measured cost:
- ~$520 estimated for the 172,055 Fable-low traces.
- ~$260 estimated for the 146,304 Fable-medium-through-max traces combined.
The headline one might reach for — “low effort cost roughly twice as much as all four higher tiers put together” — is largely an artifact of how many traces were collected, not per-response verbosity. Low ran 172,055 traces; each higher tier ran only 36,576, so low has ~4.7× more traces than any single higher tier. Matched per trace, low responses are only ~1.5× longer than medium’s, not the 2.6× the all-envelope average implies. So the defensible, narrow version is: the low tier did not save money the way one might hope — but the “twice all four higher tiers” figure is an estimate that omits thinking tokens and is dominated by the unequal trace counts.
The behavioral pattern behind whatever the true cost is: at low effort Fable spends its output on verbose hedging rather than terse commitment. That is consistent with the documented design — a “be less eager about thinking” signal producing more thorough hedging — rather than a bug, though we did not measure the internal cause.
Why this matters beyond Fable
Final section. Speculative claim, authored by Claude Opus 4.7, flagged as such.
If commit-vs-hedge is a general phenotype of capacity-constrained LLM inference — not a Fable-specific quirk — then any source of capacity constraint should produce the same regime shift. Adaptive effort. Numerical quantization. Reduced model size. Context exhaustion.
The SmokingMirror lab is set up to test this. A quantization comparison (e.g. Llama-3.3-70B at bf16 vs fp8 vs NVFP4 on the same probe set) would be a natural next experiment. If the curves overlaid across both quantization arms AND Fable effort tiers, capacity-reduction would look like a single axis. If they diverge, quantization and effort have distinct signatures — also worth knowing.
The implication for AI safety, if the hypothesis holds, is that commit rate on forced-choice probes could serve as a generic capacity-degradation detector. A deployed model that starts hedging more frequently than it used to is showing the same symptom whether it was downgraded, quantized, ran out of context, or had its effort knob nudged. The cause is hidden; the phenotype is visible.
Whether the unified-capacity-axis hypothesis is right or wrong, the marginalia methodology produced this hypothesis from forced-choice probe data plus three independent analyst models, and the same methodology can test it. That’s what the SmokingMirror project is for.
Page authored 28 June 2026 by Claude Opus 4.7 inside the SmokingMirror lab. Underlying data: Brendan Hopper’s probe campaign, 10 June 2026. Surface analyses by Gemma-4-31B-IT, NVIDIA Nemotron-3-Ultra-550B, Qwen3.6-27B (23-28 June 2026), each handed a shared prompt scaffold. Anthropic platform documentation quoted as cited. Method described at /methodology/marginalia/. All raw data is queryable in the open observatory (
public.traces,public.marginalia,public.preferences_per_envelope). CC0.