<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Nagarjuna Yelisetty</title>
    <description>The latest articles on DEV Community by Nagarjuna Yelisetty (@ynagarjuna).</description>
    <link>https://dev.to/ynagarjuna</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3909416%2F247f4bb2-b37e-4823-ae56-bc667a0dd00f.jpg</url>
      <title>DEV Community: Nagarjuna Yelisetty</title>
      <link>https://dev.to/ynagarjuna</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ynagarjuna"/>
    <language>en</language>
    <item>
      <title>The Boring Engineering You Did Is Now AI Infrastructure</title>
      <dc:creator>Nagarjuna Yelisetty</dc:creator>
      <pubDate>Sat, 02 May 2026 19:51:45 +0000</pubDate>
      <link>https://dev.to/ynagarjuna/the-boring-engineering-you-did-is-now-ai-infrastructure-56k4</link>
      <guid>https://dev.to/ynagarjuna/the-boring-engineering-you-did-is-now-ai-infrastructure-56k4</guid>
      <description>&lt;p&gt;Part 2 of 5 in &lt;strong&gt;The New Engineering Contract&lt;/strong&gt; - what it means to lead engineers when AI is doing more of the coding.&lt;/p&gt;

&lt;p&gt;Stripe never skipped the boring stuff. They ship 1,300 AI PRs a week. Amazon skipped it. Their storefront went down for six hours. Kent Beck wrote the answer in &lt;strong&gt;&lt;em&gt;Extreme Programming Explained in 1999&lt;/em&gt;&lt;/strong&gt;. We read it. Then chose velocity anyway.&lt;/p&gt;




&lt;p&gt;A friend of mine leads engineering at a funded startup.&lt;/p&gt;

&lt;p&gt;Sharp person. Good instincts. We talk regularly about what's actually happening in engineering. Not the conference version. The real version.&lt;/p&gt;

&lt;p&gt;Last month he told me something that has been sitting with me since.&lt;/p&gt;

&lt;p&gt;His board had just seen another AI productivity deck. The kind with the 4.5x velocity slide. He said: &lt;em&gt;"I need to show something in three weeks or I'll be the only person in the room without a number."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I've heard variations of this from almost every engineering leader I know right now. The pressure isn't coming from incompetence. It's coming from a genuine fear of falling behind, and a market that's rewarding speed over everything else.&lt;/p&gt;

&lt;p&gt;But here's what I've been watching.&lt;/p&gt;

&lt;p&gt;The organisations that are winning with AI didn't change what they valued when AI arrived. They automated what they already believed.&lt;/p&gt;

&lt;p&gt;To understand why, you have to go back further than Amazon and Stripe. You have to start with a pattern most engineering leaders recognise but rarely say out loud.&lt;/p&gt;




&lt;h2&gt;
  
  
  The pattern nobody is talking about
&lt;/h2&gt;

&lt;p&gt;There's an engineer who gets the call. Not once. Every day. Same time. Same issue. Same fix.&lt;/p&gt;

&lt;p&gt;A CRON fails. Server goes down. Engineer restarts it. Gets praised in standup. Three years later, same engineer, same call, same restart, same appraisal comment: "great context, always available."&lt;/p&gt;

&lt;p&gt;Nobody asks why the CRON still fails.&lt;/p&gt;

&lt;p&gt;The engineer who quietly prevented three other issues from ever becoming calls? Invisible. No heroics. No story. No raise.&lt;/p&gt;

&lt;p&gt;This is the default incentive structure of most engineering orgs. Not by design. By inertia.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8y8lug745rl06u5uxbi.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fc8y8lug745rl06u5uxbi.jpg" alt="Prevention vs Cure — the default incentive structure of most engineering orgs" width="800" height="634"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now AI is running the same pattern.&lt;/p&gt;

&lt;p&gt;First output is wow. Demo runs clean. PR merges fast. Nobody asks what happens on commit 47. Nobody tracks whether the same regression is back next sprint.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI didn't create this incentive problem. It inherited it.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Kent Beck described this failure mode in &lt;em&gt;Extreme Programming Explained&lt;/em&gt; in 1999.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;The cost of a bug rises dramatically the longer it goes undetected. Find it in development: cheap. Find it in production: expensive. Find it a year later in a system nobody understands anymore: catastrophic.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;em&gt;Paraphrased from Extreme Programming Explained, Kent Beck, 1999&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most teams read that. Nodded. Then optimised for velocity anyway.&lt;/p&gt;

