PatchDrift watches every API version, finds the exact call sites in your codebase that break, and delivers verified fix PRs — reviewed by a human, ahead of the deadline.
28 breaking changes in version 2026-10 alone · read-only scan · report in days, not weeks
- WebhookSubscriptionInput.callbackUrl
+ WebhookSubscriptionInput.uriapp/webhooks.js:178 and 2 more. Everything else on this version: clean.Measured from Shopify's own changelog and schema archives, July 2026. Shopify stopped publishing consolidated release notes after 2025-01 — assembling the impact is now your job. Or ours.
Every API version schema-diffed against the last, every changelog entry parsed. We archive schemas Shopify retires — history you can't fetch anymore.
AST-level scan of your repo maps each change to file and line. No matches, no noise — most versions won't touch you at all.
Deterministic rules for the mechanical bulk; schema-grounded generation for the rest. Model memory is never trusted over the 2026-07 schema.
Build, types, your tests, and contract replay in a sandbox. Behavioral changes — same shape, different runtime — get flagged, never auto-fixed.
A draft PR with per-line explanations, each citing the changelog entry it answers. A human reviews every PR. Merging is your verb.
Anyone can demo an agent that edits code. The hard part is one you'd let near the codebase your revenue runs on. Every limit below is architecture, not policy.
Your repo is cloned for the run and destroyed after it. Nothing is stored, nothing trains a model.
Per-repo installation only. Branch protection and rulesets apply to us like any other actor; fork-based PRs if you prefer.
Run the scanner inside your own CI. We see findings, not source.
The agent cannot touch test files — passing by weakening the test is structurally impossible, not just discouraged.
Each PR states what was verified: build, types, tests, replay. Low-confidence changes arrive as annotated issues, not diffs.
A quarter of Shopify's breaking changes alter runtime behavior without changing shape. Those get flagged with evidence — never silently patched.
Not testimonials — artifacts from our own pipeline runs on real, unmodified open-source apps.
Migrating a webhook registration, generation-from-memory produced callbackUrl — correct for years, wrong since the field became uri. The schema gate caught it before the diff existed.
Of six real open-source Shopify apps we scanned, four were pinned to API versions Shopify retired — one from 2020. Retired pins don't error. They silently "fall forward" onto changed contracts.
Retired version schemas vanish from official endpoints. We archive every version — so when you finally migrate a 2023-era app, the contract it was written against still exists somewhere.
For the free scan: read-only, or run it inside your CI so code never leaves. For fix PRs: a per-repo GitHub App install — opening a PR requires branch-push permission, which is exactly why C-02 through C-04 exist. Your branch protection applies to us like anyone else.
Most Shopify apps don't. Verification degrades honestly: build and type gates always run, contract replay substitutes for missing tests, and every PR states exactly which gates it passed. What we never do is claim confidence we didn't earn.
Shopify tells you what's deprecated — per call, with deadlines. It doesn't find the call sites in your code, write the fix, verify it, or open the PR. The .dev Assistant converts snippets; nobody ships you a reviewed diff. That last mile is the entire product.
For one migration, sure — many teams do, and the good ones budget days for review. What you can't get from a chat window: version schemas Shopify no longer serves, a watch on every future version, replay verification, and a fix pattern library refined across many apps. We sell the standing infrastructure, not the one-off prompt.
The scan is free. Migrations are fixed-price per app after the scan — you'll know the number before any work starts. Ongoing coverage is a monthly subscription that only exists after we've earned a first merge.