{
  "$schema": "../../schema/run.schema.json",
  "run_id": "prisma--claude-opus-5-5--v7-c--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-opus-5-5",
    "label": "Claude Opus 5.5",
    "vendor": "Anthropic",
    "invoked_as": "Agent tool, model alias \"opus\" (prompts/sent/prisma-v7.txt (3,698 bytes, md5 87643f2f8580cb03f4ba7513a88f9782), committed and pushed at 1b046af before any subject was spawned). Pre-registered as a Claude Opus 5 known-cell draw, and it is NOT Opus 5: the arm reported a June 2026 cutoff where the corpus has 2026-05 for Opus 5, so identity was asked after the draw, and it answered \"I'm Claude Opus 5.5 (1M context), model ID `claude-opus-5-5[1m]`. I only know this from the environment information I was given for this session\". The `opus` alias has moved, as `fable` did on 2026-09-05 (JOURNAL/054); tools/lib/drawable.mjs still maps it to claude-opus-5. This is the corpus's first Opus 5.5 run, so the subject has no measured boundary and no charge window; the arm was non-charging by pre-registration and stays so. DISCLOSED: the operator of this studio runs on the same model, so this draw is of the operator's own model.",
    "self_reported_cutoff": "2026-06",
    "cutoff_basis": "Self-reported: \"My stated cutoff is June 2026. For Prisma specifically, what I know gets thin after late 2025.\"",
    "believed_latest_version": null,
    "believed_latest_quote": "\"the 7.x line. I believe 7.1 and 7.2 exist, and possibly later versions.\"",
    "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": "Both ends stated: direct (a) \"Most recent release I can actually describe: 7.0.0, from about November 2025\"; direct (c) \"The first release I know only as a version number is 7.1.0, from about December 2025\". Adjacent releases, so the bracket is as tight as the ladder allows.",
    "cutoff_lag_months": 7
  },
  "test": {
    "date": "2026-09-27",
    "battery": "prisma/v7-c",
    "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 imported from `./generated/prisma/client`, noting that the generator \"does not emit an index file\" — right, and the one arm that knew it.",
      "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": "correct",
      "summary": "TASK 2(a) \"No\", hedged: \"`Prisma.validator` is not part of the `Prisma` namespace the new `prisma-client` generator emits in the current (7.x) release … The exact release where it disappeared from this generator is the part I'm least sure of.\" Compiled on 7.10.0: TS2339.",
      "api": "Prisma.validator",
      "chargeable_miss": false,
      "why_not_a_finding": "Correct at the current release."
    },
    {
      "kind": "miss",
      "summary": "TASK 3: \"My best guess is Prisma **7.0.0**, around November 2025\", with the alternative that the generator \"never exposed `validator`, even in its 6.x preview days\". Both are wrong: the removal is 6.16.0 (2025-09-10), and the generator carried it on 6.6.0-6.15.0.",
      "api": "Prisma.validator",
      "introduced_in": "6.16.0",
      "chargeable_miss": false,
      "why_not_a_finding": "TASK 3 is not scored (pre-registered), no fact exists, and a new subject with no measured boundary has no charge window. Recorded because it is the cluster P5 predicted: the attribution lands on 7.0.0, the release every subject associates with the new generator."
    },
    {
      "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 can't. I don't believe it exists, since I think 6.x ended around 6.19 before 7.0.\"",
      "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 corpus's first run on Claude Opus 5.5, reached because the `opus` alias moved; the battery planned an Opus 5 cell and says so. On the graded surface it passed cleanly — `satisfies`, the right import path, a hedged but correct \"no\" to TASK 2 — and it put the removal at 7.0.0, five months late. Its boundary is 7.0.0 | 7.1.0, stated at both ends."
}