&lt;p&gt;Then AI arrived. The same cycle is now running at machine speed. Features fast. Bugs compound. Hero celebrated. Foundation ignored.&lt;/p&gt;

&lt;p&gt;Kent Beck had one line for this moment too.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;"Optimism is an occupational hazard of programming. Feedback is the treatment."&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Kent Beck, Extreme Programming Explained, 1999&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Amazon was optimistic. Stripe built feedback. The rest is six hours of downtime, 21,716 outage reports, and a checkout button that didn't work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI didn't create the problem. It just stopped hiding it.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Amazon's answer: make adoption the goal
&lt;/h2&gt;

&lt;p&gt;November 24, 2025. &lt;a href="https://awesomeagents.ai/news/amazon-kiro-ai-aws-outages" rel="noopener noreferrer"&gt;An internal memo co-signed by SVPs Peter DeSantis (AWS) and Dave Treadwell (eCommerce)&lt;/a&gt; establishes Kiro, Amazon's own AI coding assistant, as the company standard. 80% weekly usage by year-end, tracked as a corporate OKR. Amazon reported 21,000 AI agents deployed across Stores, claiming $2B in cost savings and 4.5x developer velocity — numbers that made it to earnings calls.&lt;/p&gt;

&lt;p&gt;The engineers closest to the work weren't celebrating.&lt;/p&gt;

&lt;p&gt;Approximately &lt;a href="https://awesomeagents.ai/news/amazon-ai-code-review-outages-senior-approval" rel="noopener noreferrer"&gt;1,500 of them signed an internal petition&lt;/a&gt;. Their argument: the policy prioritised corporate product adoption over engineering quality. Senior AWS employees described what followed as "entirely foreseeable."&lt;/p&gt;

&lt;p&gt;Leadership couldn't walk it back. By the time executive sign-off arrived, capex plans had ballooned toward $200 billion for AI hardware. The investment narrative was already public. Walking back the mandate would have meant admitting the story was wrong, in an earnings call, in front of investors.&lt;/p&gt;

&lt;p&gt;The feedback was there. It just wasn't connected to anything that mattered to the people making decisions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmrhtvluopivr4y04zlg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsmrhtvluopivr4y04zlg.png" alt="Amazon's AI mandate timeline — from Kiro rollout to six-hour storefront outage" width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;December 2025. Kiro, assigned to resolve a software issue in AWS Cost Explorer, autonomously decided the best approach was to delete and recreate the entire environment. 13-hour outage. China region.&lt;/p&gt;

&lt;p&gt;February 2026. A second outage. Engineers let Amazon Q Developer resolve a production issue without intervention. Same pattern. Higher stakes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://thetechmarketer.com/amazon-down-login-price-errors" rel="noopener noreferrer"&gt;March 5, 2026. Amazon.com down for six hours. Checkout failed. Prices disappeared from listings. Login broken across website and mobile app. 21,716 outage reports at peak on Downdetector. Cause: a faulty software deployment.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Amazon's internal briefing note described "novel GenAI usage" with best practices and safeguards not yet established, and high blast radius as a recurring characteristic.&lt;/p&gt;

&lt;p&gt;Here's what actually happened technically. The agent inherited a senior engineer's permissions and acted like one. Except it doesn't hesitate. There was no harness, no bounded scope, no deterministic guardrails, no approval gate for destructive operations. The model ran the system. The system didn't run the model.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Amazon built the agent. They forgot to build the harness. The missing harness took their storefront down for six hours.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The pattern: ship the capability, mandate adoption, discover the failure in production, add the guardrail. In every post-incident review, the framing shifts toward operator error. The tool is never the problem. The person who used it is.&lt;/p&gt;

&lt;p&gt;Same cycle Beck warned about in 1999. Machine speed. Larger blast radius.&lt;/p&gt;




&lt;h2&gt;
  
  
  Stripe's answer: the model doesn't run the system
&lt;/h2&gt;

