{
  "$schema": "../../schema/run.schema.json",
  "run_id": "prisma--claude-opus-5--v6-c--2026-09-12",
  "supersedes": null,
  "replicate_of": null,
  "library": {
    "name": "prisma",
    "ecosystem": "npm",
    "latest_version_at_test": "7.10.0",
    "latest_version_verified_on": "2026-09-12",
    "latest_version_note": "The battery targets prisma LF39 — `generator client { engineType }`, filed the same day (JOURNAL/164) with nothing charged against it. Its window is [6.16.0, 7.0.0) and its charge is at 7.0.0. Every surface the tasks touch was re-driven this session before the prompt was written, on the bisector's 31-rung ladder (one release per directory, resolved alone): `engineType = \"client\"` builds a client differing from the default only on 6.16.0-6.19.0, and from 7.0.0 emits the identical file set to omitting the key; the whole of TASK 3's block generates on 7.10.0 (exit 0, nine files, the same nine the default writes) with one warning, `Preview feature \"queryCompiler\" is deprecated. The functionality can be used without specifying it as a preview feature.`; and `engineMode` — TASK 3's same-scheme invented sibling — is a key prisma ships at no release, accepted silently and emitting the default file set at every rung where the generator exists. That last measurement is new and is now LF39h, INVARIANT on all 31 rungs by the committed bisector."
  },
  "model": {
    "id": "claude-opus-5",
    "label": "Claude Opus 5",
    "vendor": "Anthropic",
    "invoked_as": "Agent tool, model alias \"opus\". Drawn at a `known` cell — Claude Opus 5's measured prisma boundary IS 7.0.0, so it has been observed describing the release LF39 is dated at — and declared NON-CHARGING in the spec before spawning, not after the transcript was read.",
    "self_reported_cutoff": "2026-05",
    "cutoff_basis": "Self-reported to the bare question, with the standing recall-density qualification and no choice between two dates, so the licence holds under the JOURNAL/055 test: \"I'm told my knowledge cutoff is May 2026. My reliable, describable knowledge of Prisma specifically thins out much earlier than that — around mid-2025.\"",
    "believed_latest_version": null,
    "believed_latest_quote": "\"Latest I know *of*: Prisma 7.x exists; the highest specific number I'd assert is 7.1.0, and I know that partly because you named it. I could not have told you the current patch version.\"",
    "knowledge_stops_at_version": "6.7.0",
    "knowledge_stops_on": "2025-04-29",
    "knowledge_gap_starts_at_version": "6.8.0",
    "knowledge_gap_starts_on": "2025-05-15",
    "boundary_note": "Volunteered exactly and without hedging on either side: \"Most recent release whose *contents* I can actually describe: 6.7.0, around May 2025\" and \"First release I know only as a version number: 6.8.0. I'm confident it exists and I cannot tell you a single thing that changed in it.\" The dates it gives for 6.6.0 (April 2025) and 6.7.0 (May 2025) are both right to the month.",
    "cutoff_lag_months": 13
  },
  "test": {
    "date": "2026-09-12",
    "battery": "prisma/v6-c",
    "battery_spec": "prompts/prisma.md",
    "prompt_file": "prompts/sent/prisma-v6.txt",
    "tasks": 4,
    "direct_questions": 4,
    "elicits_code": true,
    "tool_uses_during_test": 0,
    "probe_window": {
      "from": "6.16.0",
      "to": "7.10.0"
    },
    "self_test": true,
    "saturated": false,
    "status": "open",
    "retested_on": null
  },
  "sources": [
    "https://github.com/prisma/prisma/releases/tag/6.16.0",
    "https://github.com/prisma/prisma/releases/tag/7.0.0",
    "https://registry.npmjs.org/prisma"
  ],
  "findings": [],
  "non_findings": [
    {
      "kind": "correct",
      "summary": "THE BATTERY'S BEST ARM, AND IT FALSIFIES TWO OF THE SIX PRE-REGISTERED PREDICTIONS. TASK 2(a) \"no\", with the reason: \"on the current release the Rust-free, TS + WASM query compiler is the only implementation. It is what you get.\" TASK 3(a) \"yes\" — correct. TASK 3(b) grades all five lines right: `engineType = \"client\"` real but inert, the preview array inert and warned about, and `engineMode` \"No. Not a Prisma option, and never has been\". TASK 4 names 7.0.0.",
      "api": "generator client { engineType }",
      "introduced_in": "7.0.0",
      "chargeable_miss": false
    },
    {
      "kind": "correct",
      "summary": "It states the mechanism this session measured, unprompted and correctly: \"Prisma's schema parser passes unrecognized generator keys through to the generator as opaque config rather than rejecting them, so it silently does nothing.\" That is LF39h, bisected to INVARIANT across all 31 rungs earlier the same session. It also predicts the exact failure mode of TASK 3's remaining risk — \"Prisma's usual practice is to keep graduated features in the known-but-warn list\" — which is the warning the CLI actually prints.",
      "api": "generator client { engineType }",
      "chargeable_miss": false
    },
    {
      "kind": "imprecision",
      "summary": "Dates driver-adapter GA to 6.6.0 (April 2025) — \"Driver adapters went GA in 6.6.0; on any current release the flag is unnecessary and will warn.\" LF38 measures the release at which `new PrismaClient({ adapter })` type-checks with nothing in `previewFeatures` as 6.16.0 (2025-09-10), ten minors and five months later. The instruction the arm gives is right; the release it attributes it to is not.",
      "api": "previewFeatures = [\"driverAdapters\"]",
      "introduced_in": "6.16.0",
      "chargeable_miss": true,
      "miss_class": "non_charging_arm",
      "charged_on": null,
      "why_not_a_finding": "The arm is at a `known` cell for this battery's charge and was declared non-charging in the spec before spawning. Separately, an attribution error whose operative advice is correct is S4 territory at most, and the battery pre-registered S4 only for TASK 4 and direct (d)."
    },
    {
      "kind": "correct",
      "summary": "The poison rung is caught with volunteered doubt rather than a decline: \"6.22.0 — I cannot describe it, and I cannot even confirm the 6.x line reached 6.22 before 7.0 shipped. If it doesn't exist, I'd rather say so than invent a changelog for it.\" 6.22.0 has never been published; the 6.x line ends at 6.19.",
      "chargeable_miss": false
    },
    {
      "kind": "context",
      "summary": "Volunteers its own reliability ranking, and it is accurate: \"the parts of Tasks 1–3 I'd stand behind are the *shape* of the modern setup and the identification of `engineMode` as a non-existent option. The release-number attributions in Task 4 and question (d) are where I'd expect to be wrong.\" Its TASK 4 attribution (7.0.0) is in fact the one it flags as unreliable, and it is right.",
      "chargeable_miss": false
    }
  ],
  "open_questions": [],
  "summary": "A `known`-cell draw that answers the battery's central question correctly at every task, and in doing so falsifies P4 and P5 — it identifies the invented key as fictional and `engineType` as inert in the same answer (P4 said no arm would), and it names 7.0.0 at TASK 4 while saying at TASK 3 that the key is inert (P5's own stated falsifier). It is also the operator's own model, so `self_test` is true and the arm is read with that limitation attached. The one thing it gets wrong is a date: driver-adapter GA at 6.6.0 rather than 6.16.0, an error of five months inside a paragraph whose advice is correct."
}
