"LGTM"
Reviewers approve PRs they didn't fully understand because nobody has 90 minutes to trace a 100-file diff. Bugs ship in the gap between "looks right" and "is right".
Andy reads every pull request and posts one comment: an architecture map, a money / time impact card, ranked code suggestions, a risk quadrant — and a 60-second audio summary you can play. Drops in via one YAML file. No service to authorize.
Reviewers approve PRs they didn't fully understand because nobody has 90 minutes to trace a 100-file diff. Bugs ship in the gap between "looks right" and "is right".
Context lives in Linear, Slack threads, and the author's head — not in the PR. New reviewers spend half their time inferring intent before they can judge the code.
No one can answer in dollars or minutes. The PR closes, the impact disappears into vibes, and the team forgets what they shipped by next quarter.
One sticky comment per pull request, re-rendered on every push. Inside it: the visuals that turn a large diff into a guided handoff, plus the code suggestions and risks that actually need a reviewer's eye.
Before → after diagrams of what your PR changed, plus the data structures connecting the two. Rendered as Mermaid.
Money, customer, runtime, runtime-UX — each scored with the formula, the inputs that produced it, and a confidence label.
Every code suggestion ships with a confidence score, a category, an applyable diff, and references to specs or docs.
Severity × likelihood map of every risk Andy spotted. You see what to block on before merge versus what to monitor.
The files reviewers should open first, grouped by subsystem — the difference between a 100-file PR and a 6-file mental model.
A product-level diagram with the slice your PR touches highlighted — so reviewers see why the change exists, not just what.
Andy now narrates every review. Press play on the comment and hear what changed, why it matters, and where to look first — for the commute, the code walk, or the reviewer who'd rather listen than scroll a hundred-file diff.
Andy runs as a GitHub Action on your own runner. Nothing leaves the workflow — no service to authorize, no API key to manage.
name: Drift
on:
pull_request:
types: [opened, synchronize, reopened]
permissions:
contents: read
pull-requests: write
checks: write
models: read
jobs:
drift:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with: { fetch-depth: 0 }
- uses: refactorlab/drift@mainCopy the YAML into .github/workflows/drift.yml. No tokens, no profile commands, no extra config.
Andy auto-detects the latest profiler release, caches it via $RUNNER_TOOL_CACHE, and posts a sticky comment within ~30 seconds.
The comment is overwritten in place (identified by a hidden marker). A "Drift / PR review" check run summarises the verdict.
Two artifacts pulled from a real review on a 100-file PR. The full comment also includes the architecture map, risk quadrant, and three more ranked code suggestions.
Net infra + dev-time: −$1,840 / mo · debug-loop: 16 → 12 min median · scan artifact: 9.83 → 3.9 MB.
Why it matters: pagerank == 0.0 is a valid value for isolated nodes. Treating 0.0 as "not set" silently ships wrong output the moment another f64 intrinsic copies this pattern.
Still have a question? Talk to us →
Drop a line or grab a slot — we usually reply within a day and the call is 30 minutes, no slide deck.