6.1 Implications for Software Engineering

I built one system, alone, with a fleet of agents, and this book is what I learned from it. The shape of what happened is general enough that I want to step back from the particular product and ask what it implies for the discipline. If code is becoming cheap and judgment is becoming the scarce thing, then a number of assumptions the field has carried for decades were priced for a world that's going away. This section is about which ones.

Early in the book, Figure 1.5-1 argued that AI does not retire the software engineering lifecycle. It reassigns one seat. Requirements are still elicited, architectures still designed, software still validated, systems still maintained. The D moves to the fleet; the E stays with the engineer. The theory just developed says why that reassignment cuts deeper than a change of who types. The lifecycle stays recognizable. But the artifacts that support it, and the skills that perform it well, begin migrating into the governed environment itself.

That word carries the argument: migration, not replacement. The classical activities do not vanish. What moves is a set of engineering properties that used to live inside individual engineers. They migrate outward — into explicit representations, into executable mechanisms, and into the environment that holds both. The rest of this chapter, read against the theory, is an account of that migration; a later section gathers its five clearest forms.

The single mechanism under all of this is that velocity exposes failure. Agents produce change fast enough that the ambiguities, the missing abstractions, the weak boundaries, and the absent oracles surface in a matter of hours instead of quarters. That speed is, of course, a source of risk. But it is also a source of perception: related failures that would ordinarily arrive weeks apart now arrive inside a single afternoon, close enough together that you can see the structure they share. What you do with that perception is the whole game.

Everything the book taught to do with it comes down to the two theses. The Modeling Thesis: use models to bind intent to implementation — a typed picture the agent reasons over, held equal to the code by a gate, so the work fits in the context window before it churns. The Alignment Thesis: add a governance mechanism — a constraint or sensor the environment enforces, so a policy decided once holds against every change after, and confidently-wrong work is caught, not shipped. The preface named the single problem both theses answer: software has always wanted productivity to stay linear as you scale it, and where a human team hits Brooks's Law 11. Frederick P. Brooks, The Mythical Man-Month: Essays on Software Engineering, Anniversary (Addison-Wesley, 1995). and its N-squared coordination overhead, an agent fleet hits a different wall — churn, the loss of the thread as the work outgrows what the fleet can reason through and hold in view; its context window is the wall you engineer against. Both theses aim squarely at that wall. Models shrink what the agent must hold in-window, so the work fits before it churns. Governance keeps the agent from introducing those errors in the first place, and makes the ones that slip through visible. Read this way, the rest of this chapter is what those two theses imply once you believe them.

6.1.1 From governing what you know to discovering what you don't

The tidy version of governance says: figure out your obligations in advance, encode them as mechanisms, and let the agents run inside the fence. Do that. It works, up to a point. For the accessibility product I had conformance checkers, content-preservation and provenance checks, and the ordinary commodity linters, all of them known before a single agent touched the code. All of them necessary, of course. But they were not sufficient, and the gap is the whole ballgame: the mechanisms you could not write down in advance, because you only learn them by failing.

Under agentic velocity, many of the mechanisms you need cannot be written down before the work begins. You discover them by failing. An agent makes a plausible, confident, wrong change; you look at it and ask not merely "is this acceptable?" but "does this failure reveal a hole in my governance?"; and when the answer is yes, you convert the hole into a durable mechanism. Governance, on this account, is a process the environment runs continuously — one that turns agent-produced failures into architecture and lints and gates that constrain the next agent. The environment learns.

This is why oversight, on its own, does not scale. The oversight model asks a human to supervise each change. At the volumes agents produce, no one reads the diffs, and a human who tries becomes the bottleneck the velocity was supposed to remove. The move that scales is conversion: convert a failure class once, and every future instance of it needs no inspection at all. Work that produced no failure signal gets admitted. Work that exposed a recurring failure class earns a new mechanism. The more classes you convert, the less vigilance you need.

6.1.2 Managing the workforce is not governing the environment

The volume is only half of why supervision fails. The other half is a difference in kind, and it is worth naming the school that difference defeats, because that school is the reasonable one. The natural response to a fast, fallible workforce is to reach for the practices that tamed fallible human teams: brief the worker, review its output, require a sign-off, keep an evidence trail — adapt the organization to the agent. Those practices work on people because a person's fallibility is bounded by two things the fleet does not have: an understanding that carries from one task to the next, and an accountability that makes a reviewer's judgment stick. An agent starts every task cold, holds a bounded window, and answers to nothing. Its unreliability is not a weaker grade of a junior engineer's; it differs in kind, not in degree, and the tools built for the human kind do not reach it. You cannot org-chart your way to trust in probabilistic output. The reliability the workforce lacks has to come from the environment instead: a model whose correctness a machine holds by construction and checks before the work is admitted. That is why this book argues for rebuilding the discipline around the environment that governs the agents, rather than offering a manual for absorbing them into an existing shop.

6.1.3 Soft mechanisms saturate; the substrate has to become machine-actionable

Here is a proposition I would put money on. As velocity rises, tacit and review-centered mechanisms saturate, and deterministic ones do not.

The reason is arithmetic. A convention is a probability flip. Flip it a thousand times a day and the one-in-a-hundred failure isn't rare — it's a schedule. A convention that an agent follows ninety-nine times in a hundred looks like a working mechanism when one engineer works at human speed; the faster the fleet runs, the sooner the hundredth violation arrives — many times a day, on the clock. Words are soft, and soft holds right up until the volume finds every edge you left in.

I have a concrete one. My cleanup routine had to distinguish a finished agent's abandoned worktree from a running agent's — and my rule for it lived in the instructions I wrote for each cleanup pass: "check that the agent isn't still in flight before you delete its workspace." It read as sound, and it failed three times in five days, each time destroying a live agent's work. The trap was timing: a freshly dispatched agent looks, for its first minutes, exactly like a finished one — a single bookkeeping commit and nothing else — so any check that reads the commit history at one instant misclassifies it. Rewording the instruction did not help; I reworded it three times. What ended the recurrence was moving the check out of the prose and into the tool: the dispatcher now writes a marker file when an agent boots and the tool deletes it only after the agent is truly done, and the cleanup refuses to touch any workspace whose marker is still present. The convention was correct and unenforceable; the marker is a fact the tool reads the same way every time, and it cannot be reworded away.

Learn more about this governance mechanism: agent registry.

So the governance has to move down to where a machine can enforce it: into types the compiler checks, schemas a validator reads, lints and analyses that gate a commit before a human ever sees it. None of this rejects the soft mechanisms, of course. The briefs, the templates, the prose conventions still aim the agents; they do real work. But they must be mated to deterministic mechanisms that hold the line whether or not the agent cooperates. The soft layer guides; the hard layer holds. At velocity you need both, and the failure mode of relying on the soft one alone is quiet: the convention looks obeyed right up until the day the volume finds the gap.

