Skip to content

Case study / Pyratz Labs

How a 5-developer team reviewed 1,834 merge requests in 12 weeks

Pyratz Labs is a French dev shop of five developers who build with coding agents every day. Here is what happened when every agent revision went through Code Voucher.

Pyratz Labs workspace on our internal Code Voucher instance · Aug 13 – Nov 5, 2026

  • 5developers
  • 18repositories, mostly GitLab, some GitHub
  • ~5projects built with coding agents
  • 5,000review runs
  • 1,834merge requests reviewed
  • 2.7review rounds per merge request, on average

01 / Pace

Agents don’t open one merge request a day.

Over the last 4 weeks the team averaged ~87 review runs and ~36 merge requests a day. In the week of Sep 28, weekly volume went from 260 to 836 review runs, and it has stayed above 460 since.

Review runs per week
  1. Week of Aug 10 (partial): 40 review runs
  2. Week of Aug 17: 218 review runs
  3. Week of Aug 24: 89 review runs
  4. Week of Aug 31: 261 review runs
  5. Week of Sep 7: 352 review runs
  6. Week of Sep 14: 124 review runs
  7. Week of Sep 21: 260 review runs
  8. Week of Sep 28: 836 review runs
  9. Week of Oct 5: 680 review runs
  10. Week of Oct 12: 693 review runs
  11. Week of Oct 19: 465 review runs
  12. Week of Oct 26: 644 review runs

Weeks start on Monday. The week of Aug 10 is partial: the period starts on Aug 13. The current week is not shown.

02 / Rounds

Half of the merge requests needed more than one look.

51% of merge requests were reviewed 2 or more times, with 2.7 review rounds per merge request on average. Every new push is a new review round.

Merge requests by number of review rounds
  1. 1 round: 904 merge requests
  2. 2 rounds: 375 merge requests
  3. 3 rounds: 190 merge requests
  4. 4 rounds: 140 merge requests
  5. 5 rounds: 66 merge requests
  6. 6–10 rounds: 119 merge requests
  7. 11–20 rounds: 30 merge requests
  8. 21+ rounds: 12 merge requests

Review rounds per merge request over the whole period.

03 / Bursts

Review demand comes in bursts.

At the peak, one developer triggered 50 reviews in a single hour. In 140 of 1,445 active developer-hours (~1 in 10), a developer went past 5 reviews in the hour.

Our reviews that would have gone past each CodeRabbit per-developer hourly allowance
  1. Over 5/hour: 649 reviews
  2. Over 8/hour: 335 reviews
  3. Over 10/hour: 226 reviews
  4. Over 12/hour: 164 reviews

Gray marks a competitor’s allowance applied to our own review history.

With your own Codex, Code Voucher applies no review cap. Your own Codex plan limits still apply.

We counted our review runs per developer-hour and compared them with the PR reviews per developer each hour that CodeRabbit’s plans include (5, 8, 10 or 12). Beyond that allowance, continued CodeRabbit reviews cost $0.25 per reviewed file. This is an estimate from our own data; CodeRabbit counts its reviews its own way. CodeRabbit pricing ↗

04 / Findings

3,220 findings. 197 merges stopped.

Each review runs two independent lenses: code quality and adversarial security. On our repositories, a blocking finding stops the merge.

By severity

Critical
17
Major
1,588
Advisory
1,598
Info
17

By review lens

Code quality
1,689
Adversarial security
1,531

197 merges stopped by a blocking finding

Top categories
  1. Correctness: 517 findings
  2. State & lifecycle: 196 findings
  3. Docs ↔ code drift: 196 findings
  4. Concurrency: 104 findings
  5. Operability: 95 findings
  6. Error handling: 88 findings
  7. Weak tests: 75 findings

These are counts of reported findings, not an accuracy measurement. We have not adjudicated every finding, so we make no precision or recall claims.

05 / Bring your own Codex

6,058 review executions on our own Codex plan.

Since late September, our reviews have run on the Codex subscription we already pay for: no per-review fees and no review caps from Code Voucher. Our own Codex plan limits still apply.

How connecting your subscription works ↗

06 / In the open

A real review on a public pull request.

Code Voucher reviewed Pyratzlabs/paseo-rooms#2, a CI change that deploys a relay through a private GitLab runner. Its verdict was approve with advisories, with one advisory finding.

Advisory · Code quality

Incomplete preparation leaves the deployment identity unusable

State lifecycle and recovery

Evidence, as published on the pull request
Prepare creates the owner-specific history directory before inspecting the previous container, copying backups, and storing the prepared transaction. Those operations can fail or be interrupted; rollback does not remove an orphan history directory.
Read the review on GitHub ↗

Review at the pace your agents ship.

Start a 14-day free trial with 5 developer seats, then $15 per developer per month. No per-review fees.

Start your free trial

14 days · No credit card · 5 developer seats

Prefer to run it yourself? Self-hosting is free, with paid support available. Contact us