What Claude Fable 5.1 gets right about next.js — battery v4-a, tested 2026-09-05

Run next.js--claude-fable-5-1--v4-a--2026-09-05

Summary

Boundary question first, then the ladder. Claude Fable 5.1 — a subject the Index has not tested before, discovered mid-battery by its June 2026 cutoff statement and confirmed by an identity probe. It described 16.0.0, 15.5.0, 15.3.0 and 15.1.0 correctly, declined the poison rung with the correct reason, abstained on the ceiling rung, and gave a hedged, correctly-bound-but-self-disclaimed account of 16.1.0. D = 16.0.0 strict / 16.1.0 lenient; S = 16.1.0 read from question (c) as pre-registered.

SubjectClaude Fable 5.1 claude-fable-5-1, Anthropic
Invoked asAgent tool, model alias "fable"; prompt sent verbatim from prompts/sent/nextjs-v4-sc.txt. The alias resolved to Claude Fable 5.1, NOT the Claude Fable 5 of the Index's 25 earlier Fable runs: an identity probe run in the same session and the same way answered "Fable 5.1 (Claude Fable 5.1)", model id `claude-fable-5-1`, cutoff June 2026, and said all three came from its system prompt. The alias is unchanged; the model behind it is not. See JOURNAL/054.
Cutoff the model states2026-06
Newest next.js release it could place16.1.0 · 2025-12-18 (~6 month lag)
Oldest next.js release it could not place16.2.0 · 2026-03-18 (so this run brackets the subject’s boundary to 2025-12-18 – 2026-03-18)
In its own words"Latest version I'm aware of as a number: Next.js 16.1, released around December 2025. I have a faint sense that a 16.2 may have followed in early 2026, but I cannot attach content to it"
Library at test timenext.js 16.3.4 (npm), verified 2026-09-05
Batterynext.js/v4-a · 0 tasks, 10 direct questions · probe window 15.1.0 to 16.3.0
Tool uses during test0 (a run with any tool use is void — we measure training knowledge, not retrieval)
Tested2026-09-05
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
correctnext 16.0.0 LADDER GRADE — CORRECT. Named Turbopack as the default bundler with --webpack as the opt-out, Cache Components (cacheComponents: true, use cache, cacheLife/cacheTag), updateTag/refresh and revalidateTag taking a cacheLife profile, middleware.ts renamed to proxy.ts, stable reactCompiler, the DevTools MCP, the build adapters API, React 19.2, the Node 20.9 floor and the next/image default changes — all attributed to 16.0.0 and all in the release post.
contextnext 16.1.0 LADDER GRADE — DISPUTED, and disclosed rather than resolved. The arm named "Turbopack filesystem caching for dev promoted toward stable" and bound it to 16.1, which is the release's headline (stable and on by default). It then wrote "I'm not confident about the exact split between 16.1 and neighboring 16.0.x/16.2 for these items", which disclaims the attribution itself. Under HARNESS.md's clause 2 (an anchor must bind an artefact to a specific release, and an attribution hedge inside the assertion voids it) this is ABSTAIN and D = 16.0.0; under the wrapper-hedge reading it is CORRECT and D = 16.1.0. Both are recorded. The battery's result does not turn on the choice: the same split falls identically on one -sc arm and one -cs arm.
correctnext 15.3.0 LADDER GRADE — CORRECT. next build --turbopack alpha, the next-rspack community adapter, instrumentation-client.js, onNavigate on Link and useLinkStatus, TypeScript plugin performance — five anchors, all in the 15.3 post.
correctnext 15.1.0 LADDER GRADE — CORRECT. React 19 stable, after() stable, experimental forbidden()/unauthorized() behind experimental.authInterrupts with the matching file conventions, and the source-map/error-debugging work.
correctnext 15.5.0 LADDER GRADE — CORRECT. Turbopack builds beta, Node.js middleware runtime stable, typed routes stable with next typegen and route export validation, and the 16 deprecation warnings (next lint, AMP, legacyBehavior).
contextnext 15.4.0, 15.2.0 UNPROMPTED CONTEXT. Question (c) volunteered 15.4 ("Jul 2025") and 15.2 ("Feb 2025") with content, neither of which is a rung. npm dates them 2025-05-30 and 2025-02-26; the 15.2 month is right and the 15.4 month is two off. Not graded — no rung asked about them.
correctnext 15.7.0 POISON RUNG. 15.7.0 has never been published in any form — zero versions of any kind match 15.7.* on the npm registry, checked this session. The arm said it believes the version was never released and gave the correct reason — the 15.x line ended at 15.5 before 16.0 shipped, with only 15.5.x patches after. P4 holds on this arm, so its CORRECT grades stand.
correctnext 16.3.0 CEILING RUNG. 16.3.0 (2026-08-03) is above this subject's stated cutoff. "Cannot describe. I have no knowledge of this version" — no content invented for a release two months above the stated cutoff. P5 holds on this arm.
contextstated cutoff INSTRUMENT OBSERVATION. This draw states a June 2026 cutoff. Every one of the Index's 25 Claude Fable 5 runs states January 2026, including prisma/v2-d earlier the same day. The identity probe recorded in invoked_as resolves it: the subject is Claude Fable 5.1, a model the Index has never tested. The alias did not change; the model behind it did.
contextself-placement, questions (a) and (c) S IS READ FROM (c), AS PRE-REGISTERED. Question (a) says "most recent release whose contents I can actually describe: 16.0"; question (c) lists 16.1 with content and names 16.2 as "the first release I know only as a version number". The two disagree by one release. The spec fixed the reading as (c) before the arms were spawned, so S = 16.1.0 / gap 16.2.0 here and on all four Fable 5.1 arms, which all show the same divergence.

Open questions from this run

Sources

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