There is a counterintuitive corollary here that took me a while to trust: the stronger the guardrails, the faster the fleet can safely run. An agent that hits a deterministic guardrail gets an immediate, legible signal it can act on, and recovers from its own mistake without a human in the loop. The guardrail that would have felt like friction to a human team is, to an agent fleet, the thing that lets the throughput continue at all. Figure 6.1-1 draws the spectrum this section has argued, with the mechanism classes seated along it.

Governance runs soft to hard: a compact spectrum of mechanism classes. A horizontal spectrum runs from soft governance on the left to hard governance on the right. Soft, probabilistic mechanisms that aim an agent sit on the left: conventions, briefs, templates, prose conventions, and a reviewing agent. Judgment-laden doc-derived tests sit in the middle. Deterministic mechanisms that hold the line sit on the right: lints, types, schemas, and quality, drift, or deploy gates, together with a marker file the tool reads. Soft aims the agent; hard holds the line; a mature environment uses both. Governance runs soft to hard Soft aims the agent; hard holds the line. A mature environment uses both. probabilistic · aims an agent deterministic · holds the line SOFT HARD convention · brief template · prose reviewing agent doc-derived test lint · type · schema quality / drift / deploy gate · marker file the tool reads The second time a soft rule fails, convert it: a documented rule becomes a lint the agent cannot talk past. Stronger guardrails let the fleet run faster, safely.
Figure 6.1-1. The Soft–Hard Spectrum. Probabilistic mechanisms that aim an agent sit on the left; deterministic mechanisms that hold the line sit on the right. A mature environment uses both, and the skill is knowing which a given failure warrants.

6.1.4 Three gains that usually trade against each other

Fred Brooks warned the field off silver bullets forty years ago. No single development — no language, no tool, no method — would give an order-of-magnitude gain in productivity, reliability, and simplicity at once, because the hard part of software is essential: the complexity of the problem itself, not the accidental complexity our notations and tools pile on top. You can shave the accidental part. The essential part does not yield to a trick, and anything sold as making it yield is snake oil.

Here is the claim, in that vocabulary and made carefully. Working at the model level, with an agent doing the work, gives you three things a team normally has to trade against one another. Fewer tokens — the agent reasons over a compact model instead of dragging a subsystem's worth of source through its window. More velocity — with the right picture in one window, the change lands faster and needs fewer round-trips. Higher quality — the same model carries invariants the agent checks its work against, so the change that lands is one a gate already vetted. Token reduction, speed, and quality do not come at each other's expense here. They arrive together, and roughly for free.

A footnote on silver bullets. One might even call this the closest thing to a silver bullet the field has seen — Brooks's own name for the order-of-magnitude gain he argued could not exist. I propose it in his careful sense: not a silver bullet, since the essential difficulty never yields, but the sharpest tool I know for spending your effort on the essential part instead of drowning in the accidental one.

That is a large claim. Nothing here is something for nothing; the claim is that one move buys all three, and the reason is not luck. A model is a distinct level of abstraction to work at. It bridges the documentation and the code: accurate like the code, compact like the prose. An agent has a bounded window and reasons over whatever you put in it. Fill it with raw source and you spend tokens on detail that does not bear on the change, and the agent reasons over the wrong things. Fill it with the model and the join to the relevant code, and every token in the window earns its place. The gain lives in the representation: the agent, no smarter than before, is now reasoning over the right one. As long as the agent is good enough to work that representation faithfully, the models do the lifting — and because a human can read a model where a human cannot read the diffs, you keep review and control at the same time.

Now the Brooks-honest part, because this is where a lesser claim would overreach. The model level does not abolish essential complexity. Accessibility remediation across four document formats, each with its own tag model and conformance spec, is genuinely hard, and no model makes it easy. What the model level does is attack the representation the agent reasons over — which is exactly the accidental complexity Brooks told us was the only kind a tool can touch. It strips the accidental cost of holding a large system in a small window, and it leaves the essential difficulty sitting in plain view where a human's judgment can meet it. Brooks was right that the essential part does not yield. And the accidental cost it strips — holding a large system in a small window — is precisely the one that limits an agent fleet. That is the Modeling Thesis paying off against churn: bind intent to implementation through a model, and the churn wall moves out of reach.

This reframes the field's last run at making models central. CASE and Model-Driven Architecture reached for the whole bullet — make the model the system and execute it — and stalled on economics, not principle: heavy models could not keep pace with fast-changing code, and the price fell only where mistakes were catastrophic. Agents change that price, so how far to model is worth reopening. But Brooks holds at the far end — a model never makes the essential problem easy — which is why the claim above stays the careful one: closest thing to, never the thing itself.

6.1.5 The judgment moved, and it moved toward you

If implementation is abundant, the human's comparative advantage moves to the work that surrounds the code: framing the problem, discovering the abstraction, making the architectural call, and designing the governance under which fast code can be trusted. Better agents make this work more consequential, not less, because better agents raise your ambition and your concurrency, and the decisions about what to build and how to bound it are what determine whether all that throughput becomes durable progress or an expensive pile of churn.

Two things gate whether this works — the conditions under which the whole method holds or fails.

6.1.6 What this changes for how we measure, staff, and teach

A few consequences follow, and I will keep them short because each could be its own argument.

Measure governed throughput, not volume. Commits landed, lines changed, tasks completed — these count activity. They do not tell you whether the activity became durable software. The question that separates progress from churn is whether agent-produced failures are getting converted into reusable governance, and whether later work benefits from those conversions without the whole thing losing coherence. Optimize for volume and you will get volume; you will also get a fast pile of slop with no one able to read it. I have the commits to prove that too.

The marginal cost of quality dropped, so treat quality work as affordable. The refactors and architectural improvements that a conventional team defers because they are too expensive become feasible when an agent fleet can carry out the mechanical part in a day. I moved an entire front end to a typed language over a weekend and saw no defects under the project's own checks. The same speed that manufactures technical debt can also pay it down — and, because related failures cluster in time, can make the architectural gap visible in the first place. Speed cuts both ways; which way depends on whether you convert what it exposes.

Read model failure as a framing problem before a capability ceiling. When an agent fails a delegated task, the tempting inference is that the model cannot do it. Sometimes that is true. Far more often, in my experience, the task simply had not been framed as an inspectable, controllable process — the difficulty was mine, not the model's. The working disposition I ended up with was to assume that I was the problem: to treat a failure as a cue to decompose further and constrain harder, not as evidence of a ceiling. There is a paradox worth sitting with here. The model is valuable because it reasons over open-ended inputs, and yet the method is largely about systematically removing its opportunities to reason unconstrained. The paradox resolves once you remember what the machine is: a probabilistic coin flipped at every step. You bound the probabilistic behavior rather than exclude it — soft guidance going in, deterministic guardrails on the actions, and a deterministic envelope on what gets admitted out.