&lt;p&gt;Stripe didn't wait for AI to care about feedback loops.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://newsletter.pragmaticengineer.com/p/stripe-part-2" rel="noopener noreferrer"&gt;Stripe runs more than six billion tests on code changes every day. Each change is verified within 15 minutes. Tests that would take 50 days to run on a single CPU.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;That infrastructure wasn't built for AI. It was built because Stripe believed what Kent Beck wrote: that feedback is the only treatment for the occupational hazard of optimism in engineering. They built it at a scale Beck couldn't have imagined in 1999. And when AI arrived, it plugged straight in.&lt;/p&gt;

&lt;p&gt;When AI arrived at Stripe, they didn't scramble to add governance. They already had it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4xphr05jyehv2d3fkhc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fl4xphr05jyehv2d3fkhc.png" alt="Stripe Minions — blueprints that alternate deterministic nodes with open-ended agent loops" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Their AI agent system, which they call Minions, is built on what they call blueprints. Orchestration flows that alternate between fixed, deterministic code nodes and open-ended agent loops. As &lt;a href="https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents" rel="noopener noreferrer"&gt;Stripe put it in their own engineering blog&lt;/a&gt;: "putting LLMs into contained boxes compounds into system-wide reliability upside." The model does not run the system. The system runs the model.&lt;/p&gt;

&lt;p&gt;This is harness engineering. The agent operates within a defined scope, gets a maximum of two CI rounds, terminates at a pull request, and cannot take destructive actions without explicit gates. Engineers can still intervene, but the agent produces the whole branch without hand-holding.&lt;/p&gt;

&lt;p&gt;The result: Stripe engineers are merging 1,300 pull requests every week with zero human-written code, on a codebase with hundreds of millions of lines, handling over $1 trillion in annual payment volume.&lt;/p&gt;

&lt;p&gt;Not because their AI is smarter. Because their harness is tighter.&lt;/p&gt;

&lt;p&gt;AI reliability scales with the quality of its constraints, not the size of the model. Most teams are learning this the hard way. Stripe learned it before they needed to.&lt;/p&gt;

&lt;p&gt;And when something doesn't meet the bar, they remove it. Even features users love. Because a feature built on a weak foundation isn't a feature. It's debt with a good demo.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stripe.com/sessions/2024/building-a-culture-of-system-reliability" rel="noopener noreferrer"&gt;Rahul Patil, then CTO of Stripe and now CTO of Anthropic&lt;/a&gt;, speaking on Stripe's reliability culture in the context of the trust they maintain with payment partners and the financial infrastructure they operate, said something that has stayed with me. Reliability is a mindset, not a metric. You don't build it when you need it. You build it before you know you'll need it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The teams winning with AI didn't change what they valued when AI arrived. They automated what they already believed.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What this looks like when you're not Stripe
&lt;/h2&gt;

&lt;p&gt;I was building a critical frontend layer at Medibuddy. The first thing every user touches. The thing that gets blamed when anything feels slow, broken, or wrong, even when the problem is somewhere else entirely.&lt;/p&gt;

&lt;p&gt;We were preparing for a critical event. Load testing time.&lt;/p&gt;

&lt;p&gt;My team wanted to celebrate that it held at 3X load.&lt;/p&gt;

&lt;p&gt;I wanted to know where it breaks at 10X.&lt;/p&gt;

&lt;p&gt;Here's why that matters. At 3X, response times look acceptable. At 10X, they degrade, and they don't degrade equally. The user on a high-end phone with broadband barely notices. The user on a low-end Android device on a 3G network in a tier-3 city gets the worst of it. In a health platform, that user is often the one who needs the service most.&lt;/p&gt;

&lt;p&gt;The breaking point isn't about finding failure for its own sake. It's about knowing exactly where your system starts punishing your most vulnerable users, so you can build a roadmap with real data instead of comfortable assumptions. Without that number, every platform decision is a guess. With it, you know what to fix first and why.&lt;/p&gt;

&lt;p&gt;My team called me a borderline psycho.&lt;/p&gt;

&lt;p&gt;I didn't have a name for what I was doing. I just knew that celebrating 3X without knowing where 10X breaks is guesswork dressed as confidence.&lt;/p&gt;

&lt;p&gt;Stripe calls it practicing your worst day every day.&lt;/p&gt;

&lt;p&gt;I was doing it at Medibuddy by instinct, without knowing it had a name, without the cultural backing, while my team pushed back.&lt;/p&gt;

&lt;p&gt;The principle doesn't require Stripe's infrastructure. It requires the decision to care about the foundation before the incident tells you to.&lt;/p&gt;

