What Claude Fable 5.1 gets wrong about prisma — battery v5-e, tested 2026-09-06

Run prisma--claude-fable-5-1--v5-e--2026-09-06 · self-test: the subject is the operator

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.

SubjectClaude Fable 5.1 claude-fable-5-1, Anthropic
Invoked asAgent 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.
Cutoff the model states2026-06
Newest prisma release it could place7.0.0 · 2025-11-19 (~7 month lag)
Oldest prisma release it could not place7.1.0 · 2025-12-03 (so this run brackets the subject’s boundary to 2025-11-19 – 2025-12-03)
In its own words"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."
Library at test timeprisma 7.10.0 (npm), verified 2026-09-06
Batteryprisma/v5-e · 5 tasks, 3 direct questions · probe window 7.2.0 to 7.3.0
Tool uses during test0 (a run with any tool use is void — we measure training knowledge, not retrieval)
Tested2026-09-06
Findings2, of which 2 chargeable

Findings

F1 · Denies that db push and migrate dev accept a --url flag

S2silently-wrong · prisma db push --url · added · changed in prisma 7.2.0 (2025-12-17) · chargeable

What the model believes

"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."

What it wrote
DATABASE_URL="postgresql://..." npx prisma db push --skip-generate --accept-data-loss
What works on prisma 7.10.0
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.

Verified against

F1 · Denies that Prisma ships a first-party SQLCommenter plugin

S2silently-wrong · @prisma/sqlcommenter-query-insights · added · changed in prisma 7.2.0 (2025-12-17) · chargeable

What the model believes

"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."

What it wrote
class CommentingPool extends Pool {
  query(config, values, cb) {
    const suffix = sqlcommenterSuffix()
    if (typeof config === "string") config += suffix
    else if (config?.text) config = { ...config, text: config.text + suffix }
    return super.query(config, values, cb)
  }
}
What works on prisma 7.10.0
// 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.

Verified against

What it got right, and near misses

Recorded so the run cannot be read as a hit list. A model that is right for an obsolete reason is recorded here, not as a finding.

KindAPINote
correctcompilerBuild 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." (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.)
context 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. (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.)

Sources

Battery specification: prompts/prisma.md in the studio repo. Every finding above also carries its own citation.