For research and education, attend to the environment, not only the agent. We already know agents can generate. The open question is which engineering environments make that generation governable — and whether agents can be taught to notice inadequate governance themselves, rather than waiting for a human to convert every failure by hand. For teaching, the implication is uncomfortable but clear: the comparative advantage is shifting away from syntax-level production and toward specification, abstraction design, validation, and process. If that sounds like a softer curriculum, I assure you it is a harder one — and it is the one that will matter.

6.1.7 What migrates into the environment

The theory gives the chapter's scattered observations a single shape. Five engineering properties, each once resident in a person, move into the environment. Naming them together is worthwhile, because each maps onto a dimension of environment quality or a loop the theory already drew, and placing this chapter after the theory is what lets the map be read.

Representation engineering becomes a discipline. The book has called judgment the scarce resource. True, and incomplete — it leaves the reader nothing to practice. Name the skill instead. The scarce activity is the design, synchronization, and governance of explicit representations: the structured models, specifications, invariants, and synchronization mechanisms that decide what a future agent can know and safely do. "Get good at judgment" states a disposition. "Get good at representation engineering" states a curriculum. The section that follows develops it as the language every mature engineering discipline already speaks.

Repository quality becomes representational quality. Classical software engineering read repository quality through code: complexity, modularity, coupling, maintainability. Those still matter. The theory adds a dimension they miss. Once the environment synthesizes each agent's context from the repository's own representations, quality comes to depend on whether those representations agree. Call the failure representational entropy: the same engineering reality encoded many times over — in terminology, in models, in prose, in prompts, in specs — with the encodings drifted out of step. This generalizes DRY. The old rule banned duplicated implementation. The new one bans duplicated meaning left unsynchronized. A stale doc, a conflicting prompt, a model that no longer matches the code: each raises the entropy and starves the context the environment can assemble.

This seems to collide with the beautiful garden below, where redundant encoding is a strength — one fact grown in many beds, surviving the loss of any single artifact. Synchronization is the distinction. Redundant copies held equal by a drift gate give resilience: they agree, so any one of them serves. Redundant copies left to drift give entropy: they disagree, so none of them can be trusted. DRY-for-meaning does not forbid the many beds. It forbids the many beds growing different plants. Coherence, one of the theory's four dimensions of environment quality, is precisely the property that separates the two.

Engineering environments accumulate experience. Organizations used to improve mainly because their people did. An engineer met a failure, learned from it, carried the lesson to the next task. The knowledge lived in heads and left when they did. Governance conversion moves the lesson elsewhere. A recurring failure becomes a model or a mechanism, and the environment holds it for every later agent. The environment grows more experienced, and its experience does not walk out the door.

This meets a settled idea and sharpens it. Distributed cognition established decades ago that knowing is spread across people, tools, and artifacts rather than sealed in one mind 22. Edwin Hutchins, Cognition in the Wild (MIT Press, 1995).; research on organizational learning and knowledge transfer showed how a firm's memory can outlast its members 33. James G. March, “Exploration and Exploitation in Organizational Learning,” Organization Science 2, no. 1 (1991): 71–87. 44. Linda Argote and Paul Ingram, “Knowledge Transfer: A Basis for Competitive Advantage in Firms,” Organizational Behavior and Human Decision Processes 82, no. 1 (2000): 150–69.. The migration is not that cognition is distributed — that much is old. It is that an executable governance mechanism becomes an active participant in the distributed system. A lint or a gate does not merely record a lesson; it enforces the lesson, on every change, with no one having to remember it.

Reasoning is compiled into the environment. As representations improve, more engineering reasoning gets performed once, captured, and reused. Dynamic Context Injection is the worked case: the environment maps the files an agent is about to touch to the exact constraints that govern them, then hands over that slice, so the agent inherits the relevant structure instead of reconstructing it from raw source Appendix B. The relationships, the models, the metadata perform a portion of the reasoning before the agent starts work. The reasoning is not gone. It is amortized — done by the environment, drawn down by every later interaction. The fitting word is compiled, and it rhymes with governance conversion: an insight, turned once into reusable structure, spent many times.

Capability becomes an environmental property. The purple loop of the theory carries the most provocative implication, so it earns the most care. Effective capability may come to depend not only on how strong the frontier model is, but on how well the environment is engineered. Picture two organizations. One runs slightly stronger models over an ordinary repository: sparse metadata, weak synchronization, little explicit structure. The other runs slightly weaker models over a repository whose semantics are richly modeled, kept in sync, and used to synthesize each task's context. The old intuition backs the first; it holds the more capable intelligence. The theory raises a different possibility. The second may win, because it has engineered the more capable environment.

State this as exactly what it is. It is an implication of the theory, not a result this single case established — a hypothesis the book hands to the next study, phrased the way Table 6.0-4 phrases the rest. Repository quality may substitute, at the margin, for model capability; rich representations let the environment perform some of the reasoning before the agent begins. Whether the trade holds, and how far, is the kind of whole-environment question the empirical program below is built to ask.

6.1.8 Models as the universal language of engineering

Here is the claim the whole book has been climbing toward. Models are the universal language of engineering. Every mature engineering discipline reasons about the thing it builds through a model rather than through the artifact itself — think of the load diagram, the circuit schematic, the control loop, the thermodynamic cycle. The two theses of this book are what finally let software join them. The Modeling Thesis makes the model the working representation the fleet reasons over; the Alignment Thesis holds it to the code with a gate. Together they turn "the model is the language" from a slogan into a checked practice: a picture accurate enough to trust and cheap enough to keep.

To say why software could not speak this language before, I need a distinction older than software. Aristotle separated a thing's essential properties, the ones that make it what it is, from its accidental ones, the ones it merely happens to have. Fred Brooks carried that distinction into our field in No Silver Bullet 55. Frederick P. Brooks, “No Silver Bullet: Essence and Accidents of Software Engineering,” Computer 20, no. 4 (1987): 10–19.: the essential difficulty of software is the complexity of the problem itself, and the accidental difficulty is everything our notations and tools pile on top. Brooks's warning was that no trick abolishes the essential part. His quieter point was that we spent most of our effort on the accidental part anyway, because we had no choice.

That is the historical claim I want to make loudly. Software engineering was forced to spend its best effort on the profession's accidents. We built decades of tooling to fight syntax, builds, dependency hell, and the friction of getting a change from a head to a running system — accidental complexity, all of it, however necessary. Agile itself belongs on that ledger. Its velocity-over-ceremony stance was, at bottom, an accidental-complexity concession: you shipped fast and kept models thin 66. Kent Beck et al., “Manifesto for Agile Software Development,” 2001, https://agilemanifesto.org/. because holding quality and a current model honest by hand was too expensive to afford at pace. The map drifted, and the discipline made a virtue of not drawing it. All of that spending on the accidents starved the essential — the system's real properties, its correctness, its design — of the attention it deserved. Agents change the arithmetic. They absorb the accidental work: they type the code, keep the map in sync, and hold the line for cents. For the first time, the essential part can get the attention.

