Repo-history example

Prisma migrate diff: one config-path change the repo's own checks missed.

In a measured replay of five real Prisma commits from repo history, the same SQLite migrate diff checks passed in standard CI every time. DriftFence produced no signal on four commits, then flagged one datasource-path change on the final commit.

With approved config-path behavior fixed in Git, DriftFence would have surfaced this change before merge while the repo's own checks still passed.

First divergence

Datasource paths started resolving relative to the config.

Within this replay window, Prisma changed how migrate diff resolved datasource paths from prisma.config.ts. The same SQLite migrate diff checks still passed in standard CI, but DriftFence flagged both config-path scenarios.

Blocked case

Config-path resolution changed the diff summary.

The first flagged commit changed datasource path resolution relative to the config file, which changed the reported migrate-diff summary for both config-path workflows.

DriftFence report
Scenario
prisma.migrate.diff.config-path-to-datasource
Expected
output.summary.lineCount = 1
Observed
output.summary.lineCount = 2
Classification
violating

The sister scenario, prisma.migrate.diff.config-path-from-datasource, triggered the same DriftFence signal on the same commit while the four schema-only controls did not trigger DriftFence. The flagged change stayed on one narrow config-path surface.

Across the replay window

Mostly quiet, with one config-path change.

Four commits did not trigger DriftFence, then the final commit changed the two config-path workflows while the schema-only controls also did not trigger DriftFence across the same window.

Earlier commits with no DriftFence signal

Four earlier commits did not trigger DriftFence

  • Four commits produced no DriftFence signal on all six SQLite migrate diff workflows.
  • The same SQLite migrate diff checks still passed in standard CI.
  • No command failures interrupted the replay.
Blocked case

Final commit changed both config-path scenarios

  • DriftFence flagged both config-path workflows on the same commit.
  • The first representative divergence was output.summary.lineCount moving from 1 to 2.
  • The same SQLite migrate diff checks still passed there in standard CI.
Controls with no DriftFence signal

Schema-only controls did not trigger DriftFence

  • from-empty and to-empty controls did not trigger DriftFence across the whole window.
  • Script-output and exit-code controls did not trigger DriftFence either.
  • The schema-only controls produced no DriftFence signal throughout.
Method

How it was measured.

This replay fixes one migrate-diff baseline, reruns the same SQLite checks on each commit, and keeps the changed config-path workflows separate from the schema-only controls that stayed quiet. Exact commit references are linked below.

  • Replay size: 5 commits
  • Fixed workflows: four schema-only SQLite migrate diff controls plus two config-path cases
  • The same SQLite migrate diff checks rerun on every commit in the window
  • DriftFence reran on every commit with the same approved baseline
  • This replay focuses on the config-path workflows that changed in this window
Source material

Method and source files.

The links below show the benchmark notes and pinned replay plan for this Prisma example.

Measurement notes

The benchmark results log records the Prisma window, including the replay size, outcome mix, and representative first divergence.

Fixed test plan

The Prisma replay definition fixes the six SQLite migrate diff workflows and the replay window used here.

Related pages

See the product, results, pricing, and trust pages alongside this Prisma example.