ModernCIPush. Green. Merged.

Sources: every number on this site, and where it comes from

Each claim on modernci.dev, its number, its source and the date it was measured. If a number isn't here, it shouldn't be on the site.

Every number on modernci.dev links here. Each row says what was measured, how, and when. "Our repo" is ModernCI's own repository, which ModernCI checks and merges. It is private today, so the commands below can be re-run only by people with access; the public sources (GitHub docs, tokio, Anthropic) anyone can check. "Our monorepo" is the large Rust monorepo we ran on GitHub Actions before ModernCI. It is a customer's repo and is cited only in aggregate.

Measured numbers are dated. They change; this page is updated when the site is.

Agent volume

F1 · Our agents opened 338 pull requests in one day

  • Claim: 338 pull requests opened on our repo on 2026-10-13 (UTC). 372 in the busiest 24 hours (from 2026-10-13 00:42 UTC). 166 merged that day. 492 opened in the first 43 hours of the repo's pull-request history (2026-10-12 08:37 to 2026-10-14 03:40 UTC).
  • Who opened them: a fleet of coding agents, about 30 at a time. The agent count is the operator's count of sessions, not a ModernCI measurement.
  • Source: gh pr list -R MattJackson/ModernCI --state all --limit 2000 --json number,createdAt,mergedAt, counted by UTC day and by sliding 24-hour window.
  • Measured: 2026-10-14 03:45 UTC.

F2 · A busy open-source Rust project, for scale: tokio

  • Claim: tokio-rs/tokio opened 144 pull requests in 30 days (2026-09-13 to 2026-10-13); 117 merged. Its GitHub Actions ran 3,197 workflow runs in those 30 days and 17,804 in 13 months. A merged pull request's head commit carries 86 to 184 check runs (median about 102, across 10 merged PRs: #8627, #8639, #8641, #8637, #8638, #8595, #8628, #8636, #8618, #8504).
  • Source: GitHub API. gh api 'search/issues?q=repo:tokio-rs/tokio+is:pr+created:>=2026-09-13' --jq .total_count; workflow runs summed over 7-day created windows of repos/tokio-rs/tokio/actions/runs (one window can't exceed the API's 2,500 cap); gh api repos/tokio-rs/tokio/commits/<sha>/check-runs --jq .total_count per PR head.
  • Measured: 2026-10-13.

F3 · Anthropic: from 2,500 to over 30,000 merged changes a day

  • Claim, quoted: "In May 2026, Anthropic averaged around 2,500 code changes merged per day; as of September, we merged over 30,000 per day." And: "A proper merge queue, for example, doesn't make much sense at agent scale. What does CI even mean when hundreds or even thousands of changes can merge while tests are running?"
  • Source: Anthropic Engineering, Redesigning source control at Anthropic, published 2026-10-13. Their figures, not ours. Anthropic has not reviewed or endorsed ModernCI.
  • Checked against the primary article: 2026-10-13.

CI built for humans

F4 · Our monorepo on GitHub Actions: 65,439 minutes in a month

  • Claim: 65,439 Linux Actions minutes in August 2026 and 46,577 in September 2026 on our Rust monorepo; 16,953 on one day (2026-09-09), which is 283 runner-hours. August alone is 22 times the 3,000 minutes the Team plan includes for a private repo (F5). The monorepo is public, and GitHub doesn't charge public repos for standard runners, so these minutes cost waiting time, not money.
  • Source: GitHub's billing usage API for the owning organization, organizations/<org>/settings/billing/usage?year=2026&month=<m>, Actions items with unit Minutes, summed by repository and by day.
  • Measured: 2026-10-14.
  • Correction: this site used to say "4,000 / 4,000 min: the Actions minutes cap, hit". We can't source 4,000: no GitHub plan includes 4,000 minutes (see F5), and the account's records don't show it. The line is gone; F4 and F5 replace it.

F5 · What GitHub includes, and what happens after

  • Claim: GitHub Actions includes 2,000 minutes a month for private repos on Free, 3,000 on Pro and Team, 50,000 on Enterprise Cloud. "For public repositories, GitHub Actions minutes remain free." "If your account does not have a valid payment method on file, usage is blocked once you use up your quota." With a payment method, budgets limit spending.
  • Source: GitHub Docs, About billing for GitHub Actions.
  • Checked: 2026-10-13.

F6 · Concurrent jobs on GitHub-hosted runners

  • Claim: total concurrent jobs on GitHub-hosted standard runners are capped per plan: 20 on Free, 40 on Pro, 60 on Team, 500 on Enterprise. "GitHub Support can increase job concurrency limits for GitHub Actions."
  • Source: GitHub Docs, Actions limits.
  • Checked: 2026-10-13.

F7 · GitHub merge queue: one build per pull request, rebuilt on a failure

  • Claim: the merge queue tests each pull request on a temporary branch that holds it and every pull request ahead of it, and runs the required checks there through the merge_group event. Build concurrency is "The maximum number of merge_group webhooks to dispatch (between 1 and 100)". Merge limits (1 to 100) set how many merge at once, but "Merge limits do not combine merge_group builds." When a pull request fails, "the merge queue automatically removes pull request #1 from the merge queue" and "recreates the temporary branch" for the ones behind it.
  • Source: GitHub Docs, Managing a merge queue.
  • Checked: 2026-10-13.