&lt;p&gt;If your team has ever called you difficult for asking the uncomfortable question, you weren't being difficult. You were doing the job nobody celebrates until the system breaks without it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The thing most teams are missing
&lt;/h2&gt;

&lt;p&gt;Evals are test cases. Skills files are documentation. Agent loops are CI pipelines.&lt;/p&gt;

&lt;p&gt;Nobody wants to hear this because it means the AI transformation project is actually a culture and discipline project wearing a technology hat.&lt;/p&gt;

&lt;p&gt;If your team couldn't write tests before AI, they can't write evals now. If they didn't write documentation before AI, skills files will be ignored. If they didn't build feedback loops before AI, the agent loop will generate failures faster than anyone can review them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The model is not the risk. The system around the model is the risk. Most teams are buying models and skipping systems.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6i20w9sut543568m0ky6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6i20w9sut543568m0ky6.png" alt="Nothing changed. Only the name did. Evals are test cases. Skills files are documentation. Agent loops are CI pipelines." width="800" height="436"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is where the headcount conversation becomes dangerous.&lt;/p&gt;

&lt;p&gt;This reminds me of a conversation I had with a senior leader at a previous company. Half-joking, half-serious, they looked at me and said: "Since you are already using AI, leveraging it and delivering faster, you can probably cut the team by 50% and still deliver the same output, right?"&lt;/p&gt;

&lt;p&gt;It's the kind of comment that sounds like a compliment. It isn't.&lt;/p&gt;

&lt;p&gt;It assumes AI is a headcount equation. Pick up the tool, drop the headcount. Nobody asked what the tool runs on.&lt;/p&gt;

&lt;p&gt;My answer: same team, same timeline. But 50% better quality, maybe 100%. That is what AI actually unlocks when the foundation is already there.&lt;/p&gt;

&lt;p&gt;Amazon had 21,000 agents and no harness. The agents found every gap in the system. Stripe had the harness first. The agents plugged into it cleanly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AI didn't create the gaps. Speed found them. AI just made the finding public.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Whether it's my friend's board meeting or yours
&lt;/h2&gt;

&lt;p&gt;Two numbers. That's what actually matters to bring.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Change failure rate&lt;/strong&gt; before and after AI tools. If it's rising, you don't have a quality contract yet. You have an adoption OKR.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Time for a regression to surface.&lt;/strong&gt; How long between a broken deploy and someone knowing about it? If that number is measured in days rather than minutes, your harness isn't built.&lt;/p&gt;

&lt;p&gt;If you don't have those numbers, that's the answer. Not about AI. About whether your foundation exists at all.&lt;/p&gt;

&lt;p&gt;But here's what the numbers won't tell you. Numbers are a lagging signal. The culture that produces them is the leading one.&lt;/p&gt;

&lt;p&gt;Amazon's engineers knew. 1,500 of them said so in writing. The culture didn't hear them because it was optimising for a different signal. Adoption rate, velocity, the 4.5x slide.&lt;/p&gt;

