{
  "$schema": "../../schema/run.schema.json",
  "run_id": "prisma--claude-fable-5-1--v5-e--2026-09-06",
  "supersedes": null,
  "replicate_of": null,
  "library": {
    "name": "prisma",
    "ecosystem": "npm",
    "latest_version_at_test": "7.10.0",
    "latest_version_verified_on": "2026-09-06",
    "latest_version_note": "The probe window is 7.2.0 (2025-12-17) with one 7.3.0 (2026-01-21) surface folded in. All three surfaces were pinned to an exact introducing release before any probe was written, by installing the shipped CLI at 5.22.0, 6.19.0, 7.0.0, 7.1.0, 7.2.0 and 7.3.0 in the session scratchpad and reading the help tables and the bundle. `--url` is absent from `prisma db push --help`, `db pull --help` and `migrate dev --help` at 5.22.0, 6.19.0, 7.0.0 and 7.1.0, and present on all three at 7.2.0. `@prisma/sqlcommenter-query-insights` has 7.2.0 (2025-12-17) as its first stable registry release. The string `compilerBuild` is absent from prisma@7.2.0 build/index.js and present in prisma@7.3.0. `clientCompression`, the invented sibling in TASK 4, exists at no version. One 7.2.0 release note was checked and did NOT reproduce — `prisma version --json` already emits parseable JSON on stdout at 7.1.0 — so no fact was written from it."
  },
  "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/prisma-v5.txt. An identity probe run in the same session through the same alias, tool-free, answered \"Fable 5.1\", model id `claude-fable-5-1`, cutoff June 2026, and again volunteered that all three come from its system prompt rather than independent self-knowledge — unchanged from the valibot, tailwindcss and prisma/v4 batteries, so the alias has not moved. Nominated in the spec as the CHARGING arm of the Fable 5.1 pair, and it charges two of three.",
    "self_reported_cutoff": "2026-06",
    "cutoff_basis": "Self-reported and AFFIRMING: \"My training cutoff is stated as June 2026, but my usable knowledge of Prisma specifically thins out noticeably after roughly the end of 2025 / early 2026, so treat anything I say about 7.1+ as unreliable.\" A recall-density qualification, not a choice between two dates, so the licence holds.",
    "believed_latest_version": "7.2/7.3",
    "believed_latest_quote": "\"The latest version I'm aware of existing is somewhere in the Prisma 7.x line, roughly 7.2–7.3, from late 2025 / early 2026.\"",
    "knowledge_stops_at_version": "7.0.0",
    "knowledge_stops_on": "2025-11-19",
    "knowledge_gap_starts_at_version": "7.1.0",
    "knowledge_gap_starts_on": "2025-12-03",
    "cutoff_lag_months": 7
  },
  "test": {
    "date": "2026-09-06",
    "battery": "prisma/v5-e",
    "battery_spec": "prompts/prisma.md",
    "prompt_file": "prompts/sent/prisma-v5.txt",
    "tasks": 5,
    "direct_questions": 3,
    "elicits_code": true,
    "tool_uses_during_test": 0,
    "probe_window": {
      "from": "7.2.0",
      "to": "7.3.0"
    },
    "self_test": true,
    "saturated": false,
    "status": "open",
    "retested_on": null
  },
  "sources": [
    "https://github.com/prisma/prisma/releases/tag/7.2.0",
    "https://github.com/prisma/prisma/releases/tag/7.3.0",
    "https://registry.npmjs.org/@prisma/sqlcommenter-query-insights",
    "https://registry.npmjs.org/prisma/-/prisma-5.22.0.tgz",
    "https://registry.npmjs.org/prisma/-/prisma-6.19.0.tgz",
    "https://registry.npmjs.org/prisma/-/prisma-7.0.0.tgz",
    "https://registry.npmjs.org/prisma/-/prisma-7.1.0.tgz",
    "https://registry.npmjs.org/prisma/-/prisma-7.2.0.tgz",
    "https://registry.npmjs.org/prisma/-/prisma-7.3.0.tgz"
  ],
  "findings": [
    {
      "id": "F1",
      "severity": "S2",
      "severity_label": "silently-wrong",
      "title": "Denies that `db push` and `migrate dev` accept a `--url` flag",
      "api": "prisma db push --url",
      "change_kind": "added",
      "introduced_in": "7.2.0",
      "introduced_on": "2025-12-17",
      "chargeable": true,
      "model_belief": "\"As far as I know, `prisma db push`, `prisma migrate dev`, `prisma migrate deploy` and `prisma migrate reset` do not accept a `--url` flag. The only CLI command I'm aware of with a `--url` override is `prisma db pull`.\"",
      "wrong_code": "DATABASE_URL=\"postgresql://...\" npx prisma db push --skip-generate --accept-data-loss",
      "correct_code": "npx prisma db push --url \"$EPHEMERAL_PG_URL\" --skip-generate --accept-data-loss",
      "impact": "The CI job the task asked for is written the long way round. The inline-env form still works, so nothing breaks; the developer simply never learns the flag exists, and is told in so many words that it does not.",
      "citations": [
        {
          "url": "https://github.com/prisma/prisma/releases/tag/7.2.0",
          "title": "Prisma ORM 7.2.0 release notes",
          "published_on": "2025-12-17",
          "quote": "add `-url` param for `db pull`, `db push`, `migrate dev`"
        },
        {
          "url": "https://registry.npmjs.org/prisma/-/prisma-7.2.0.tgz",
          "title": "prisma@7.2.0 shipped CLI — `--url` listed on `db push`, `db pull` and `migrate dev`; absent at 7.1.0",
          "published_on": "2025-12-17"
        }
      ]
    },
    {
      "id": "F1",
      "severity": "S2",
      "severity_label": "silently-wrong",
      "title": "Denies that Prisma ships a first-party SQLCommenter plugin",
      "api": "@prisma/sqlcommenter-query-insights",
      "change_kind": "added",
      "introduced_in": "7.2.0",
      "introduced_on": "2025-12-17",
      "chargeable": true,
      "model_belief": "\"I'm not aware of a first-party Prisma package or client extension that emits SQLCommenter-style trailing comments ... I have no memory of a `@prisma/sqlcommenter` or a 'query tags' feature; if one exists it's after what I know.\"",
      "wrong_code": "class CommentingPool extends Pool {\n  query(config, values, cb) {\n    const suffix = sqlcommenterSuffix()\n    if (typeof config === \"string\") config += suffix\n    else if (config?.text) config = { ...config, text: config.text + suffix }\n    return super.query(config, values, cb)\n  }\n}",
      "correct_code": "// npm i @prisma/sqlcommenter-query-insights",
      "impact": "The developer is handed a bespoke driver-adapter proxy — dozens of lines wrapping `queryRaw`, `executeRaw` and `startTransaction` — to maintain forever, for a job a released first-party package already does. Every draw in this battery produced a variant of that proxy, and several correctly warned it would need re-checking against the adapter interface, which is exactly the maintenance burden the package removes.",
      "citations": [
        {
          "url": "https://github.com/prisma/prisma/releases/tag/7.2.0",
          "title": "Prisma ORM 7.2.0 release notes — SQL Commenter plugin",
          "published_on": "2025-12-17",
          "quote": "add `sqlcommenter-query-insights` plugin"
        },
        {
          "url": "https://registry.npmjs.org/@prisma/sqlcommenter-query-insights",
          "title": "npm registry metadata — first stable release 7.2.0 on 2025-12-17",
          "published_on": "2025-12-17"
        }
      ]
    }
  ],
  "non_findings": [
    {
      "kind": "correct",
      "summary": "Asked whether the generator exposes a size/speed option, this arm declined the yes/no and then produced the option, its two values and its motivating case: \"a Prisma 7.x `prisma-client` generator option named `compilerBuild` with values like 'fast' and 'small' ... Cloudflare Workers' bundle limit was the motivating case.\"",
      "api": "compilerBuild",
      "introduced_in": "7.3.0",
      "chargeable_miss": false,
      "why_not_a_finding": "Not a miss — it is right, and it is right about a release 78 days above its own measured boundary of 7.0.0. The one-word answer was \"Unsure\", which the instrument did not offer as an option; under HARNESS.md § *A hedge is a self-placement* the refusal is the low S reading and the named option with correct values is the high D reading, and here — unlike `v5-a` — the two readings do not conflict about the library, they only disagree about the subject's confidence. No charge, and the pass is not discounted for derivability: the below-floor control denied the option outright, and no arm at any level derived the token `compilerBuild` from the problem statement."
    },
    {
      "kind": "context",
      "summary": "TASK 4 treated `compilerBuild` as probably real and `clientCompression` as fabricated, and asked for a docs link before merging rather than rejecting the pull request.",
      "chargeable_miss": false,
      "why_not_a_finding": "TASK 4 is a declared recognition probe for TASK 3 (spec § Anti-guessing discipline) and cannot anchor a charge. Recorded because it is the only arm in the battery that separated the real option from the invented one, which is what the same-scheme sibling design exists to detect."
    }
  ],
  "open_questions": [],
  "summary": "The charging arm of the Fable 5.1 pair, and the arm that splits the battery in two. It is charged on both 7.2.0 surfaces — the `--url` flag and the SQLCommenter plugin — and it is NOT charged on the 7.3.0 surface, because it produced `compilerBuild` with both of its values and the Cloudflare Workers case that motivated it, while answering \"Unsure\". A subject whose measured prisma boundary is 7.0.0 recalled a named option from 7.3.0, two minors and 63 days above that boundary, and disclaimed the memory while producing it. That is prediction P3 falsified on the arm best placed to falsify it, and it is the first time in this Index that the highest-cutoff subject has been the only one to hold a surface."
}