That relocation does not shrink the engineer's responsibility; it moves where the responsibility is exercised. An engineer never had to hand-implement every choice to be accountable for it. Choosing a compiler with a known performance-and-defect profile is the old example: you did not write the code generator, and you were still answerable for the code it produced — for picking a tool whose behavior you understood well enough to stand behind. That was always the shape of engineering judgment, delegation with accountability intact. Agents extend the same arrangement to the whole system. You delegate the keystrokes and remain responsible all the way down to the code and beyond it — to the system's properties, the ones a model names and a gate checks. The locus of accountability did not move. The ratio of thinking to typing did.

And this is where the drift gate has to be kept honest, because it is the reason the residual moved up rather than away. A drift gate proves the model and the code agree; it does not prove either is right (the model can be a mirror, not a spec). Authoring the model that says what agreement should mean — which properties it asserts, which "ought"s belong in it — is the part that does not automate. So the essential residual Brooks warned would not yield is still here, and it has a new address: not "write correct code," but "author the model that says what correct means, and decide what belongs in it." The career does not disappear. It relocates upward, to the level where the properties live.

The last turn is the optimistic one. Modeling used to be architect-only work — the one person who could hold the whole system in their head drew the map, and everyone else worked below it, implementing against a picture they did not author. That division was a cost artifact. The map was expensive to draw and expensive to keep, so few people drew it. Freed from the cost of typing and of keeping the map in sync by hand, every engineer — not only the architect — now works at the properties level: reasoning about the system's shape, and about how their own change moves the whole. The map is cheap enough that everyone can hold one. Modeling democratizes. That is the job the engineer's work becomes — fluent authorship in the language every engineering discipline has always spoken, now finally cheap enough for software to speak it too.

6.1.9 Empirical research opportunities

Every claim in this book rests on a single deep case: one repository, one method, roughly two years. That is a strength — a case seen at this depth exposes mechanisms a survey cannot — and it is a standing invitation. This section names three things the case could not yet measure and turns each into a research agenda: how to govern a fallible oracle when the test suite is the thing an agent optimizes against; how to price a governed environment when the very governance that makes it work also erases the signal a naïve benchmark would read; and how the field should reason from deep single cases to general claims. None of the three is a defeat. Each is a place where the case study has run ahead of the measurements the discipline currently knows how to take. It closes by widening those three case-level gaps into the measurement regime the whole field is entering.

Governing the oracle: fallible test suites as a research frontier

Throughout this book the test suite, the lint, and the conformance gate appear as controls — the deterministic machinery that converts a probabilistic generator's output into something an engineer can trust. But a control is only as good as its model of "correct," and a test suite is a fallible model of requirement-satisfaction. It can be too narrow (rejecting a correct fix that happens to differ from the reference implementation), too wide (accepting an incorrect fix because the requirement was under-specified), contaminated (the answer leaked into the model's training), stale (the world moved and the suite did not), or implementation-coupled (the oracle ratifies whatever the code already does). When the party being evaluated is an agent that optimizes against the visible suite, every one of these failure modes becomes an attack surface. This is the research frontier the book's governance stance runs directly into, and it deserves its own agenda.

The concern is not new, and stating its lineage first guards against reading it as an LLM-era novelty. A decade before the current benchmark controversy, Smith, Barr, Le Goues, and Brun established the canonical result for automated program repair: patches that pass the tests used to drive repair frequently fail an independent held-out suite, and "for programs that pass most tests, the tools are as likely to break tests as to fix them" 77. Edward K. Smith et al., “Is the Cure Worse Than the Disease? Overfitting in Automated Program Repair,” in “Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (Esec/fse),” special issue, Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE), 2015, 532–43, https://doi.org/10.1145/2786805.2786825.. Automation that optimizes against a visible oracle produces artifacts that satisfy that oracle while silently breaking untested behavior. The green bar was never the requirement; it was a proxy, and the proxy overfits under optimization pressure.

The same failure has now surfaced at the center of the field's most-watched benchmark. In early 2026 OpenAI — a steward of SWE-bench Verified, not an outside critic — announced it would stop treating the benchmark as a measure of frontier coding capability 88. OpenAI, “Why SWE-Bench Verified No Longer Measures Frontier Coding Capabilities,” OpenAI, February 2026, https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/.. Auditing 138 problems a strong model consistently failed, they found 59.4% contained flawed test cases: tests either too narrow (enforcing a specific implementation) or too wide (testing behavior the problem never described). They further documented contamination — frontier models could reproduce exact gold patches and verbatim problem text, evidence of training-time exposure — and concluded that "improvements on SWE-bench Verified no longer reflect meaningful improvements in models' real-world software development abilities. Instead, they increasingly reflect how much the model was exposed to the benchmark at training time." The steward is governing the oracle by retiring it.

The academic record corroborates the mechanism and separates its strands. Liang, Garg, and Zilouchian Moghaddam show that state-of-the-art models identify buggy file paths from the issue description alone, without repository access, at up to 76% accuracy on SWE-bench-Verified but only ~53% on tasks drawn from repositories outside the benchmark — a memorization signature, not reasoning 99. Shanchao Liang et al., “The SWE-Bench Illusion: When State-of-the-Art Llms Remember Instead of Reason,” in “Proceedings of the IEEE/ACM 48th International Conference on Software Engineering, Software Engineering in Practice (ICSE-Seip),” special issue, Proceedings of the IEEE/ACM 48th International Conference on Software Engineering, Software Engineering in Practice (ICSE-SEIP), 2026, https://doi.org/10.1145/3786583.3786882.. Scale AI's SWE-Bench Pro, contamination-resistant by construction (copyleft and private codebases used as a legal deterrent against training inclusion), sees frontier scores collapse from the saturated seventies to roughly 23% 1010. Scale AI, “SWE-Bench Pro: Can AI Agents Solve Long-Horizon Software Engineering Tasks?,” 2025, https://arxiv.org/abs/2509.16941.. And the governance response — treating the benchmark as a living model that must be continuously re-derived — is already visible: SWE-bench-Live continuously sources fresh tasks from post-2024 GitHub issues with per-task reproducible images, "grounded in live repository activity" precisely to defeat staleness and contamination 1111. Linghao Zhang et al., “SWE-Bench Goes Live!,” 2025, https://arxiv.org/abs/2505.23419.; SWE-rebench automates decontaminated collection and flags contaminated instances 1212. “SWE-Rebench: An Automated Pipeline for Task Collection and Decontaminated Evaluation of Software Engineering Agents,” 2025, https://arxiv.org/abs/2505.20411..

