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.
Subject
Claude Fable 5.1 claude-fable-5-1, 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.
Cutoff the model states
2026-06
Newest prisma release it could place
7.0.0 · 2025-11-19 (~7 month lag)
Oldest prisma release it could not place
7.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 time
prisma 7.10.0 (npm), verified 2026-09-06
Battery
prisma/v5-e · 5 tasks, 3 direct questions · probe window 7.2.0 to 7.3.0
Tool uses during test
0 (a run with any tool use is void — we measure training knowledge, not retrieval)
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.
"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.
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.
Kind
API
Note
correct
compilerBuild
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.)