The Code/X ArchiveView on X
Mike Julian

@mikejulian

We ditched code review at @DuckbillHQ (mostly)

About a month ago, we found ourselves with 60 open PRs for a team of five. They had been accumulating for a few weeks and we all had the sudden realization we were looking at two days of just code review.
75469171.5K
Mike Julian

@mikejulian

I had been tossing around the idea for a while about having AI do all code review and so I just asked the team: what if we just...didn't review the PRs?
30434
Mike Julian

@mikejulian

We decided to do a couple things instead:

- Switch to a risk-based system
- Improve our guardrails (unit and e2e testing, post-deploy o11y, stricter linting and type checking, etc)
4112778
Mike Julian

@mikejulian

With a risk-based system, we agreed that if your change touched the public API/MCP, auth, design system, non-additive database schema changes, or agent skills, it needed a human review.

We then enforced that with a shell script to add a github label.
6012668
Mike Julian

@mikejulian

Improving guardrails was pretty easy, just expensive in tokens and attention.

We enabled nearly every rule in ruff/prettier/eslint/ty and we improved our unit test coverage to a floor of 85%.
305923
Mike Julian

@mikejulian

We took a pretty high-level approach to o11y, preferring to instrument the customer-facing signals that indicate a bad time is about to happen (eg, ingestion, data processing, response times, auth). There's a few areas we went deeper on as needed, of course.
104019
Mike Julian

@mikejulian

We also spent a bunch of time rewriting our agent skills to ensure we were giving our agents better instructions. We had a lot of cruft from 2025-era AI.
10337
Mike Julian

@mikejulian

We wrote evals for our skills then tested them to see which had been consumed by modern LLM knowledge. We ultimately deleted a lot and then improved what remained.
204214
Mike Julian

@mikejulian

While we were there, we found a lot of markdown docs had been accumulating from doc-happy agents and leading to context poisoning

We're now centralizing our docs into a single docs folder and requiring those be written by humans. Location gets enforced by another shell script.
516115
Mike Julian

@mikejulian

The shell scripts is actually a fun bit: why use an AI for something that can be deterministic? We wrote a bunch of scripts that CI runs to enforce various things like the aforementioned docs.

We also force any changes to agent skills / agents.md go into their own PR.
20468
Mike Julian

@mikejulian

Final results, before vs after:

PRs merged: 353 → 684 (80/wk → 154/wk, +94%)
Merged within 1h: 28% → 45%; within 24h: 76% → 80%

Human-reviewed PRs median merge time: 26h
No human-review median merge time: 1h
11110444
End of thread