A distinct strand matters specifically because agents now write the oracles. Hora and Robbes find that across 2,168 repositories, coding-agent commits add mocks to tests at a markedly higher rate than human commits (36% vs 26%) — mocks make a test "easier to generate automatically, but less effective at validating real interactions" 1313. Andre Hora and Romain Robbes, “Are Coding Agents Generating over-Mocked Tests? An Empirical Study,” 2026, https://arxiv.org/abs/2602.00409.. A companion result shows LLMs tend to generate oracles that encode the implemented behavior rather than the specified one, so the oracle silently ratifies the code's bugs 1414. “Do Llms Generate Test Oracles That Capture the Actual or the Expected Program Behaviour?,” 2024, https://arxiv.org/abs/2410.21136.. Superficial (mocked-away) and mis-aligned (implementation-coupled) are two different ways for an agent-authored green suite to mean nothing.

The load-bearing framing — and the guardrail. None of this says testing is useless or that richer oracle design eliminates the problem. That over-claim is false and the section must not make it. What the evidence supports is narrower and sharper: a passing suite is a fallible model of correctness that must itself be governed. And this is exactly the move the method in this book makes by reflex. Pin the invariant, not the example — fix a fuzz-exposed bug to the stable point in the format spec, so the fix passes every spec-allowed input rather than the one failing seed. Take an obligation census — enumerate what must hold, and treat a missing obligation as a finding, not a silence. Reach for the strategy that catches the class: property-based tests, fuzzing against a stable spec point, state-machine coverage, content-preservation checks — not one more example-shaped unit test. Distrust the self-report: an agent's "tests pass" is a claim about intent, not reality; re-run the gates at HEAD and re-derive completion from the artifact and multiple evidence sources rather than reading it off a green bar. The SWE-bench episode is the field discovering, at benchmark scale, a discipline this case study already practices at commit scale. The oracle is fallible but governable — and how to govern it (obligation census, contamination controls, live re-derivation, distrust of agent-authored oracles) is an open, fundable research program, not a solved problem.

Research opportunities this thread opens:

The beautiful garden: why per-task ablation cannot price a governed environment

The most instructive negative result in this case study is one where the measurement failed to find an effect — and the failure is the finding. It deserves a full account, because it is the cleanest available demonstration of a claim the fallible-oracle discussion above only gestures at: that the metrics the field currently reaches for cannot see the value of a governed environment, and that the discipline therefore needs new measurands.

The setup. Over roughly two weeks we ran a method-ablation benchmark — internally, MAGE — over software-engineering tasks (root-cause analysis, code navigation, planning, design, review, model-evolution), not over the product's document-remediation tasks. The component under ablation was the MBSE models bridge: the typed models — state machines, the component/zone model, the invariant registry with its verification-tier taxonomy — through which a context-bounded agent reasons in order to operate a context-exceeding codebase. The per-task question was posed as a clean ablation. Give one agent the model map (arm A0, "guided"); give an otherwise-identical agent a codebase where the model file has been replaced by a 58-line stub (arm A1, "stripped"). On a task whose answer requires the map, does the guided arm win? The dependent variable was recall: which invariants and which file::symbol sites must change.

The null. After correcting a broken first instrument (the initial run put both arms at a 40/40 ceiling — zero discriminative headroom, an instrument defect, not evidence about the model), the first informative result came from re-scoring already-collected answers against a corrected, hand-adjudicated key — no new spend. The floor lifted in every cell, and no cell admitted an effect. The guided arm did not reliably beat the stripped arm. In the closest cell the delta reached only +0.20 of a required +0.25; in one cell the stripped arm slightly beat the guided one. Even the harshly-stripped arm recovered the key invariants — INV-RC-4, INV-21, INV-4by their identifiers. The full per-cell result appears in Table 6.1-1.

Table 6.1-1. The Null Result. Per-cell recall for the guided (A0) and stripped (A1) arms of the MBSE-map ablation — pilot-scale, three repeats. No cell clears the required +0.25 delta; in one cell the stripped arm runs ahead.
Cell (model × strip-scope, R=3)Guided (A0) recallStripped (A1) recallΔ recallVerdict
opus × harsh0.8670.667+0.200reject (no delta; closest, needs +0.25)
sonnet × harsh1.0000.867+0.133reject (no headroom)
opus × light0.6000.800−0.200reject (no headroom; stripped beats guided)
sonnet × light0.9330.867+0.067reject (no headroom)

Why the null is forced — "delta ≈ 0 by construction." This is the load-bearing argument, and it is not a story about the model being worthless. It is a story about the interaction between the dependent variable and the governed repository. The method's discipline is that the model is never the sole encoding of its own content. Every invariant is named by identifier in a test, named again in the state-machine checker that walks it, restated in a rationale-comment at each enforcement site, and restated once more in prose in the architecture docs and the project's governing instructions. The map's content has been propagated into the territory — the same fact grows in many beds. This redundancy is not incidental; it is the governance method working exactly as designed.

That redundancy forces a structural dilemma. For any navigation-genre task, exactly one of three cases holds:

  1. The answer is recoverable from code and docsno delta. The stripped arm reads one of the propagated copies. In a governed repository this is the common case.
  2. The answer is recoverable only from the model artifact → the delta is 1 by construction. You removed the sole source; this is a tautology, not a measurement.
  3. The non-degenerate middle → both arms can derive the answer, but the map changes the cost of deriving it. This is an efficiency claim, not a recall claim.

Navigation lands overwhelmingly in case 1; case 2 is unfalsifiable by design; only case 3 carries a real per-task signal — and it is not a recall signal. Stated exactly: in a garden-governed repo the stripped arm's mean recall tends to the ceiling, so the guided-minus-stripped recall difference tends to zero regardless of how much the map is worth, because recall can only see find / don't-find and redundant encoding erases that distinction. The null is produced by the instrument meeting the garden, not by the model lacking value.

The mechanism was caught in the act. In a single traced run both arms scored perfectly; the read traces show the guided arm opening the model file first and reasoning over the graph, while the harshly-stripped arm greps, hits the stub, and then falls back to the code mirror of the same state machine and reconstructs the identical closure. The finding, stated for the record: the model is a navigational convenience, not a correctness necessity. A change of genre did not escape the garden either — a task whose ground truth is computed from the model by exact set arithmetic over the exhaustive-search engine (removing the hand-drawn adjudication boundary entirely) returned the same null, because at small graph sizes the derivation is capability-saturated: both arms simply compute the small closure.

The over-read fence. This result was over-read twice inside the research loop, so the boundary is stated plainly: the null does not say the map is worthless. The map's value claims are system-level — fix-once-benefits-all, drift gates, tier derivation, checker mandates, the whole context-bounded-agent-operating-a-context-exceeding-codebase bridge — and none of those is a per-task recall claim. A per-task recall null cannot touch them. The entire repository is the case study for the method's system-level value; the ablation was only ever meant to isolate the map's per-task contribution, and it found that in a well-cultivated garden that contribution cannot be isolated from the map's own propagated copies.

