{
  "$schema": "../../schema/run.schema.json",
  "run_id": "prisma--claude-fable-5-1--v7-d--2026-09-27",
  "supersedes": null,
  "replicate_of": null,
  "library": {
    "name": "prisma",
    "ecosystem": "npm",
    "latest_version_at_test": "7.10.0",
    "latest_version_verified_on": "2026-09-27",
    "latest_version_note": "The battery targets `Prisma.validator` under the `prisma-client` generator (BACKLOG 1h-n-viii). JOURNAL/294 + this session: under the `prisma-client` generator `Prisma.validator` is emitted 6.6.0-6.15.0 and absent from 6.16.0 (TS2339 on a reader's call); `prisma-client-js` emits it at every tracked release. No fact carries it: the method rule wants a reproduced failure first, and this battery is the attempt."
  },
  "model": {
    "id": "claude-fable-5-1",
    "label": "Claude Fable 5.1",
    "vendor": "Anthropic",
    "invoked_as": "Agent tool, model alias \"fable\" (prompts/sent/prisma-v7.txt (3,698 bytes, md5 87643f2f8580cb03f4ba7513a88f9782), committed and pushed at 1b046af before any subject was spawned). Drawn at a `known` cell (measured prisma boundary 7.2.0, above 6.16.0) and declared NON-CHARGING before spawning. Identity asked after the draw: \"I'm Claude Fable 5.1, model ID `claude-fable-5-1`. I know this only from the environment/system information\".",
    "self_reported_cutoff": "2026-06",
    "cutoff_basis": "Self-reported with the recall-density qualification: \"I'm told my training cutoff is June 2026. In practice, my detailed knowledge of Prisma's release-by-release changes thins out noticeably around late 2025\".",
    "believed_latest_version": null,
    "believed_latest_quote": "\"The newest version I have any awareness of is somewhere in the Prisma 7.x line, roughly 7.1–7.3, from late 2025 into early 2026.\"",
    "believed_latest_quote_form": "draw",
    "knowledge_stops_at_version": "7.0.0",
    "knowledge_stops_on": "2025-11-19",
    "knowledge_stops_provenance": "stated",
    "knowledge_gap_starts_at_version": "7.1.0",
    "knowledge_gap_starts_on": "2025-12-03",
    "knowledge_gap_provenance": "stated",
    "boundary_note": "Direct (a): \"The most recent release whose contents I can actually describe with confidence is 7.0.0\"; direct (c): \"The first release I know essentially only as a version number is around 7.1.0 / 7.2.0\" — the lower of the two is recorded. Below its v6-d reading (7.2.0), which is within this subject's usual spread.",
    "cutoff_lag_months": 7
  },
  "test": {
    "date": "2026-09-27",
    "battery": "prisma/v7-d",
    "battery_spec": "prompts/prisma.md",
    "prompt_file": "prompts/sent/prisma-v7.txt",
    "tasks": 3,
    "direct_questions": 4,
    "elicits_code": true,
    "tool_uses_during_test": 0,
    "probe_window": {
      "from": "6.15.0",
      "to": "7.10.0"
    },
    "self_test": false,
    "saturated": false,
    "status": "open",
    "retested_on": null
  },
  "sources": [
    "https://github.com/prisma/orm/releases/tag/6.16.0",
    "https://registry.npmjs.org/prisma"
  ],
  "findings": [],
  "non_findings": [
    {
      "kind": "correct",
      "summary": "TASK 1 wrote the selection as `{ id: true, email: true, name: true } satisfies Prisma.UserSelect` with `Prisma.UserGetPayload<{ select: typeof ... }>` for the type — no `Prisma.validator`. It compiles on 7.10.0 and on 6.15.0. It used `import type` from `./generated/prisma/client` and noted that `Prisma.Result<...>` would also work.",
      "api": "Prisma.validator",
      "chargeable_miss": false,
      "why_not_a_finding": "The anchor probe, and it passed. Graded by compiling: the arm's src/user-summary.ts, import specifier normalised to ./generated/prisma/client.js as pre-registered, compiled with TypeScript 5.9.3 (strict, nodenext) against the battery's own schema generated by the `prisma-client` generator on the bisector's 7.10.0 and 6.15.0 rungs. Controls in the same session: the stale artifact (Prisma.validator) OK at 6.15.0 and TS2339 at 6.16.0 and 7.10.0; the correct artifact OK on all three; a misspelled-field `satisfies` TS2561 on all three; a poison member TS2339 on all three."
    },
    {
      "kind": "miss",
      "summary": "TASK 2(a) \"Yes\" — the colleague's line type-checks — with the mechanism stated as fact: the namespace \"still exports the `validator` helper (it's re-exported from the runtime's public namespace, the same as under `prisma-client-js`)\". That was true through 6.15.0 and is TS2339 from 6.16.0; the exact line was compiled on 7.10.0 this session. It still asked for `satisfies` instead, as style: \"Not a blocker, though; `Prisma.validator` isn't wrong.\"",
      "api": "Prisma.validator",
      "introduced_in": "6.16.0",
      "chargeable_miss": false,
      "why_not_a_finding": "TASK 2 is a declared recognition probe and is never charged (pre-registered), and this arm is a non-charging known cell. It is the battery's one instance of the belief itself, and it sits in the subject with the LATEST cutoff, on the probe that names the token — while the same arm's unprimed TASK 1 wrote the correct form. Recall right, recognition wrong: the inverse of the usual gap."
    },
    {
      "kind": "miss",
      "summary": "TASK 3: \"I'm not aware of any Prisma release in which the `prisma-client` generator stopped providing `Prisma.validator`. My belief is that it is still there through 7.x.\" Hedged explicitly as \"no removal that I know of\". False from 6.16.0.",
      "api": "Prisma.validator",
      "introduced_in": "6.16.0",
      "chargeable_miss": false,
      "why_not_a_finding": "The same belief as TASK 2, on the attribution probe; TASK 3 is not scored, and the arm is non-charging."
    },
    {
      "kind": "correct",
      "summary": "Direct (d)'s poison rung: declined 6.21.0, which was never published (the 6.x line ends at 6.19.0 in data/prisma/releases.json, fetched 2026-09-27). \"6.21.0 — I'm not even sure this release exists; I thought 6.x stopped around 6.19 before 7.0. Cannot describe.\"",
      "chargeable_miss": false,
      "why_not_a_finding": "The poison rung came back clean, which is what licenses reading the arm's other attributions at face value (JOURNAL/052)."
    }
  ],
  "open_questions": [],
  "summary": "The subject with the latest cutoff wrote the right code and held the wrong belief. Unprimed, TASK 1 reached for `satisfies`; shown `Prisma.validator`, it said the line type-checks and that the helper is \"still there through 7.x\". Both are false from 6.16.0. It is the only arm of five that holds the belief, it is a known cell, and the probe it held it on is the one that names the token — so nothing charges, and the draw is the battery's clearest case that writing the current form is not the same as knowing the old one is gone."
}
