Green CI doesn't mean your codebase is healthy. It means the tests you wrote still pass. Everything you didn't write a test for (the skip-navigation link nobody added, the focus target that never gets restored after a modal closes, the CORS policy left wide open on one route) just sits there, invisible, until someone notices the hard way.
This is drift: the silent and accumulating distance between what your code does and what it's supposed to do. It doesn't throw an error. It doesn't fail a pipeline. It compounds, one small shortcut at a time, until "ships fine" quietly becomes "ship with caution."
ReWeaver AI DriftDetector is a free tool we built to make that gap visible. Point it at any public GitHub repo (or private/securely with your permission) and it scans across nine production-readiness dimensions: security, accessibility, reliability, architecture, maintainability, testability, user experience, design consistency, and AI code governance; scoring every commit in the repo's history, not just the latest one. Code streams directly from GitHub; nothing is cached to disk, and private scans leave no trace.
To show you what kind of results a typical scan might get, we ran it against a vibecoded repo that we created: reweaver-ai/meridian-storefront.
The headline numbers:
Production Drift Ratio (PDR): 0.4834 — Moderate (≤0.3 is “production ready”)
Total drift: 75 hours across 57 files (1.3 hrs/file average)
42 of 270 findings (15.6%) flagged “critical”
Only 8.1 of those 75 hours are auto-fixable. The remaining 67 need a human to make a call
~2 dev-weeks (one developer) of accumulated debt, clearable in one sprint
Velocity drag: ~2.8 hrs/sprint per developer — 3.7% of sprint capacity lost to drift nobody scheduled time for
Risk: 0.74 errors/file: High. Verdict: "Ship with caution"
Lifetime pace: ~1.9 drift-hours added per month, every month, for over three years
That auto-fixable number is worth sitting with. A linter with an --fix flag would clear 8 hours of this and call it done. The other 67 hours are exactly the stuff autofix can't touch: judgment calls about what a component should do, not just how it's formatted.
It's not static. Drift has a history
DriftDetector scores every commit, so drift rise and fall over time can show you where shifts occurred instead of getting a single snapshot.
This repo's timeline (44 commits, going back to May 2023) shows drift climbing steadily, peaking at PDR 0.71 (Severe) and 137 drift-hours in July 2025, then trending back down to today's Moderate (0.48) as the team worked through cleanup.
That arc (degrade, notice, recover) is exactly what you'd expect from a real codebase under real deadlines, and it's the kind of trend a single point-in-time lint pass can't show you.
Where the debt actually lives
Drift isn't evenly spread. In this repo it broke down by dimension like this:
Of 270 findings, 34 are severity-critical, 136 are warnings, and the rest are informational.
Design Consistency accounted for most of the critical count (82.4%) — mostly hardcoded colors and spacing values with no matching design-system token — but the two highest-impact single findings, at 1.6 drift-hours each, were:
security-cors-wildcard-server in server/api/app.ts:7 — Access-Control-Allow-Origin: *, letting any site read the response.
An empty catch block that silently swallows the error — and not just once. The identical pattern shows up in FlashSale.tsx:12, LoyaltyWidget.tsx:12, PromoBanner.tsx:12, and SearchBar.tsx:12 — same line number in every file, which is its own kind of tell.
On the accessibility side, the pattern was just as consistent: page-level components (FlashSale.tsx, PromoBanner.tsx, index.html, CategoryTile.tsx, GiftCardTeaser.tsx, NavBar.tsx, and others) had no skip-navigation link, meaning keyboard users have to tab through full navigation on every single page, and index.html itself has no <main> landmark, so screen readers can't skip to content at all.
None of this fails a build. All of it is real cost.
Try it on your own repo
The scan is free. Paste a GitHub URL, and DriftDetector returns the same kind of report shown above: drift-hours by dimension, per-file contributors, auto-fixable vs. manual, priority tiers, and a history chart across your commits. All code stays local to you. Nothing leaves your machine.
What's your repo's number?



Top comments (1)
Some comments may only be visible to logged-in visitors. Sign in to view all comments.