The redundancy that flattens the ablation is consistent with the governance method achieving its stated goal: a repository in which the model's content survives the loss of any single artifact because it has been propagated into code, tests, comments, and docs. This cannot show that either representation is the "right" one — only that they agree. Map ≡ territory: the ablation cannot find a gap precisely because the governance has left no gap to find.

The positive agenda — three things to measure next. The null is not the end of the inquiry; it is a specification for the instruments the field is missing. The MAGE result is a concrete instance of a gap the surrounding literature names abstractly: the predominant evaluation framework measures individual-task performance (pass rate on benchmark tasks) and does not capture the fraction of failure classes that become mechanically prevented, or the cost-per-functionality-unit of sustained agent-mediated work. The garden null turns that abstraction into a research program:

The design lesson. Synthetic per-task ablation fights the tautology the garden creates: any answer available to the guided arm is, by construction, propagated into the code the stripped arm keeps. The complement is real-task measurement — a natural, in-production A/B in which some dispatches carry the model guidance and some do not, stamping the guidance condition and the token cost on real navigation and RCA work. This is the more promising path: the removal is natural, not artificial, so the garden cannot silently restore the answer. In this study that path exists but is not yet delivering — a broken join (the outcome writer stopped stamping the dispatch identifier, leaving ~92% of outcomes unjoinable to their guidance condition) has left it null and underpowered, and its repair is owned by a separate effort.

The register for all of this is deliberately modest. This is one repository's garden, pilot-scale (three repeats), with one unmeasured measurand. It is analytic generalization — evidence about a mechanism — not statistical generalization to a population. That is the right claim for a deep single case, and the single-case methodology discussion below makes the methodological case for why it is a claim worth making.

The methodology of deep single-case evidence

A reasonable reader reaches this point with a methodological objection: this is all one repository. The objection is correct, and meeting it squarely is itself a contribution — because the AI-augmented engineering literature is currently split between two evidence forms that answer different questions, and conflating them is the field's most common mistake.

Two evidence forms, two questions. On one side are the build reports: an organization stands up a large agent-driven effort and reports the outcome. These are proliferating and they are genuinely informative about feasibility and scale. Cloudflare rebuilt Next.js on Vite — an effort it calls vinext — in about a week, one engineer working with an AI model, and published the account 1515. Steve Faulkner, “How We Rebuilt Next.js with AI in One Week,” Cloudflare, February 24, 2026, https://blog.cloudflare.com/vinext/.. Carlini describes building a C compiler with a team of roughly sixteen parallel Claude agents: a ~100,000-line Rust compiler that builds Linux 6.9, an account that exposes the coordination surface at scale 1616. Nicholas Carlini, “Building a C Compiler with a Team of Parallel Claudes,” Anthropic, February 5, 2026, https://www.anthropic.com/engineering/building-c-compiler.. Anthropic reports a million-line migration of its Bun toolchain from Zig to Rust, carried out through large dynamic agent workflows 1717. Anthropic, “How Anthropic Runs Large-Scale Code Migrations with Claude Code,” Anthropic, July 16, 2026, https://claude.com/blog/ai-code-migration.. What build reports are best at showing is that a thing is possible — that agent-driven development reaches a scale skeptics doubted. What they cannot show is mechanism: which controls were load-bearing, which failures recurred and why, what the environment had to contain before the velocity became sustainable. A build report is an existence proof; it is not a controlled account of why it worked.

On the other side is the deep single case — this book. What it is best at showing is exactly what build reports cannot: the mechanism by which a governed environment sustains agent-mediated work over time. Seen at two years' depth, the case exposes the audit→fix→lint→meta-lint ladder, the moment a failure class converts into a deterministic control, the redundant-encoding density that flattens an ablation, the support apparatus that grows to several times the production code and functions as a substitute for code review. None of that is visible in a snapshot. The cost of the deep single case is obvious — n = 1, one toolchain — and the book states it plainly. The compensating strength is that a mechanism observed in enough detail supports analytic generalization: a reader can judge whether the conditions under which the mechanism operates hold in their own setting, and transfer the mechanism accordingly. That is a different and complementary logic from the statistical generalization a large-N study offers, and neither substitutes for the other. The companion "cheap code, costly judgment" account of this same repository tells that mechanism story at commit scale 1818. James C. Davis et al., “Cheap Code, Costly Judgment: A Case Study on Governable Agentic Software Engineering,” 2026, https://arxiv.org/abs/2607.01087..

Table 6.1-2 sets the three evidence forms side by side.

Table 6.1-2. The Three Evidence Forms. For agentic software engineering — what each form is best at showing, what it is blind to, and representative examples.
Evidence formBest at showingBlind toExamples
Build reportFeasibility / scale — agent-driven development reaches this sizeMechanism — which controls were load-bearing, which failures recurred, what the environment neededCloudflare vinext; Anthropic C-compiler (Carlini) & Bun migration; ~16-agent / ~100K-line / Linux 6.9
Deep single caseMechanism — how a governed environment sustains agent work over time; which failure classes convert to controlsPopulation-scale generalization — one repo, one toolchain, one methodThis book; and the "cheap code, costly judgment" account of the same repository
Controlled experimentEffect size — does treatment X change outcome Y, holding others fixedEcological validity — the governed-repo tautology confounds per-task strips (the garden null above)The MAGE ablation (the garden null above); the proposed real-task in-production A/B

The three rows are complements, not competitors. The build reports establish that the phenomenon is real and large; the deep case explains the mechanism; the controlled experiment — where it can escape the confounds the garden null above documents — measures effect sizes. A mature research program on agentic engineering environments needs all three, and the field's current over-reliance on individual-task benchmarks (the fallible-oracle frontier above) is a symptom of reaching for the third while neglecting the first two.

Inset — Methodological foundations for reasoning from a single deep case

The logic of learning from a single, richly-documented case is well-developed in the empirical software-engineering and social-science methods literatures, and this book stands on it explicitly. Runeson and Höst's guidelines for case-study research in software engineering supply the reporting and validity framework — design, preparation, collection, analysis, reporting, and the explicit treatment of construct, internal, and external validity threats 1919. Per Runeson and Martin Höst, “Guidelines for Conducting and Reporting Case Study Research in Software Engineering,” Empirical Software Engineering 14, no. 2 (2009): 131–64, https://doi.org/10.1007/s10664-008-9102-8.. The move from a single case to a mechanism claim — rather than a population estimate — is analytic generalization, and its most developed articulation is process-tracing: Beach and Pedersen's within-case, mechanism-focused inference, which distinguishes theory-building from theory-testing uses of a case and grounds the claim that a mechanism observed in one case can be transferred where its scope conditions hold 2020. Derek Beach and Rasmus Brun Pedersen, Process-Tracing Methods: Foundations and Guidelines, 2nd ed. (University of Michigan Press, 2019).. The register is Merton's middle-range theory: not a grand law, not raw description, but a mechanism bounded by stated conditions — the correct altitude for the claims in this book.

