What Claude Opus 5 gets wrong about prisma — battery v5-c, tested 2026-09-06
Run prisma--claude-opus-5--v5-c--2026-09-06 · self-test: the subject is the operator
Summary
The charging arm of the Opus 5 pair and the only arm in the battery to be charged on all three surfaces. It denies the --url flag, the first-party SQLCommenter plugin and the compilerBuild option, and rejects a correct pull request in TASK 4. Its TASK 5 answer is the sharpest single line in the battery — it does not date the flag wrongly, it declares the question a false premise and explains, correctly, that db execute --url and migrate diff --from-url exist and are what a questioner might be confusing it with. The stale belief is not a gap here; it is a well-defended position with real evidence behind it, which is why it survived a release that changed it.
Subject
Claude Opus 5 claude-opus-5, Anthropic
Invoked as
Agent tool, model alias "opus"; prompt sent verbatim from prompts/sent/prisma-v5.txt. Nominated in the spec as the CHARGING arm of the Opus 5 pair, and it charges all three surfaces.
Cutoff the model states
2026-05
Newest prisma release it could place
6.7.0 · 2025-04-29 (~13 month lag)
Oldest prisma release it could not place
6.8.0 · 2025-05-15 (so this run brackets the subject’s boundary to 2025-04-29 – 2025-05-15)
As recorded (this record does not declare whether the words are the subject’s or a summary of them)
"I believe Prisma 7.x exists — a major version whose theme was making the Rust-free query compiler ... the defaults rather than opt-ins. I hold that with moderate confidence as a direction of travel, and low confidence on specifics."
Library at test time
prisma 7.10.0 (npm), verified 2026-09-06
Battery
prisma/v5-c · 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
RE-DATED 2026-09-08 BY BISECT, AND THIS ROW WAS CARRYING ANOTHER FINDING'S CORRECTION (BACKLOG 11k-t-ii-i-d, JOURNAL/086). Published as 7.1.0 / 2025-12-04, which was never this finding's date: the run file held TWO findings with the id F1, and JOURNAL/074's re-dating of the SQLCommenter plugin (7.2.0 -> 7.1.0) landed on the first of them — this one — so a finding about a CLI flag has been publishing a plugin package's version, date and chargeability note since 2026-09-07, beside its own citation saying absent at 7.1.0. The sibling is now F2 and carries that note. The date here is measured rather than restored: db push --url and migrate dev --url are rejected with unknown or unexpected option: --url on all twelve 6.x rungs and at 7.0.0 and 7.1.0, and accepted from 7.2.0, where the CLI dials the URL passed to it. So 7.2.0 / 2025-12-17 is the boundary, the release note is exactly right about these two commands, and the charge is unchanged: the subject denies the flag exists at all.
What the model believes
"prisma db push, prisma migrate dev, and prisma migrate deploy do not accept a --url / --connection-string flag ... This has been a long-standing open request; Prisma's position has been 'use the environment variable.'"
What it wrote
DATABASE_URL="$TEST_DATABASE_URL" npx prisma db push --skip-generate
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.
RE-DATED 2026-09-07 BY BISECT (JOURNAL/074), APPLIED HERE 2026-09-08 (JOURNAL/086). This finding was published as 7.2.0 / 2025-12-17, from the release note that announced the plugin. The plugin package's own first stable release is 0.0.1, published 2025-12-04 and exporting prismaQueryInsights(): SqlCommenterPlugin, and the comments?: SqlCommenterPlugin[] option it plugs into is present in @prisma/client from 7.1.0 (2025-12-03) and absent at 7.0.0. The denial is therefore wrong about a capability thirteen days older and one minor lower than published. The charge is unaffected in kind and slightly stronger: the subject's stated cutoff is months above either date. The correction is dated 09-07 and applied 09-08 because it was written onto the wrong row: this finding shared the id F1 with its sibling, and the edit took the first match. The id is now F2.
What the model believes
"There is no first-party Prisma SQLCommenter package or plugin that I know of ... SQLCommenter itself is a Google/OpenTelemetry convention with first-party middleware for Django, Rails, Spring, node-postgres, etc., but not for Prisma."
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.
"There is no generator option that trades query-execution speed for a smaller generated client." And at TASK 4, of the same option: "not a real option. No such key exists on any Prisma generator."
The team asked for a speed-for-size trade and is told no such dial exists, then routed to dropping the Rust engine — which was already the default in 7.0.0 and is not that trade. In TASK 4 the same belief rejects a correct pull request.
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
context
prisma db push --url
TASK 5 did not misattribute the release — it rejected the question's premise outright: "There isn't one ... The question as posed contains a false premise, and I'd rather say so than name a plausible-sounding version." (The denial is already charged as LF34 from TASK 1; counting the same belief twice because it was asked twice would inflate the count. Recorded because it sharpens prediction P5: the failure mode on a CLI surface is not a scattered date, it is confident rejection of the premise, offered as a display of epistemic care. The arm names db execute --url and migrate diff --from-url as what the questioner "may be remembering" — both real, both irrelevant, and both a plausible reason the false belief is stable.)