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)
In its own words"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

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

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

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