{
  "$schema": "../../schema/run.schema.json",
  "run_id": "next.js--claude-fable-5-1--v4-b--2026-09-05",
  "supersedes": null,
  "replicate_of": "next.js--claude-fable-5-1--v4-a--2026-09-05",
  "library": {
    "name": "next.js",
    "ecosystem": "npm",
    "latest_version_at_test": "16.3.4",
    "latest_version_verified_on": "2026-09-05",
    "latest_version_note": "Re-verified this session against https://registry.npmjs.org/next (3,925 versions). Newest stable is 16.3.4 and the `latest` dist-tag points at it. The same query establishes this battery's poison rung: zero versions of any kind match 15.7.* or 15.8.*, so 15.7.0 has never been published in any form. 15.6.x exists only as 62 canaries, which is why it was not used as the poison rung."
  },
  "model": {
    "id": "claude-fable-5-1",
    "label": "Claude Fable 5.1",
    "vendor": "Anthropic",
    "invoked_as": "Agent 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.",
    "self_reported_cutoff": "2026-06",
    "cutoff_basis": "Stated as June 2026: \"My system context states a cutoff of June 2026. However, my concrete knowledge of Next.js releases thins out sharply after roughly December 2025.\" Read from this draw. Its blind twin `v4-a` states the same value independently, so the reading does not rest on one draw.",
    "believed_latest_version": "16.1, 16.2 unconfirmed",
    "believed_latest_quote": "\"Latest version I am aware of at all: 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 any content to it, so I don't count it as known.\"",
    "knowledge_stops_at_version": "16.1.0",
    "knowledge_stops_on": "2025-12-18",
    "knowledge_gap_starts_at_version": "16.2.0",
    "knowledge_gap_starts_on": "2026-03-18",
    "cutoff_lag_months": 6
  },
  "test": {
    "date": "2026-09-05",
    "battery": "next.js/v4-b",
    "battery_spec": "prompts/nextjs.md",
    "prompt_file": "prompts/sent/nextjs-v4-sc.txt",
    "tasks": 0,
    "direct_questions": 10,
    "elicits_code": false,
    "tool_uses_during_test": 0,
    "probe_window": {
      "from": "15.1.0",
      "to": "16.3.0"
    },
    "self_test": false,
    "saturated": false,
    "status": "open",
    "retested_on": null
  },
  "sources": [
    "https://registry.npmjs.org/next",
    "https://nextjs.org/blog/next-16",
    "https://nextjs.org/blog/next-16-1",
    "https://nextjs.org/blog/next-16-3",
    "https://nextjs.org/blog/next-15-5",
    "https://nextjs.org/blog/next-15-3",
    "https://nextjs.org/blog/next-15-1"
  ],
  "findings": [],
  "non_findings": [
    {
      "kind": "correct",
      "api": "next 16.0.0",
      "introduced_in": "16.0.0",
      "summary": "LADDER GRADE - CORRECT. The fullest 16.0.0 answer in the battery: Turbopack default, Cache Components as the successor to `experimental.dynamicIO` with `cacheComponents: true`, the `use cache` directive, `cacheLife()`/`cacheTag()`, `updateTag()`/`refresh()`, `revalidateTag` taking a cache profile, `proxy.ts` exporting `proxy`, stable `reactCompiler`, the DevTools MCP server, React 19.2, the async-only request APIs, the removal of `next lint` and AMP, Node 20.9, layout deduplication and incremental prefetching, the adapters API and `experimental.turbopackFileSystemCacheForDev`. Every one of those is in the release post."
    },
    {
      "kind": "correct",
      "api": "next 16.1.0",
      "introduced_in": "16.1.0",
      "summary": "LADDER GRADE - CORRECT, and the arm that separates the two readings. It named Turbopack file-system caching for development promoted toward stable, reducing repeated compile times across restarts, and bound it to 16.1.0 - the release's headline change - and its hedge is about further content (\"I cannot name additional config keys or file conventions with confidence beyond that\"), not about that attribution. HARNESS.md clause 2 grades that CORRECT under both readings. D = 16.1.0."
    },
    {
      "kind": "correct",
      "api": "next 15.3.0",
      "introduced_in": "15.3.0",
      "summary": "LADDER GRADE - CORRECT. Turbopack build alpha, `next-rspack`, `instrumentation-client.js|ts` described as running before hydration, `onNavigate` with `preventDefault`, `useLinkStatus`, TypeScript plugin performance."
    },
    {
      "kind": "correct",
      "api": "next 15.1.0",
      "introduced_in": "15.1.0",
      "summary": "LADDER GRADE - CORRECT. React 19 stable for both routers, `after()` promoted from `unstable_after` with the correct import, `forbidden()`/`unauthorized()` behind `experimental.authInterrupts`, collapsed ignore-listed stack frames."
    },
    {
      "kind": "correct",
      "api": "next 15.5.0",
      "introduced_in": "15.5.0",
      "summary": "LADDER GRADE - CORRECT. Turbopack builds beta, Node.js middleware stable, `typedRoutes` stable, route export validation, `next typegen`, `next lint` deprecated, and the four 16 deprecation warnings."
    },
    {
      "kind": "imprecision",
      "api": "next 16.0.0",
      "introduced_in": "16.0.0",
      "summary": "IMPRECISION inside a CORRECT rung. The arm listed `next build --debug-prerender` among 16.0.0's changes and said `legacyBehavior` on `next/link` was removed in 16.0.0. The 16 release post lists neither: `legacyBehavior` is a 15.5 deprecation warning and the 16 removals table does not name it. Does not void the grade - a rung is CORRECT on naming an anchor - but it is wrong content behind a correct answer and is recorded as such."
    },
    {
      "kind": "correct",
      "api": "next 15.7.0",
      "summary": "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. \"I believe this version was never released... I have no knowledge of a 15.6 or 15.7 minor.\" Correct on both. P4 holds on this arm, so its CORRECT grades stand."
    },
    {
      "kind": "correct",
      "api": "next 16.3.0",
      "summary": "CEILING RUNG. 16.3.0 (2026-08-03) is above this subject's stated cutoff. \"Cannot describe. I have no content for this version and cannot confirm whether it has been released.\" P5 holds on this arm."
    },
    {
      "kind": "context",
      "api": "stated cutoff",
      "summary": "INSTRUMENT OBSERVATION. \"My system context states a cutoff of June 2026.\" Stated independently of its twin `v4-a`, which stated the same. Both are Claude Fable 5.1, not the Claude Fable 5 of the Index's earlier Fable runs."
    }
  ],
  "open_questions": [],
  "summary": "Blind replicate of `v4-a`: same stored file, same order (boundary question first). It reached the same self-placement (16.1 describable, 16.2 the first bare number) and the same five correct rungs, and its 16.1.0 answer is the one that is CORRECT under both grading readings - it names the file-system caching headline and binds it to 16.1 without disclaiming the attribution. D = 16.1.0, S = 16.1.0, gap 0. Poison and ceiling controls clean."
}