&lt;p&gt;The engineering leaders who will navigate this decade aren't the ones who adopt AI fastest. They're the ones who build teams where an engineer can raise a concern without being dismissed. Where a slow test suite is treated as a system problem, not a productivity complaint. Where maintaining something well is as celebrated as shipping something new.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Speed without a culture of ownership, feedback and accountability doesn't compound. It just breaks faster.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Build the harness. Build the culture that maintains it. Then bring the number.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;em&gt;The boring engineering you did before AI arrived? That's the moat now. Stripe proved it. Amazon proved it differently.&lt;/em&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;&lt;a href="https://dev.to/nagarjuna_yelisetty/ai-agents-dont-fail-at-code-they-fail-at-learning-51om"&gt;In Part 1- AI Agents Don't Fail at Code. They Fail at Learning&lt;/a&gt;, I wrote about how AI agents fail not at writing code but at maintaining it — and how I realised I had never measured maintainability precisely either, for AI or for my own team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;In Part 3, I'll write about what happened when I tried to build with AI myself. Burned $100. Blamed the model. Took a break to move out of FOMO and anxiety. Came back with one question nobody is asking: if AI mimics the person in front of it — what happens when that person has nothing left to teach it?&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Further reading&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://awesomeagents.ai/news/amazon-kiro-ai-aws-outages" rel="noopener noreferrer"&gt;Amazon Kiro AI AWS Outages&lt;/a&gt; — Timeline of Amazon's AI mandate and resulting incidents&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://awesomeagents.ai/news/amazon-ai-code-review-outages-senior-approval" rel="noopener noreferrer"&gt;Amazon AI Code Review Outages and Senior Approval&lt;/a&gt; — The internal petition and what followed&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://thetechmarketer.com/amazon-down-login-price-errors" rel="noopener noreferrer"&gt;Amazon.com March 2026 outage&lt;/a&gt; — Six hours of checkout failure&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://stripe.dev/blog/minions-stripes-one-shot-end-to-end-coding-agents" rel="noopener noreferrer"&gt;Stripe Engineering: Minions&lt;/a&gt; — How Stripe's one-shot coding agents work&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://newsletter.pragmaticengineer.com/p/stripe-part-2" rel="noopener noreferrer"&gt;Stripe's engineering culture (Pragmatic Engineer)&lt;/a&gt; — The 6B tests/day infrastructure&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://stripe.com/sessions/2024/building-a-culture-of-system-reliability" rel="noopener noreferrer"&gt;Stripe Sessions 2024 — Building a culture of system reliability&lt;/a&gt; — Rahul Patil on reliability as a mindset&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Extreme Programming Explained&lt;/em&gt; — Kent Beck, 1999&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>engineeringleadership</category>
      <category>softwarequality</category>
      <category>platformengineering</category>
    </item>
    <item>
      <title>AI Agents Don't Fail at Code. They Fail at Learning.</title>
      <dc:creator>Nagarjuna Yelisetty</dc:creator>
      <pubDate>Sat, 02 May 2026 18:54:16 +0000</pubDate>
      <link>https://dev.to/ynagarjuna/ai-agents-dont-fail-at-code-they-fail-at-learning-51om</link>
      <guid>https://dev.to/ynagarjuna/ai-agents-dont-fail-at-code-they-fail-at-learning-51om</guid>
      <description>&lt;p&gt;&lt;em&gt;Part 1 of 5 in The New Engineering Contract — what it means to lead engineers when AI is doing more of the coding.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;SWE-CI tested 18 AI models across 71 consecutive commits. Most broke something on commit 47 they'd already broken on commit 1. That's not an intelligence problem. That's a learning system that isn't learning.&lt;/p&gt;




&lt;p&gt;A paper made me uncomfortable this month.&lt;/p&gt;

&lt;p&gt;Not because of what it found about AI. Because of what it revealed about how I think about my own work.&lt;/p&gt;

&lt;p&gt;The paper is &lt;a href="https://arxiv.org/abs/2603.03823" rel="noopener noreferrer"&gt;SWE-CI&lt;/a&gt;, published March 4, 2026 by researchers at Sun Yat-sen University and Alibaba Group. It tested 18 AI models across 100 real codebases — not single bug fixes, but 71 consecutive commits of genuine evolution. The core finding: most state-of-the-art models have a zero-regression rate below 0.25. Three out of four times, the agent fixed something and silently broke something else downstream.&lt;/p&gt;

&lt;p&gt;I read that and thought: that's a learning problem, not a coding problem.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the paper actually tests
&lt;/h2&gt;

&lt;p&gt;Most benchmarks ask: &lt;em&gt;can an AI fix this bug?&lt;/em&gt; SWE-CI asks a harder question.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"SWE-CI moves beyond fixing individual bugs and instead focuses on the evolutionary trajectory between two commit versions."&lt;/p&gt;

&lt;p&gt;— &lt;em&gt;SWE-CI paper, Chen et al., 2026&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The benchmark covers 100 tasks, each spanning an average of 233 days and 71 consecutive real commits. Agents must navigate a full CI loop — generating requirements, modifying source code, running tests — iteratively, not in a single shot. That's the difference between a sprint task and a six-month project. The paper is evaluating the second thing.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp39cmafwov3l6rrauvff.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fp39cmafwov3l6rrauvff.png" alt="SWE-CI benchmark framework and dual-agent workflow" width="800" height="397"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Figure 1 from the paper: SWE-CI's Architect–Programmer dual-agent evaluation protocol. The agent must execute a CI-loop across 71 consecutive commits — not patch a single bug in isolation.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;I have one signal I've used for years to tell whether someone on my team is actually growing: are they making different mistakes?&lt;/p&gt;

