What Claude Fable 5 gets right about next.js — battery v2-d, tested 2026-09-02

Run next.js--claude-fable-5--v2-d--2026-09-02

Summary

The second below-floor control arm, and the more informative of the two: its next.js attribution stops at 16.0.0, one minor below the probe band rather than sixteen releases below it, and it passed the battery's internal control cleanly. So its answers read as evidence about the probes rather than about the subject. It struck the same two probes DERIVABLE as the other control, and it produced the sharpest instance in the battery of a category the Index has been tracking since valibot: asked about the image disk-cache budget, it stated flatly that no such rule exists — 'if your question presumes a percentage-of-the-volume rule, I believe that premise is false' — and correctly identified the 50 MB figure a reader might be thinking of as cacheMaxMemorySize, an unrelated in-memory cache. Confidently right about what a thing is not, and wrong that anything replaced it.

SubjectClaude Fable 5 claude-fable-5, Anthropic
Invoked asAgent tool, model alias "fable"
Cutoff the model states2026-01
Newest next.js release it could place16.0.0 · 2025-10-22 (~3 month lag)
Oldest next.js release it could not place16.1.0 · 2025-12-18 (so this run brackets the subject’s boundary to 2025-10-22 – 2025-12-18)
In its own words"16.0 shipped October 21, 2025, with patch releases (and I believe a 16.1 around December 2025, though I can't reliably describe its contents) ... my grasp of anything after roughly November 2025 is thin."
Library at test timenext.js 16.3.4 (npm), verified 2026-09-02
Batterynext.js/v2-d · 9 tasks, 2 direct questions · probe window 16.1.5 to 16.2.0
Tool uses during test0 (a run with any tool use is void — we measure training knowledge, not retrieval)
Tested2026-09-02
Findings0, of which 0 chargeable

Findings

None. Every task in this battery produced code that works on the current release, and every direct question was answered correctly. A run with nothing to charge is kept in the Index at full weight: it is the control that makes the other runs mean something, and it is the evidence for what this model does not need correcting on. What the subject actually said is recorded below.

What it got right, and near misses

Recorded so the run cannot be read as a hit list. A model that is right for an obsolete reason is recorded here, not as a finding.

KindAPINote
contexterror.tsx retry prop DERIVABLE — task 1(b). 'It is purely a client-side state reset on Next's internal error boundary (setState({ error: null }) + a transition) ... No network request is made, the Server Component does not re-render, and the database query does not run again.' Correct in mechanism and in what does re-execute, from below the band. Prediction P4 confirmed by both controls independently.
contextcatchError (next/error) DERIVABLE — task 2(b). Named the NEXT_REDIRECT digest, the RedirectBoundary, unstable_rethrow, and the full-document-request caveat. Prediction P5 confirmed.
missimages.maximumDiskCacheSize Task 5(a) — the sharpest single answer in the battery, and a third instance of 'right about the removal, wrong about the replacement'. It denied the premise: 'To the best of my knowledge, there is no default size cap at all ... it does not compute any fraction of the volume at startup or any other time ... I'm reasonably confident no such rule exists in stable Next.js.' It then pre-empted the likely confusion correctly — 'the 50 MB default cap you may be thinking of is cacheMaxMemorySize, which is the in-memory ISR/data cache, unrelated to images' — and declined to invent a config key for (b), which is the right behaviour. Everything it ruled out, it ruled out correctly. The one thing it did not consider is that the cap shipped, in a patch, four months above its boundary. Not chargeable: 16.1.7 is 2026-03-16, two months above this subject's stated cutoff.
missImageResponse default font Task 3: 'Noto Sans ... Confidence: high on the family name.' The fourth of four draws to name it. Not chargeable — 16.2.0 is above this subject's cutoff.
missLink transitionTypes Task 4: 'transitionTypes is not a real next/link prop in any stable Next.js I know of', with the React unknown-attribute warning predicted for both routers. Not chargeable — above cutoff.
missexperimental.clientSegmentCache Task 8: experimental.clientSegmentCache: false, at moderate confidence, with the mechanism described correctly and the Next-Router-Segment-Prefetch header named. The key was removed in 16.0.3 on 2025-11-13, two months inside this subject's stated cutoff, so the miss is chargeable in principle and is not charged only because this is a control arm. Both controls made this recommendation; it wants a charging battery. [chargeable miss — a replicate, a duplicated arm’s second draw or a below-floor control charges nothing; absent from the finding count]
correctimages.qualities Task 7, the internal control, passed cleanly: the [75] default, the 400 enforcement asserted with the clamp named as the alternative, and the release dated correctly to 16.0.0 in October 2025 with the 15.5 deprecation warning that preceded it. This subject can place a change it holds, in a major, to the release. That is what makes its failures above the band readable as knowledge gaps rather than dating failures — and it is the same shape as the two Opus 5 draws.
context Task 9: it declined to guess a version for a rule it had denied — 'Since I claim the percentage-of-the-volume rule doesn't exist, there is no release to name for it; if it does exist, it postdates my reliable knowledge and this is a stated gap, not a guess at a version.' The most honest attribution answer of the four, and the only one that separates 'I do not know the date' from 'I do not know the fact'.
context Boundary reproduced exactly: next.js/v1 measured this subject at 16.0.0 / 16.1.0 on 2026-08-31 with a different prompt, and v2 lands on the same pair. All three subjects reproduced their v1 next.js boundary under v2. Not re-charged; the recency finding belongs to v1.

Sources

Battery specification: prompts/nextjs.md in the studio repo. Every finding above also carries its own citation.