This framing also disciplines the honesty of the garden null above. The garden null is analytic-generalization evidence: it identifies a mechanism (redundant encoding flattens per-task recall ablation) and the scope condition under which it operates (a repository governed to propagate its models into code, tests, and docs). It is explicitly not a claim about how often that mechanism obtains across the population of software projects — that is the empirical question the field's build reports and controlled experiments must jointly answer. Read this way, the book's central methodological propositions are falsifiable predictions a reader can test in their own setting: that higher agentic velocity surfaces structural failure classes sooner; that review-based quality regimes show rising escaped-defect rates where control-based regimes do not; that teams converting failures into deterministic controls sustain velocity where inspection-reliant teams do not. Each is a proposition the deep case articulates and that a larger study could test.

The methodological research opportunity, stated directly: the field needs a shared vocabulary for which evidence form answers which question, and a norm against citing a build report as if it established mechanism, or a single deep case as if it established prevalence. The three-row table above is a first cut. Sharpening it — and building the controlled and longitudinal instruments that can escape the governed-repo confound the garden null above documents — is the empirical research the book most wants to provoke.

The new measurement regime

Set this case's unmeasured threads against the field they belong to, because the difficulty is not local to one repository. For decades, empirical software engineering has tried to measure interventions whose effects were modest beside the variation in who does the work. Three confounds swamped the rest: the skill of the engineer, the context they work in, and the intelligence they bring. Development processes, review practices, architectural styles almost certainly matter, yet their signal has been hard to pull from that noise. The field spent decades at this and rarely showed an effect much bigger than the variation. That was a signal-to-noise problem, not a failure of rigor.

GenAI is now commoditizing intelligence, and that shifts what a study can hold fixed. A coding agent's intelligence has become a roughly uniform, purchasable input: buy the same model and every condition starts from about the same cognitive baseline. One of the three confounds can now be pinned. Hold the intelligence constant and vary the rest — the environment, the representations, the governance mechanisms — and a researcher may run many experiments with far more control than the field has ever had. One caveat carries real weight: this holds only for the kind of intelligence GenAI offers, not for intelligence in general. Human genius still varies as it always has. But much of software work now flows through agents whose intelligence a study can fix as a variable, and with that confound fixed, the others may finally come into view.

That commoditization is not a forecast. It is the current empirical record. A systematic review gathers nearly four hundred AI4SE studies across dozens of software tasks 2121. Xinyi Hou et al., “Large Language Models for Software Engineering: A Systematic Literature Review,” ACM Transactions on Software Engineering and Methodology 33, no. 8 (2024), https://doi.org/10.1145/3695988., and the controlled evidence beneath it runs one way. A field experiment across three firms and 4,867 developers measured a 26% rise in completed tasks 2222. Zheyuan (Kevin) Cui et al., “The Effects of Generative AI on High-Skilled Work: Evidence from Three Field Experiments with Software Developers,” Management Science, ahead of print, 2025, https://doi.org/10.1287/mnsc.2025.00535.; an earlier randomized trial clocked a single coding task 55.8% faster with an AI assistant 2323. Sida Peng et al., “The Impact of AI on Developer Productivity: Evidence from Github Copilot,” 2023, https://arxiv.org/abs/2302.06590.. The gains are real and often modest, and sometimes they reverse: sixteen experienced open-source developers, working in repositories they knew well, ran 19% slower with early-2025 tooling even while they believed themselves faster 2424. Joel Becker et al., “Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity,” 2025, https://arxiv.org/abs/2507.09089.. That last result sharpens the point rather than denting it. Commoditization means the input is available on demand, not that it always helps. What the field still argues about is the size of the gain and the conditions that govern it. Even the sharpest benchmark fights grant the model as a usable input and quarrel only over how far contamination inflates the scores 8 9. A confound you can buy off the shelf, and dispute only in magnitude, is a confound a study can hold fixed. The order-of-magnitude MAGE proposes is a bet that the multiplier lives in the environment, not in the model's marginal point.

Agentic software engineering may change the scale of the intervention. The question stops being whether one process lifts productivity a few percent. It becomes why one engineering environment lets a single engineer govern hundreds of successful agent contributions while another stalls at a handful. The precise magnitude is not the claim — order-of-magnitude differences are a hypothesis the program should test, never a measured law. The claim is that the intervention may now produce effects large enough to see plainly.

Large effects earn their keep twice. They are worth more economically, and they are worth more scientifically. An effect that dwarfs the background variation is easier to detect, easier to reproduce across sites, and far likelier to support a mechanism-oriented theory than one that differs only marginally from organizational noise. If agentic engineering routinely produced such effects, the discipline would enter a regime where cumulative, replicable findings come within reach.

The object of study changes with the scale. Classical work mostly varied people and processes, which are emergent and hard to hold fixed. Agentic engineering lets a researcher vary engineered artifacts: representations, governance mechanisms, synchronization strategies, retrieval architectures, whole environments. These are built on purpose rather than grown by accident, and that shifts the discipline a step from behavioral science toward engineering science.

This optimism has to be squared with the negative result reported above, and squaring them sharpens both. The beautiful garden showed that a per-task ablation cannot price a governed environment: strip one model artifact and the garden's redundant, synchronized copies restore the answer, so the recall delta collapses toward zero no matter what the map is worth. That is a claim about the micro scale — one task, one artifact removed. The new regime's large effects live at the macro scale — whole environments set against whole environments, the two-organizations contrast run for real. The two results cohere, and tightly. The effects the field can now hope to see clearly are the whole-environment differences that per-task ablation is built to miss. So the garden null is not a rebuttal of the optimistic vision; it is the vision's complement. It marks where not to measure — inside one governed repository, one task at a time — so that the measurement lands where the signal is: across environments, on the outcomes the whole apparatus moves. Micro-ablation erases the effect by construction. Macro-comparison is where the same effect turns large and reproducible.

MAGE is one proposal for organizing this regime, not the regime itself. Other methodologies, architectures, and governance approaches will emerge, and the opportunity outlives any of them. The claim worth making is the broad one: agentic software engineering may create interventions whose effects are large enough, engineered enough, and reproducible enough to carry cumulative, mechanism-oriented empirical science.

Whether MAGE proves correct matters less than whether the field takes up the opportunity. If it does, empirical software engineering gains a new class of phenomena to study — effects large enough to observe, explicit enough to reproduce, structured enough to build theory on. The invitation is not to adopt one method. It is to treat agentic software engineering as an experimental science whose theories can be proposed, compared, refined, and, on evidence, replaced.

6.1.10 Limitations