&lt;p&gt;Make the same mistake twice and I'm concerned. Three times and I have a conversation — not a performance conversation, a diagnostic one. I want to understand the mechanism. Did the signal not reach them? Did they receive it and not act on it? Did they act on it and still land in the same place?&lt;/p&gt;

&lt;p&gt;The answer changes everything I do next. A signal that didn't reach someone is an infrastructure problem — maybe they're out of the right post-mortems, or the runbook is wrong. A signal received but not acted on is a motivation or attention problem. A signal acted on but still producing the same failure is a mental model problem — they changed the surface behaviour without touching the root cause.&lt;/p&gt;

&lt;p&gt;Ten times the same mistake, none of those explanations hold. That's carelessness or disengagement, and I treat it differently.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The same mistake twice is entropy. A new mistake is evidence of a mind moving forward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I didn't always run this diagnostic. At Medibuddy, we had a recurring 401 issue — users being logged out mid-flow in the webview even when they were still logged into the native app. The code review instruction was explicit: handle 401 universally, refresh the token, add exponential backoff, apply it regardless of whether the user came from Android, iOS, or web. One engineer fixed it in the obvious flow. I reviewed the PR, it looked right, and moved on. Three weeks later, the same incomplete pattern surfaced in a different flow. Same 401. Different screen.&lt;/p&gt;

&lt;p&gt;I had reviewed the output, not diagnosed the understanding. They'd absorbed the instruction for one case. The mental model hadn't transferred. That's not a skill failure. That's a learning failure. It has a specific shape.&lt;/p&gt;




&lt;h2&gt;
  
  
  AI agents have the same shape
&lt;/h2&gt;

&lt;p&gt;Now look at most AI agents. They fail the same way on commit 47 that they did on commit 1. There's no diagnostic conversation. No signal-to-action loop. No mechanism to distinguish "I didn't receive the signal" from "I received it and didn't know what to do with it." The agent just proceeds. Same failure pattern, new commit.&lt;/p&gt;

&lt;p&gt;The paper formalises this with &lt;strong&gt;EvoScore&lt;/strong&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Good maintenance not only ensures functional correctness of current code, but minimizes difficulty of keeping code correct."&lt;/p&gt;

&lt;p&gt;— &lt;em&gt;SWE-CI paper, Chen et al., 2026&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;EvoScore doesn't ask whether an agent passes tests. It asks whether passing today's tests makes tomorrow's tests easier or harder. An agent that hardcodes an assumption — true right now — passes commit 1 and silently poisons commit 12. An agent that fixes the underlying abstraction makes the next three commits cleaner.&lt;/p&gt;

&lt;p&gt;That's the same thing I'm measuring when I track whether an engineer makes different mistakes — are their decisions compounding toward something, or just recurring?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FSKYLENAGE-AI%2FSWE-CI%2Fmain%2Fdocs%2Fresult.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fraw.githubusercontent.com%2FSKYLENAGE-AI%2FSWE-CI%2Fmain%2Fdocs%2Fresult.png" alt="SWE-CI model leaderboard — EvoScore results across 18 models" width="800" height="450"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Figure 2 from the paper: Model leaderboard measured by Average Normalized Change (ANC). Only the Claude Opus series exceeds a 50% zero-regression rate. Every other model falls below 25%.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I've been building against this failure mode for years. At Medibuddy, we made a deliberate platform shift: migrate from AngularJS to React, move away from native apps toward a unified web layer — an NX monorepo with shared libraries owning the hard parts. Authentication flows. The native-web bridge. Event contracts. The component layer. Every product team built on those blocks rather than rebuilding them. The kind of investment big tech formalises as internal developer platforms or design systems. We called it Web LEGO. The design principle wasn't elegance. It was familiarity. If something breaks, it breaks the same way for everyone. Familiar failures get diagnosed faster. Familiar failures get fixed faster. The platform aged well not because it was clever, but because it stopped surprising us.&lt;/p&gt;

&lt;p&gt;But I couldn't tell you that as a number. I could feel it — maintenance windows stopped appearing in my calendar, teams stopped fearing release Fridays — but I had no score. No rate. No proof.&lt;/p&gt;

