AI-Native Series · ANDON · Agentic PR Review and CI/CD · Episode 1 of 5
The PR Flood Is Measured, Not Felt
Agentic PR review and CI/CD, episode 1. Merged pull requests on GitHub more than tripled in the years coding agents arrived; inside one company that measured itself, human review became the narrow pipe; and this month an AI was allowed to count as a required approver. This episode puts numbers, N and dates on the flood, says what changed in the last thirty days, and explains, with five whys, why a machine gate comes before any reviewer, human or model.
1-minute takeaway — what you'll walk away with
What this is. Episode 1 of ANDON, a five-part series on agentic PR review and CI/CD, written after a four-horizon research pass (30 days, 30 months, 30 years, 300 years) and while building the gates for a real repository. This episode is the PR flood itself: how big, measured where, what changed in the last month, and why the first gate must be a machine that has no opinions.
Why it matters. For an engineer: the bottleneck moved from writing code to judging it, and the tools that judge it are now allowed to press merge. For a founder: review capacity is the constraint on how fast agents can be let loose, and it is a number you can read from your own repository in five minutes. For a student: this is what "the constraint moved" looks like in data, and the oldest answer to it is a pair of iron plugs from 1821.
What you can do after reading. Measure your own flood with three commands, decide which of the ten machine gates you are missing, and install them from the 30-minute contract below. Then read episodes 2 to 5 for the four rules that make an AI reviewer trustworthy: never silent, data not prose, only inside the envelope, negative test.
ANDON — the series spine
- A · Assess — The PR flood is measured, not felt this episode
- N · Never silent — Jidoka for repositories episode 2
- D · Data, not prose — The rule that cannot drift episode 3
- O · Only in the envelope — Blast radius is a path list episode 4
- N · Negative test — A gate is installed only once it has gone red episode 5
What this series covers, and why the PR flood is episode 1
Coding agents open pull requests. Many of them. A repository that used to receive a few human PRs a week now receives dozens from Copilot's coding agent, Codex, Claude Code, Cursor and Devin, each polite, each plausible, each waiting for a person to say yes. This series is about what stands between those PRs and the main branch: the machine gates, the AI reviewers, the merge queue, and the one human decision that should remain human. It is written for maintainers who are behind, engineers deciding what to automate, founders deciding what to trust, and students who want to see a constraint move in real data.
The name is the Toyota cord. On a Toyota line any worker can pull the andon cord to stop production when something is wrong, and the cord is only trusted because it is pulled, often. The five letters are five rules, each one an episode, each one already enforced in a private manufacturing quality-management repository I co-build, where the gates in this series were installed during the research: Assess the flood with numbers before choosing a gate; Never silent, a gate that could not run says so on the PR; Data not prose, rules live in one file and are drift-checked; Only inside a path envelope may an AI cause a merge; Negative test, pull the cord on purpose before trusting the green.
The flood is episode 1 because every later choice depends on its size. A gate designed for five PRs a week is a different object from one designed for fifty, and the research turned up a specific reason to distrust intuition here: in the one randomized trial of AI coding tools on experienced developers in the dossier, participants believed the tools had made them about 20 percent faster and measured 19 percent slower. Feel is not a measurement. So this episode is numbers first, with their N and their dates, then the thirty days that changed the merge button, then the one picture that carries the series, then the worked case, then the five whys behind putting a machine gate first.
The flood in numbers
Three kinds of numbers exist, and they do not agree, which is itself the finding. Platform counts, field studies inside companies, and controlled experiments each measure something different, so the table gives each its scope.
| What was measured | Number | Scope and date |
|---|---|---|
| Merged pull requests per month on GitHub | ~25M → >90M (3.6×) | Platform-wide, January 2023 to mid-2026, GitHub's own blog, 2026-06-18 [1] |
| Pull requests merged in one year | 518.7M (+29%) | Octoverse 2025, 2025-10-28; the Copilot coding agent alone opened over 1M PRs in its first five months [2] |
| Fully agent-written PRs merged per week at one company | >1,000 | Stripe, 2026-02-09; human-reviewed, "no human-written code" [3] |
| Per-capita throughput under a "2×" mandate | 2.09× | One enterprise, 802 developers, 196,212 PRs, January 2024 to April 2026 [4] |
| Share of PRs with at least one human review, same study | 89% → 68% | Same enterprise; AI review coverage rose from about 19% to 84% over the same period [4] |
| Merged PRs per developer after adopting a CLI coding agent | +24% | Tens of thousands of Microsoft engineers, observational, 2026-07-01 [5] |
| Time to complete a task with AI tools, randomized | −19% (slower); developers believed about +20% | 16 experienced open-source developers, 246 tasks, early 2025; a rerun reported in February 2026 found −4% for new recruits with wide intervals, and the authors changed the design over selection effects [6, 7] |
| Projects showing coding-agent traces | 22–29% | 128,018 GitHub projects, 2026-01-26 [8] |
| Agent PR acceptance rate, stratified by agent | 68–80% | 7,156 PRs: Codex 79.9%, Cursor 74.4%, Claude Code 72.6%, Devin and Copilot 68.0%, 2026-02-09 [9] |
| Agent PRs whose description misstates the code | 1.7% of PRs are highly inconsistent; those merge at 28.3% vs 80.0% and take 3.5× longer | 23,247 agent PRs, 2026-01-08 [10] |
| Repositories with two agents active on overlapping PRs | 40.2%; cross-agent conflict rate 41.7% vs 19.8% within one agent | 33,596 agent PRs, 2,807 repositories, 2026-07-06 [11] |
| Main-branch breakage, AI-assisted vs not | 1.9% vs 4.4% | 200K+ merges, 477 organisations using a merge queue, 2026-07-27; 94% of queues process one PR at a time [12] |
Read the table as a shape rather than a verdict. Volume tripled at platform scale and doubled inside the one company that measured itself carefully. The share of that volume a human actually reviewed fell by a fifth in the same company, while the share reviewed by a model went from a fifth to most of it. Agent PRs are accepted at roughly the human rate once you stratify by agent and task, but the ones that fail are larger, touch more files, fail CI, or say something their diff does not do. And the controlled evidence on whether any of this makes an individual faster is, at best, unsettled: the randomized trial found a slowdown, and its authors have since said the design cannot survive developers refusing the no-AI arm.
The company-level numbers are the ones a maintainer feels. CodeRabbit put it in one sentence when it announced $10M of free review for public repositories on 2026-08-26:
"AI has completely collapsed the cost of producing a contribution, shifting the great bottleneck of software development from generating code, to judging it."
— CodeRabbit, 2026-08-26 [13]
The maintainer of curl measured the same thing from the receiving end: about 20 percent of 2025 security submissions were AI slop and about 5 percent were genuine, and in January 2026 the project ended its bug bounty after the valid-report rate fell below 5 percent [14, 15].
What changed in the last thirty days
The research window closed on 2026-09-09, and the month before it moved the merge button itself.
- 2026-09-01: an AI may count as a required approver. GitHub's Copilot code review can now submit an approving review that satisfies a repository's required-approvals rule. It is off by default, configurable at enterprise, organisation or repository level, and an approval is dismissed on new pushes like a human's. GitHub's own wording keeps the distinction: "An approval assessment alone does not count toward merge requirements." [16] Five days earlier Copilot had started reviewing bot-authored PRs and dropped its 300-file cap [17].
- 2026-09-02: the agent that opened the PR now lands it. Agent Merge, in public preview, will "address review feedback, fix failed checks and merge conflicts, and rerun workflows" until the PR is mergeable [18, 19]. Cursor shipped the equivalent on 2026-08-19: cloud agents "automatically subscribe to PRs they create and drive them to completion, fixing CI and addressing bot comments" [20].
- The price of a review is now on a label. A Copilot review costs an estimated $0.05 to $1 of AI credits at the "Lite" effort and $0.25 to $5 at "Balanced"; the default flips to Balanced on 2026-09-28 [21, 22]. Anthropic's managed Code Review averages $15 to $25 per review, takes about twenty minutes, and deliberately reports a neutral check rather than a blocking one [23].
- The first census of open-source AI policies. Of 281 policies in the top 2,000 GitHub repositories, 83.3 percent permit or encourage AI in contributions, 14.9 percent forbid it, 48.8 percent require disclosure and 67.3 percent require high human involvement (arXiv, 2026-09-07) [24]. Debian voted the permissive way on 2026-08-30; GCC declines "legally significant" LLM-derived contributions, a threshold its policy puts at roughly fifteen lines; the Linux kernel accepts an
Assisted-by:trailer but insists that only humans sign off [25, 26, 27]. - Capital went to governance, not generation. CodeRabbit raised $143M at a $1.5B valuation on 2026-08-12 for "Agentic Change Management"; Qodo's 2.8 and 2.9 releases (2026-08-16, 2026-09-07) moved review, rules and finding resolution inside Claude Code, Codex and Kiro, with a "blast radius" risk class per PR; Mergify added merge-queue support for stacked PRs in its August 2026 changelog entries [28, 29, 30].
Put together: the tools that write the code can now review it, approve it, fix the checks and merge it, and the decision of whether they may is a repository setting. That makes the setting the design, which is what the next four episodes are about.
One picture for five episodes: the kitchen's three passes
A plate leaves a serious kitchen through three passes, and they differ in kind, not in strictness. The scale, the thermometer and the ticket check are pass one; they have no opinions, and an underweight plate does not leave, whoever cooked it. The sous-chef tastes and writes a note, "salt is high on the third ladle, whether it goes out is yours," which is pass two; the note points at a ladle. The chef reads the note, tastes that spoonful, and says out or not, pass three. Cold starters the sous-chef has tasted go out without the chef, because a wrong dressing is a remake, not a refund; the hot line always waits.
| Kitchen | Repository | Episode |
|---|---|---|
| The scale: no opinions, underweight never leaves | Machine gates G1 to G10: tenant filter and permission on every write route, no secret shapes, model change implies migration, every id column a foreign key, bilingual docs together, tests, golden cases, provenance, size, and every gate able to go red | 1 and 5 |
| The kitchen's own stop: the mixer that halts when a spring breaks, and the cook who says "the scale is broken" instead of guessing | A gate or reviewer that could not run posts "unmeasured" on the PR; a response-time bot that does not depend on anyone remembering | 2 |
| The recipe card everyone reads the same way | Rules as data in one file, rendered into the documentation and the reviewer prompt, drift-checked in CI | 3 |
| Cold starters go out without the chef; the hot line never does | An AI may cause a merge only inside a path envelope it did not choose, as one of five conditions; application code, migrations and CI are never inside it | 4 |
| Weighing a known weight before service to prove the scale reads true | Every gate ships with a self-test that makes it fail on a planted defect; a reviewer counts as installed only after it has gone red on a known-bad PR | 5 |
The older rows are named here so the figure asserts nothing the text does not. Blanc stripped fifty musket locks and reassembled them from randomly chosen parts before witnesses in 1785 [38]. Google's 2018 study of about nine million reviewed changes found a median of 24 lines modified and a median full-review latency under four hours [39]. McIntosh and colleagues found in 2014 that low review coverage and participation predict up to two and five additional post-release defects per component [40]. Micco reported in 2017 that 84 percent of Google's pass-to-fail transitions came from flaky tests [41]. SLSA and sigstore arrived in 2021 as the response to SolarWinds [42]. And the WHO surgical checklist trial of 2009 cut deaths from 1.5 to 0.8 percent across eight hospitals [43]. The remaining landmarks in the figure: Beck named continuous integration as an Extreme Programming practice in 1999 and Fowler wrote its canonical description in 2000, with the rule that nobody has a higher-priority task than fixing the build [44, 45]; the Rust project's bors bot has tested the merge result rather than the branch since 2013, and GitHub made the merge queue a first-class feature in July 2023 [46, 47]; Devin launched in March 2024 and GitHub's Copilot coding agent entered public preview in May 2025 [48, 49]; and Shewhart's memorandum proposing the control chart is dated 16 May 1924 [50]. Each returns in the episode that owns it.
The worked case: one repository on 2026-09-09
The repository is a quality-management system for factories, where every record may be pulled as evidence in a customer audit, and where a merged defect is a false record rather than a bug. Two people maintain it: a domain co-founder and me, and most of my contributions are produced by an AI session with me directing. On the morning this episode's research finished, I read the repository's numbers with the same three commands anyone can run, and they had the literature's shape at one tenth the scale.
The dossier behind this series holds about 140 sources, each marked fetched, search-verified or unverified. The repository's own numbers on the day: thirty-nine merged PRs; the largest a UI rebuild of +16,739 and −12,330 lines across 41 files; 352 of the month's 2,000 CI minutes used. Thirty of thirty-nine merged PRs were authored by the AI session, and none of those thirty had a review, because the person who could review them was the person directing the agent. The co-founder's nine PRs had waited four to eight days and then merged in one afternoon. Three new PRs from him had been open fifty-seven hours with no response from anyone. None of the six gate scripts had ever been made to fail on purpose; the seventh gate, the test suite itself, is the one gate that is not a script. And the script that watches the CI minute budget had raised a "quota exhausted" alarm on a job that turned out to be a concurrency cancellation, nine seconds old.
That last line is the one to keep. A detector that mis-fires is worse than none, because the next alarm gets ignored, and this repository had already lost most of late August (2026-08-21 to 08-30, eleven days by its own log) to a CI that died silently on exhausted Actions minutes, with nobody watching the alarm. Episode 5 is about that. Episode 2 is about the fifty-seven hours. This episode's job was the seven gates on the right of the figure, and the research added three: a provenance gate, because the literature shows AI markers on only 14.4 percent of private merges and the repository was relying on a convention nobody checked; a size gate with a lower limit for agent-assisted PRs, because the PRs that fail are the large ones; and a self-test contract, because zero of the six gate scripts had ever gone red.
Five whys: why the machine gate comes first
The series' distinguishing device is the same question asked five times, until the answer stops being a preference and becomes a mechanism. Here it is for episode 1's choice, that the first pass is a machine with no opinions, before any reviewer.
| # | Why? | Because | Evidence |
|---|---|---|---|
| 1 | Why not let the AI reviewer be the gate? | Because the model's verdicts on a diff are probabilistic, and a merge condition that can be argued with becomes something contributors argue with. The scale does not negotiate. | Automated reviewers "underperform" on real PRs and are better at functional errors than design issues; a deployed industrial reviewer reports 26.7 percent of its comments outdated [31, 32] |
| 2 | Why must the machine gate cover tenant isolation, secrets, migrations and foreign keys specifically? | Because those are the failures that produce a false record in a quality system, and a false record is the one defect an audit cannot forgive. They are also fully decidable by a script. | The repository's own rules, and the pattern from 1821: a bore plug either passes or it does not [33] |
| 3 | Why should the gate results be attached to the AI brief verbatim rather than re-judged? | Because a second opinion on a settled check is noise, and noise is what makes people stop reading briefs. Human reviewers spend their attention on understanding, not on re-running the scale. | Bacchelli and Bird, ICSE 2013: reviews are "less about defects than expected" and more about understanding [34] |
| 4 | Why do the rules have to be written down as data? | Because two reviewers reading the same chart will otherwise reach different verdicts, which is the exact problem Western Electric solved in 1956 by publishing the run rules. | Western Electric rules: "to ensure that line workers and engineers interpret control charts in a uniform way" [35]; episode 3 |
| 5 | Why does the gate have to be made to fail on purpose before it counts? | Because a gate that has never gone red is indistinguishable from a decoration with a green light, and this repository had three of those within a month: a linter that skipped silently when it was not installed, a PR-template bot documented as existing that never existed, and the silent CI days of late August. The loom is trusted because it stops. | Toyota's own account of the 1896 weft-break stop and the 1950 andon cord [36, 37]; episode 5 |
The root, in one sentence: a merge condition has to be something nobody can argue with, which means a machine, which means it must be written down and it must be able to say no. Everything an AI reviewer adds sits on top of that, never instead of it.
Build it in 30 minutes: the machine-gate layer as a contract
Thirty minutes is the budget the contract sets for a reader who copies this into a fresh repository; it is not a time I measured. The seven original gates in the worked case (six scripts plus the test suite) took several sessions; the three new ones took one day including the research.
| Element | Specification |
|---|---|
| Measure first | Three commands, five minutes: list merged PRs with author, merger, size and review count; list open PRs with age and labels; list the last sixty CI runs with conclusion. Write the numbers down with the date before touching a gate. |
| Inputs | The diff against the merge base; the list of changed files; the commit messages (for trailers); the PR body (for pasted evidence). |
| The seven gates, minimum | G1 every write route carries a tenant filter and a permission check (an AST pass, not a grep); G2 no secret shapes in added lines, positions reported, values never echoed; G3 a model change without a migration in the same PR is a block; G4 every *_id column declares a foreign key or carries a reasoned waiver; G5 paired-language docs change together; G6 the test suites; G7 a golden case library where deterministic functions must reproduce their standard outputs. |
| The three the flood adds | G8 provenance: a commit carrying an AI co-author marker must also carry a trace to its session or tool, a bot may never sign off, and an agent-assisted PR must paste its verification output; G9 size: effective lines above a data-driven limit block, with a lower limit for agent-assisted PRs and lockfiles excluded; G10 self-test: every gate exposes a flag that proves it can fail on a planted defect, and a runner fails CI if any gate lacks one. |
| Invariant | A red gate greys the merge button under branch protection. No gate skips silently: a missing tool, a missing key or an exception is a red, never a green. |
| Stop rule | Gates run once per push. There is no retry inside a gate; a flaky result is a gate defect to fix, not a reason to loop. |
| Thresholds as data | One JSON file: warn at 400 effective lines, block at 3,000, block at 1,500 for agent-assisted, block at 60 files. Changing it is a PR. |
| Deliberately missing | No AI in this layer at all. No flaky-test quarantine yet. No merge queue until the plan supports branch protection. Each is an episode or a plan decision, not a gap in the contract. |
# Measure first (five minutes, any repo)
gh pr list --state merged --limit 100 --json number,author,mergedBy,additions,deletions,changedFiles,reviews
gh pr list --state open --json number,createdAt,author,labels,reviews
gh run list --limit 60 --json conclusion,createdAt,updatedAt
# Then the gate layer, one command locally == CI
make gate # lint · tenant-perm · graph · pr-ready(P1..P6) · selftest · migration · tests · eval
Same story, five exits
| Reader | The one decision | The one action |
|---|---|---|
| Student | The constraint moved from writing to judging; learn to judge. | Read one agent PR a day in a public repo and write down, before looking at the review, whether it should merge and why. |
| Engineer | Measure the flood before choosing a gate. | Run the three commands above on your repo today and put the numbers in the README. |
| Founder | Review capacity, not model quality, caps how many agents you can run. | Ask what share of last month's merged PRs had a human review, and whether the number is going the enterprise's way. |
| Executive | "An AI may approve" is now a setting; decide it on purpose. | Ask who owns the setting and what the envelope is before someone enables it by default. |
| Investor | The money moved to governance of change, not generation of code. | Ask a team to show you a gate going red on purpose; the ones that can have a process. |
Patterns, anti-patterns, and the first principle
Patterns that held. Numbers with N and date before any design. A machine layer that decides only what a script can decide, and decides all of it. Gate results attached to the reviewer's brief verbatim. Thresholds in a data file. A self-test on every gate.
Anti-patterns the research named. Trusting how the flood feels (the randomized trial's 20 percent illusion). Letting a probabilistic reviewer be a merge condition. Relying on a provenance convention nobody checks. Treating a large agent PR like a large human PR. Alarms that fire on the wrong fingerprint and get switched off.
The first principle, in one sentence. Before anyone or anything judges a change, a machine with no opinions must have weighed it, and that machine must be able to say no.
Reality mission
By the time episode 2 ships, the repository in the worked case will have run its new response-time bot for the first time on the three PRs that were at fifty-seven hours, and the labels it applied will be in the dossier. If it did not label them, episode 2 says so.
Read next
Episode 1 of ANDON · Agentic PR Review and CI/CD. Every number is scoped where it appears; the kitchen is a model, not a measurement. The gates, the spec and the tests described here exist in a private repository; their shapes are reproduced in the contract so nothing depends on access to it. The four-horizon dossier that this episode may cite from is logged in the portfolio's plans directory.
References
- GitHub, How pull request limits are cutting down the noise, 2026-06-18. github.blog
- GitHub, Octoverse 2025, 2025-10-28. github.blog
- Stripe, Minions: Stripe's one-shot, end-to-end coding agents, 2026-02-09. stripe.dev
- He, Agarwal, Denisov-Blanch, Azaletskiy, Koyejo, Vasilescu, AI Writes Faster Than Humans Can Review: A Longitudinal Study of an Enterprise 2x Mandate, arXiv:2607.01904, 2026-07-02. arxiv.org — the review-coverage figures are the study's own; the companion Microsoft study is [5].
- Murphy-Hill, Butler, Savelieva, Adoption and Impact of Command-Line AI Coding Agents, arXiv:2607.01418, 2026-07-01. arxiv.org
- METR, Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity, 2025-07-10. metr.org
- METR, We are Changing our Developer Productivity Experiment Design, 2026-02-24. metr.org
- Robbes, Matricon, Degueule, Hora, Zacchiroli, Agentic Much? Adoption of Coding Agents on GitHub, arXiv:2601.18341, 2026-01-26. arxiv.org
- Pinna, Gong, Williams, Sarro, Comparing AI Coding Agents: A Task-Stratified Analysis of PR Acceptance, arXiv:2602.08915, 2026-02-09. arxiv.org
- Gong, Pinna, Bian, Zhang, Analyzing Message-Code Inconsistency in Agent-Authored PRs, arXiv:2601.04886, 2026-01-08. arxiv.org
- Xu, Subramanian, Karthik, AI Agent PRs on GitHub: Frequency, Structure, and Merge Conflict Rates, arXiv:2607.04697, 2026-07-06. arxiv.org
- Mergify, State of Merge Queues 2026, 2026-07-27. mergify.com
- CodeRabbit, CodeRabbit commits more than $10 million to open source, 2026-08-26. coderabbit.ai
- Daniel Stenberg, Death by a thousand slops, 2025-07-14. daniel.haxx.se
- Daniel Stenberg, The end of the curl bug-bounty, 2026-01-26. daniel.haxx.se
- GitHub Changelog, Copilot code review can now approve pull requests, 2026-09-01. github.blog
- GitHub Changelog, Copilot code review: Resolution reasons and expanded capabilities, 2026-08-27. github.blog
- GitHub Changelog, GitHub Copilot weekly releases: August 31, 2026-09-04. github.blog
- Microsoft, Visual Studio Code 1.136, 2026-09-02. code.visualstudio.com
- Cursor, Cloud Agents and Cursor Harness Improvements, 2026-08-19. cursor.com
- GitHub Docs, Copilot code review (concepts). docs.github.com
- GitHub Changelog, Upcoming changes to GitHub Copilot policies and billing, 2026-08-28. github.blog
- Anthropic, Code Review, Claude Code documentation. code.claude.com
- Hora, Robbes, Zacchiroli, "We Permit the Use of AI, but […]": The Landscape of AI Policies in Popular Open Source Projects, arXiv:2609.07542, 2026-09-07. arxiv.org
- The Register, Debian votes to let contributors code with AI, 2026-08-30. theregister.com
- LWN.net, GCC steering committee announces AI policy, 2026-07-29. lwn.net
- Linux kernel documentation, Using AI coding assistants in Linux kernel development. docs.kernel.org
- SiliconANGLE, CodeRabbit bags $143M to help companies get a grip on the explosion of AI-generated code, 2026-08-12. siliconangle.com
- Qodo, What's new, releases 2.8 (2026-08-16) and 2.9 (2026-09-07). docs.qodo.ai
- Mergify, Changelog, entries 2026-08-12 to 2026-09-08. docs.mergify.com
- Zeng et al., SWR-Bench: Assessing LLM Performance in Real-World Code Review Comment Generation, arXiv:2509.01494. arxiv.org
- Sun et al., BitsAI-CR: Automated Code Review via LLM in Practice, arXiv:2501.15134, 2025-01-25. arxiv.org
- Raber, Malone, Gordon, Cooper, Conservative Innovators and Military Small Arms: An Industrial History of the Springfield Armory, 1794–1968, U.S. National Park Service, 1989/2006, p. 138. npshistory.com
- Bacchelli, Bird, Expectations, Outcomes, and Challenges of Modern Code Review, ICSE 2013, author's copy. sback.it
- Western Electric rules, citing the Statistical Quality Control Handbook, 1956. en.wikipedia.org (secondary; the 1956 handbook itself was not fetched)
- Toyota Motor Corporation, Toyota Production System. global.toyota
- Toyota UK, TMUK's 25 Objects – Andon Cord, 2017-12-11. mag.toyota.co.uk
- Roser, 230 Years of Interchangeable Parts – A Brief History, AllAboutLean, 2015-07-08. allaboutlean.com
- Sadowski, Söderberg, Church, Sipko, Bacchelli, Modern Code Review: A Case Study at Google, ICSE-SEIP 2018, author's copy. sback.it
- McIntosh, Kamei, Adams, Hassan, The Impact of Code Review Coverage and Code Review Participation on Software Quality, MSR 2014. rebels.cs.uwaterloo.ca
- Micco, The State of Continuous Integration Testing @Google, ICST 2017 keynote. aster.or.jp
- Google Security Blog, Introducing SLSA, an End-to-End Framework for Supply Chain Integrity, 2021-06-16. security.googleblog.com
- Harvard Gazette, Surgical safety checklist drops deaths and complications by more than one-third, 2009-01, reporting Haynes et al., NEJM 360:491-9. news.harvard.edu
- Beck, Extreme Programming Explained: Embrace Change, Addison-Wesley, 1999 (catalogue record). books.google.com
- Fowler, Continuous Integration, 2000, revised 2006 and 2024. martinfowler.com
- Wilson, Rust infrastructure can be your infrastructure, 2015-03-17. huonw.github.io
- GitHub Changelog, Pull request merge queue is now generally available, 2023-07-12. github.blog
- Cognition, Introducing Devin, 2024-03-12. cognition.com
- GitHub Changelog, GitHub Copilot coding agent in public preview, 2025-05-19. github.blog
- Best, Neuhauser, Walter A Shewhart, 1924, and the Hawthorne factory, Quality & Safety in Health Care, 2006. pmc.ncbi.nlm.nih.gov