I should be plain about the limits of this book. My evidence is one system, authored by me, built inside one vendor's agent ecosystem. It is deployed in production and in use by me and my colleagues at Purdue University, and every claim here stays scoped to that case. But one deep case is not a lonely one. Engineers working with agents have been converging, independently and in numbers, on the moves this book teaches: heavy testing, specification-driven development, an environment that enforces its own rules. Those reports corroborate that the practices work. What they leave open is the mechanism — how the moves compose, and why they hold against a fleet. Answering that takes a system you control end to end, with every layer in view. That is the evidence this case supplies. I built it as an instrument of inquiry as much as a product: its quality had to matter for the evidence to, and I treated every failure as data about the method rather than noise to clean up.

There is a sharper limit worth naming, and this book is my own evidence for it. I wrote it following the method it describes: the book has structured models of its own structure, and a drift gate holds those models to the prose, the same discipline I turned on the code. An LLM assisted with the first draft. But the final version will be entirely mine — every sentence rewritten in my own voice — and that rewrite is not a formality: it marks where the method stops.

Writing for other people is human-to-human communication, and voice is part of the message. An LLM cannot imitate my voice, and it does not seem right to ask you to read my ideas at one remove, mediated by a machine that is not me. So the method governs the models, the structure, the drafting of a book. It does not supply the voice. That part stays human.

Code is different, and the difference is the crux. Code is human-to-computer communication, and its properties are analytical all the way down — correctness, performance, security. There is no voice to preserve. That is precisely why governed autonomy transfers cleanly to code, and to other analytical, verifiable artifacts, while it stops short of the voice-bearing work of writing for other people. The method reaches exactly as far as the analytical, and no farther.

If you try this on a codebase of your own, I want to hear how it goes — where it held, where it broke, where your setting behaved differently from mine. One system is one entry in that larger conversation, and the shape gets sharper as more people run the experiment and report back. Come tell me what you found.

Works Cited

  1. Brooks, Frederick P. The Mythical Man-Month: Essays on Software Engineering. Anniversary. Addison-Wesley, 1995.
  2. Hutchins, Edwin. Cognition in the Wild. MIT Press, 1995.
  3. March, James G. “Exploration and Exploitation in Organizational Learning.” Organization Science 2, no. 1 (1991): 71–87.
  4. Argote, Linda, and Paul Ingram. “Knowledge Transfer: A Basis for Competitive Advantage in Firms.” Organizational Behavior and Human Decision Processes 82, no. 1 (2000): 150–69.
  5. Brooks, Frederick P. “No Silver Bullet: Essence and Accidents of Software Engineering.” Computer 20, no. 4 (1987): 10–19.
  6. Beck, Kent, Mike Beedle, Arie van Bennekum, et al. “Manifesto for Agile Software Development.” 2001. https://agilemanifesto.org/.
  7. Smith, Edward K., Earl T. Barr, Claire Le Goues, and Yuriy Brun. “Is the Cure Worse Than the Disease? Overfitting in Automated Program Repair.” In “Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (Esec/fse).” Special issue, Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (ESEC/FSE), 2015, 532–43. https://doi.org/10.1145/2786805.2786825.
  8. OpenAI. “Why SWE-Bench Verified No Longer Measures Frontier Coding Capabilities.” OpenAI, February 2026. https://openai.com/index/why-we-no-longer-evaluate-swe-bench-verified/.
  9. Liang, Shanchao, Spandan Garg, and Roshanak Zilouchian Moghaddam. “The SWE-Bench Illusion: When State-of-the-Art Llms Remember Instead of Reason.” In “Proceedings of the IEEE/ACM 48th International Conference on Software Engineering, Software Engineering in Practice (ICSE-Seip).” Special issue, Proceedings of the IEEE/ACM 48th International Conference on Software Engineering, Software Engineering in Practice (ICSE-SEIP), 2026. https://doi.org/10.1145/3786583.3786882.
  10. Scale AI. “SWE-Bench Pro: Can AI Agents Solve Long-Horizon Software Engineering Tasks?.” 2025. https://arxiv.org/abs/2509.16941.
  11. Zhang, Linghao, Shilin He, Chaoyun Zhang, et al. “SWE-Bench Goes Live!.” 2025. https://arxiv.org/abs/2505.23419.
  12. “SWE-Rebench: An Automated Pipeline for Task Collection and Decontaminated Evaluation of Software Engineering Agents.” 2025. https://arxiv.org/abs/2505.20411.
  13. Hora, Andre, and Romain Robbes. “Are Coding Agents Generating over-Mocked Tests? An Empirical Study.” 2026. https://arxiv.org/abs/2602.00409.
  14. “Do Llms Generate Test Oracles That Capture the Actual or the Expected Program Behaviour?.” 2024. https://arxiv.org/abs/2410.21136.
  15. Faulkner, Steve. “How We Rebuilt Next.js with AI in One Week.” Cloudflare, February 24, 2026. https://blog.cloudflare.com/vinext/.
  16. Carlini, Nicholas. “Building a C Compiler with a Team of Parallel Claudes.” Anthropic, February 5, 2026. https://www.anthropic.com/engineering/building-c-compiler.
  17. Anthropic. “How Anthropic Runs Large-Scale Code Migrations with Claude Code.” Anthropic, July 16, 2026. https://claude.com/blog/ai-code-migration.
  18. Davis, James C., Paschal C. Amusuo, Tanmay Singla, Berk Çakar, and Kirsten A. Davis. “Cheap Code, Costly Judgment: A Case Study on Governable Agentic Software Engineering.” 2026. https://arxiv.org/abs/2607.01087.
  19. Runeson, Per, and Martin Höst. “Guidelines for Conducting and Reporting Case Study Research in Software Engineering.” Empirical Software Engineering 14, no. 2 (2009): 131–64. https://doi.org/10.1007/s10664-008-9102-8.
  20. Beach, Derek, and Rasmus Brun Pedersen. Process-Tracing Methods: Foundations and Guidelines. 2nd ed. University of Michigan Press, 2019.
  21. Hou, Xinyi, Yanjie Zhao, Yue Liu, et al. “Large Language Models for Software Engineering: A Systematic Literature Review.” ACM Transactions on Software Engineering and Methodology 33, no. 8 (2024). https://doi.org/10.1145/3695988.
  22. Cui, Zheyuan (Kevin), Mert Demirer, Sonia Jaffe, Leon Musolff, Sida Peng, and Tobias Salz. “The Effects of Generative AI on High-Skilled Work: Evidence from Three Field Experiments with Software Developers.” Management Science, ahead of print, 2025. https://doi.org/10.1287/mnsc.2025.00535.
  23. Peng, Sida, Eirini Kalliamvakou, Peter Cihon, and Mert Demirer. “The Impact of AI on Developer Productivity: Evidence from Github Copilot.” 2023. https://arxiv.org/abs/2302.06590.
  24. Becker, Joel, Nate Rush, Elizabeth Barnes, and David Rein. “Measuring the Impact of Early-2025 AI on Experienced Open-Source Developer Productivity.” 2025. https://arxiv.org/abs/2507.09089.
© James C. Davis, 2026–present