F8 · Re-run failed jobs

  • Claim: GitHub's answer to a failed job is a re-run: "Re-run failed jobs", available up to 30 days after the run.
  • Source: GitHub Docs, Re-running workflows and jobs.
  • Checked: 2026-10-13.

ModernCI, live on our repo

All from the facts ModernCI records about our repo on its live install (one daemon, engine 0.4.x), read-only.

F9 · One day of checks

  • Claim: on 2026-10-13 (UTC), ModernCI saw 451 pushes, produced 456 results and recorded 22,260 check results. Checks ran for 8,076 machine-minutes. 594 checks were answered from a stored result for the same inputs instead of being run, which kept 1,416 machine-minutes off the machines. 18,612 check runs were stopped because a newer push made them moot (superseded); they had used 1,615 machine-minutes.
  • Source: the install's fact log, store/t/modernci/facts/2026-10-13.ndjson: push, verdict and check_end facts; check_end.data.kind is run or hit (reuse), outcome and waste say superseded, seconds and saved_minutes give the minutes.
  • Measured: 2026-10-14.

F10 · Push to result, including today's p95

  • Claim: push to result, previous 24 hours: median 69 s, p95 645 s (166 pushes). Last 24 hours: median 629 s, p95 81,538 s, which is 22.6 hours (356 pushes). Last 7 days: median 379 s, p95 30,803 s (522 pushes). The queue peaked at 150 PRs waiting.
  • What was going on: the last 24 hours were the busiest yet (F1). The merge queue for dev went 171 minutes without a merge (F12), and 80 changes that conflicted with dev waited for fixes. We publish the p95 anyway; it is the number we are working on.
  • Source: the flow operation, modernci call --tenant modernci flow, which reads push, check result, merged and queue facts.
  • Measured: 2026-10-14 03:54 UTC.

F11 · Green to merged, merged to live

  • Claim: green to merged: median 230 s, p95 337 s (3 merges). Merged to live: median 14 s, p95 1,667 s (6 merges; the slow one is a release build).
  • Small samples: the landed fact is new (first recorded 2026-10-14), so these cover hours, not weeks.
  • Source: the flow operation, as F10.
  • Measured: 2026-10-14 03:54 UTC.

F12 · An 86-change merge queue batch, and the alarm that named its stall

  • Claim: one merge queue held 86 changes for dev, and checked the first 45 of them in one run. When dev went 171 minutes without a merge (its normal is up to 114), ModernCI raised a stall.flow alarm that said so, and why: "the train is judging prefix 45 of 86 on modernci-1; 131 waiting, 80 waiting are conflicts, 2 red, 2 judging".
  • Source: the signature fact for stall.flow at 2026-10-14 03:13 UTC in the fact log.
  • Measured: 2026-10-14.

F13 · Batching, replayed on 612 real heads

  • Claim: replaying 612 real heads from our repo (2026-10-12 to 2026-10-14) through the engine, batch=2 instead of one at a time cut job-minutes per merged change from 36.0 to 28.8, and cost from $14.32 to $5.81, with the same merges.
  • What it is: a simulation (history replay) over real arrival times, durations and red rates, not a live result. The machine prices are the replay's assumptions: one 11-slot machine plus an 80-slot priced elastic backend.
  • Source: PR #651, modernci-loadtest replay. The PR is open, not merged.
  • Measured: 2026-10-14.

F14 · A deadlock found and fixed in one night

  • Claim: a lock-order deadlock reached the live engine in 0.4.438. Our own test runs on ModernCI hung about one run in four. It was introduced on 2026-10-12 at 15:04 PDT (commit 96eac5c) and fixed on 2026-10-13 at 03:07 PDT (commit ac00717a), with a test that fails before the fix and passes after.
  • Source: the commit message of ac00717a: "the daemon's lib tests hung about one run in four ... gdb: 26 threads parked on modernci_exec::leased::L and ::taken::T".
  • Measured: 2026-10-13.

F15 · How long checks take

  • Claim: on our repo, a check that runs to a result takes, at the median: fmt 100 s, clippy 134 s, test 154 s (p95 312 s), loadtest 205 s.
  • Source: check_end facts with kind: run and outcome green or red, 2026-10-12 to 2026-10-14.
  • Measured: 2026-10-14.

F16 · Reds that were flakes

  • Claim: 15 red results on our repo were later corrected by a green on the same commit (2026-10-12 to 2026-10-14).
  • Source: correction facts ("a later green on the same head").
  • Measured: 2026-10-14.

F18 · Machine-minutes per merged change, one day on our repo

  • Claim: on 2026-10-13 (UTC), checks on our repo ran for 8,076 machine-minutes and 166 pull requests merged: 48.7 machine-minutes per merged change. Of the 8,076: 1,615 were runs a newer push made moot, 439 were runs a backend failed (infra) and 78 were cancelled.
  • Source: check_end facts for the day (F9), divided by merged pull requests that day (F1).
  • Measured: 2026-10-14.

Release state

F17 · What is released

  • Claim: nothing is released. There is no public install: no published image, no public binary, and the repo is private. ModernCI runs today on our own repos, on one install we operate.
  • Source: the repo (no Dockerfile or publish step; the modernci/modernci Docker Hub repository returns 404), and Changelog.
  • Checked: 2026-10-13.

Examples are labelled

Some figures on the site are examples, not measurements: the PR ledger, the $0.07 cost per merged change, the task wi-0412, the router table and the question q-88. Each is labelled "demo data" or "example" where it appears. Their names (acme, #4399, mbp-3) are made up.