&lt;p&gt;The clearest signal came from outside engineering entirely. After one performance optimisation, our CMO passed feedback to our CTO, who passed it to me: &lt;em&gt;"The Android app feels faster."&lt;/em&gt; My dashboard showed nothing. API response times flat. Error rate flat. Crash rate flat. But a user felt something, and that feeling traveled through the C-suite before it reached the people who built it.&lt;/p&gt;

&lt;p&gt;That is the measurement gap. The best systems earn trust so thoroughly they bypass your instruments entirely.&lt;/p&gt;




&lt;h2&gt;
  
  
  The question SWE-CI is asking
&lt;/h2&gt;

&lt;p&gt;The paper has limits. 100 repositories, Python only, no human baseline. Lehman's Laws — which it cites as foundational — were &lt;a href="https://users.ece.utexas.edu/~perry/education/SE-Intro/lehman.pdf" rel="noopener noreferrer"&gt;social observations from IBM's OS/360 system in 1980&lt;/a&gt;, and Lehman himself later clarified they should be read as social-science laws, not physical constants. EvoScore will be gamed — or transcended. As agentic coding shifts from single-shot generation to continuous autonomous loops across commit timelines, the next wave of models will be optimised for exactly this trajectory. The benchmark becomes the floor, not the ceiling. &lt;a href="https://openai.com/index/introducing-swe-bench-verified/" rel="noopener noreferrer"&gt;The same pattern played out with SWE-bench&lt;/a&gt;, compromised within 18 months of release. That evolution won't dissolve the learning problem. It will make it harder to see.&lt;/p&gt;

&lt;p&gt;But the question it's asking is the right one.&lt;/p&gt;

&lt;p&gt;Michael Truell, CEO of Cursor, posted this in January 2026:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"We built a browser with GPT-5.2 in Cursor. It ran uninterrupted for one week. It's 3M+ lines of code across thousands of files... It &lt;em&gt;kind of&lt;/em&gt; works!"&lt;/p&gt;

&lt;p&gt;— &lt;a href="https://x.com/mntruell/status/2011562190286045552" rel="noopener noreferrer"&gt;Michael Truell on X, January 14, 2026&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://www.theregister.com/2026/01/22/cursor_ai_wrote_a_browser/" rel="noopener noreferrer"&gt;The Register called it shoddy code at scale.&lt;/a&gt; Both descriptions are accurate. It passed commit 1. Nobody knows what it looks like at commit 47 — because it was never built to reach commit 47. That's not a failure of AI capability. That's a failure of what we decided to measure.&lt;/p&gt;

&lt;p&gt;You can't fix what you aren't tracking. I learned that watching engineers make the same mistake twice.&lt;/p&gt;




&lt;h2&gt;
  
  
  The uncomfortable truth
&lt;/h2&gt;

&lt;p&gt;Here's the uncomfortable truth I can't argue my way around.&lt;/p&gt;

&lt;p&gt;Most SOTA models have a zero-regression rate below 0.25. That number hasn't moved significantly across the frontier models I use today. Which means if I take my hands off the wheel — merge code I haven't read, deploy features I haven't traced the assumptions on — I'm accepting a 75% chance of silent breakage downstream.&lt;/p&gt;

&lt;p&gt;That's not a reason to stop using AI. It's a reason to stay in the loop.&lt;/p&gt;

&lt;p&gt;I use it to draft TRDs — not to write them, but to surface the assumptions I'd have held silently. I use it as a sounding board before committing to a direction. I use it to prototype fast, then review every prototype for what it assumes before it goes near production. Fast code carries fast assumptions. Speed and carelessness travel together.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The loop isn't friction. It's the only thing converting AI's output speed into engineering quality.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Blind AI coding isn't a productivity strategy. It's entropy at machine speed.&lt;/p&gt;




&lt;h2&gt;
  
  
  One changed question
&lt;/h2&gt;

&lt;p&gt;After reading this paper, I changed one question in how I review AI-generated code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Before:&lt;/strong&gt; does this pass the tests?&lt;br&gt;
&lt;strong&gt;After:&lt;/strong&gt; what does this fix assume — and will that assumption still hold after the next three features?&lt;/p&gt;

&lt;p&gt;That question isn't in most PR templates. It should be — for AI-generated code. And honestly, for human-written code too.&lt;/p&gt;

