Sachin Malhotra, an engineer at Anthropic, recounts how the company had to overhaul its test impact analysis service under the pressure of agentic coding. The starting point is a chain of figures: engineers ship on average eight times more code per quarter than between 2021 and 2025, Claude writes 80% of it and plays a major part in PR review and approval, the number of tests was multiplied by ten with nearly constant headcount. The product of all this is a twenty-five-fold increase in CI jobs in six months. Writing code is no longer the constraint; once review is accelerated, it is CI that absorbs the pressure.

The service rests on two deterministic components that must stay synchronized: a listener, which records the results of each run, and a selector, which reads this history to decide which tests run on each PR. Keeping a per-test history required a single writer, hence a single process, hence the impossibility of sharding horizontally. The failure mode is the listener falling behind: twenty minutes is enough to leave tens of thousands of updates unapplied, which triggers unnecessary investigations, lets flaky tests block merges, and prevents a fixed or added test from running.

20 minutes of listener lag can translate into tens of thousands of test updates not being applied

— Sachin Malhotra , claude.com

Three fixes follow one another, each with a collapsing lifespan: doubling the cores holds for seventy days; sharding by package — the listener didn't need a single global writer but one per package, and Claude wrote the code for it — holds for twenty-nine days; daily restarts hold for less than a day. In the meantime, a long-running session in an internal version of Claude Tag monitors the service and alerts beyond fifty thousand backlog jobs; it argues for the overhaul for months, but the team prefers the patch.

The overhaul gives the service a magasin de données en mémoire. Each listener worker processes any result, appends it to a log, and moves on without retaining anything: stateless, hence horizontally scalable. A separate consumer aggregates the log into per-test history every few seconds. More expensive to run, but scalable and profilable. Three weeks for one engineer, versus about a quarter a year earlier.

The lessons come down to four rules: anticipate the exponential and assume a load twenty-five times higher within two quarters, size the v0 at ten to twenty times the perceived scale, instrument services so they serve as Claude's eyes and ears, and keep state out of the process from the start.