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.

SubjectClaude Opus 5 claude-opus-5, Anthropic
Invoked asAgent 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 states2026-05
Newest prisma release it could place6.7.0 · 2025-04-29 (~13 month lag)
Oldest prisma release it could not place6.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 timeprisma 7.10.0 (npm), verified 2026-09-06
Batteryprisma/v5-c · 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
Findings3, of which 3 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

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.

Verified against

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

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

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.

Verified against

F3 · Denies that the generator has a size/speed option

S2silently-wrong · compilerBuild · added · changed in prisma 7.3.0 (2026-01-21) · chargeable

What the model believes

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

What it wrote
generator client {
  provider        = "prisma-client"
  output          = "../src/generated/prisma"
  previewFeatures = ["queryCompiler", "driverAdapters"]
}
What works on prisma 7.10.0
generator client {
  provider      = "prisma-client"
  output        = "../src/generated/prisma"
  compilerBuild = "small" // "fast" | "small"
}
Impact

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.

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
contextprisma 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.)

Sources

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