&lt;p&gt;The difference is that a person, over time, can internalise that question and start asking it themselves. The learning compounds. AI agents right now don't have that mechanism. Every commit is day one. The agent that fixed the 401 in flow A has no memory of flow B. No diagnostic loop. No compounding.&lt;/p&gt;

&lt;p&gt;That's what SWE-CI is measuring. Not whether AI can write code. Whether it can write code that compounds.&lt;/p&gt;

&lt;p&gt;I've been trying to build that — in systems, in teams, in how I develop engineers — for years. The unit of measurement changes. The failure mode doesn't.&lt;/p&gt;

&lt;p&gt;I still can't measure it precisely.&lt;/p&gt;

&lt;p&gt;But when it's working, a user updates their app and feels something they can't name. That feeling travels up through your CMO. It reaches you.&lt;/p&gt;

&lt;p&gt;That's the score that matters. And it's the one most AI governance conversations aren't yet designed to reach.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;In Part 2: what happens when two engineering organisations face this at scale — and respond differently. Amazon instrumented AI across millions of orders. Stripe built 6 billion test runs a day. Same tools. What each organisation chose to trust, and how much, is the whole story.&lt;/em&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  Further reading
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://arxiv.org/abs/2603.03823" rel="noopener noreferrer"&gt;SWE-CI: Evaluating Agent Capabilities in Maintaining Codebases via Continuous Integration&lt;/a&gt; — Chen, Xu, Wei, Chen &amp;amp; Zhao (Sun Yat-sen University / Alibaba Group, March 4, 2026). The paper this post responds to.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/SKYLENAGE-AI/SWE-CI" rel="noopener noreferrer"&gt;SWE-CI GitHub repository&lt;/a&gt; — Open benchmark code and dataset.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://awesomeagents.ai/news/alibaba-swe-ci-ai-coding-agents-long-term-maintenance/" rel="noopener noreferrer"&gt;75% of AI Coding Agents Break Working Code Over Time&lt;/a&gt; — Coverage of the SWE-CI findings.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://topaiproduct.com/2026/03/09/swe-ci-exposes-what-ai-coding-agents-still-cant-do/" rel="noopener noreferrer"&gt;SWE-CI Exposes What AI Coding Agents Still Can't Do&lt;/a&gt; — Analysis of the benchmark's implications.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.theregister.com/2026/01/22/cursor_ai_wrote_a_browser/" rel="noopener noreferrer"&gt;Cursor shows AI agents capable of shoddy code at scale&lt;/a&gt; — The Register's reporting on FastRender.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://fortune.com/2026/01/23/cursor-built-web-browser-with-swarm-ai-agents-powered-openai/" rel="noopener noreferrer"&gt;Cursor's AI Revolution: Building a Browser from Scratch&lt;/a&gt; — Fortune's take on the multi-agent architecture.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://x.com/mntruell/status/2011562190286045552" rel="noopener noreferrer"&gt;Michael Truell's original X announcement&lt;/a&gt; — January 14, 2026.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://simonwillison.net/2026/jan/19/scaling-long-running-autonomous-coding/" rel="noopener noreferrer"&gt;Scaling long-running autonomous coding&lt;/a&gt; — Simon Willison's analysis.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://openai.com/index/introducing-swe-bench-verified/" rel="noopener noreferrer"&gt;Introducing SWE-bench Verified&lt;/a&gt; — OpenAI's response to SWE-bench reliability problems.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.swebench.com/" rel="noopener noreferrer"&gt;SWE-bench Leaderboard&lt;/a&gt; — The benchmark SWE-CI builds upon.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://users.ece.utexas.edu/~perry/education/SE-Intro/lehman.pdf" rel="noopener noreferrer"&gt;Lehman, M.M. (1980). "Programs, Life Cycles, and Laws of Software Evolution." &lt;em&gt;Proceedings of the IEEE&lt;/em&gt;, 68, 1060–1076.&lt;/a&gt; — The original paper behind Lehman's Laws, based on IBM's OS/360.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://en.wikipedia.org/wiki/Lehman%27s_laws_of_software_evolution" rel="noopener noreferrer"&gt;Lehman's Laws of Software Evolution&lt;/a&gt; — Wikipedia overview and critique.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ai</category>
      <category>maintainability</category>
      <category>engineeringleadership</category>
      <category>codequality</category>
    </item>
  </channel>
</rss>
