<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Confident Commit: Newsletter]]></title><description><![CDATA[Revealing the benchmarks, delivery metrics, and strategies behind the world's best software teams.]]></description><link>https://www.confidentcommit.com/s/newsletter</link><image><url>https://substackcdn.com/image/fetch/$s_!nIQR!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcfc0382e-96b7-4183-86b5-c2d29838b081_1024x1024.png</url><title>Confident Commit: Newsletter</title><link>https://www.confidentcommit.com/s/newsletter</link></image><generator>Substack</generator><lastBuildDate>Thu, 24 Sep 2026 04:56:15 GMT</lastBuildDate><atom:link href="https://www.confidentcommit.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[CircleCI]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[circleci@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[circleci@substack.com]]></itunes:email><itunes:name><![CDATA[Confident Commit]]></itunes:name></itunes:owner><itunes:author><![CDATA[Confident Commit]]></itunes:author><googleplay:owner><![CDATA[circleci@substack.com]]></googleplay:owner><googleplay:email><![CDATA[circleci@substack.com]]></googleplay:email><googleplay:author><![CDATA[Confident Commit]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[What we've learned (so far) making CircleCI work for agents]]></title><description><![CDATA[Five things we learned about context, tools, and evaluation when we started building for AI agents instead of humans]]></description><link>https://www.confidentcommit.com/p/designing-for-agent-experience-ax-lessons-from-circleci</link><guid isPermaLink="false">https://www.confidentcommit.com/p/designing-for-agent-experience-ax-lessons-from-circleci</guid><dc:creator><![CDATA[Confident Commit]]></dc:creator><pubDate>Wed, 23 Sep 2026 13:01:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a676ea47-6cf9-4030-b849-afaa989ed7fd_1300x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><span>Software companies have spent decades designing products around the needs of the people who use them. We started by focusing on </span><strong><span>user experience (UX)</span></strong><span>: making software understandable, intuitive, and effective for end users. Then, as software became something developers increasingly had to integrate with, extend, and build on, developers became an important user group in their own right. </span><strong><span>Developer experience (DX)</span></strong><span> grew out of the need to design for them specifically, with APIs, documentation, SDKs, CLIs, and workflows built around how developers work.</span></p><p><span>Now we&#8217;re building for a different kind of user: AI agents. Increasingly, agents are taking action on behalf of users and developers. They&#8217;re reading documentation, inspecting code, calling </span><a href="https://circleci.com/blog/what-is-api/"><span>APIs</span></a><span> and </span><a href="https://circleci.com/blog/mcp-vs-cli/"><span>CLIs</span></a><span>, and using </span><a href="https://circleci.com/product/mcp/"><span>MCP tools</span></a><span> to interact directly with products. And just as good UX and DX require designing around the needs of their users, products need to account for how agents find information, choose tools, make decisions, and take action.</span></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!qTb-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!qTb-!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 424w, https://substackcdn.com/image/fetch/$s_!qTb-!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 848w, https://substackcdn.com/image/fetch/$s_!qTb-!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 1272w, https://substackcdn.com/image/fetch/$s_!qTb-!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!qTb-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png" width="1456" height="744" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:744,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!qTb-!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 424w, https://substackcdn.com/image/fetch/$s_!qTb-!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 848w, https://substackcdn.com/image/fetch/$s_!qTb-!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 1272w, https://substackcdn.com/image/fetch/$s_!qTb-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a5aa789-e633-4b17-a80e-7fc308ef26fd_1840x940.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The industry has started calling this </span><strong><a href="https://circleci.com/topics/agent-experience/"><span>agent experience (AX)</span></a></strong><span>. As more work moves through agents, their ability to understand and operate a product becomes part of the product experience itself. A platform can have excellent UX and DX and still be difficult for an agent to use reliably. </span><strong><span>At CircleCI, we&#8217;ve made solving that problem a core product goal: making CircleCI work just as well for agents as it does for the developers they support.</span></strong></p><p><span>In this issue we&#8217;re sharing what we&#8217;ve learned redesigning CircleCI for agents. We&#8217;ll start with the product problem that pushed us into AX, then walk through five findings from our testing that changed how we think about context, tools, evaluation, and the way agents interact with a product.</span></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.confidentcommit.com/subscribe?"><span>Subscribe now</span></a></p><h2><span>We started with broken builds</span></h2><p><span>The need to design for agents is already showing up in how customers use CircleCI. In our</span><a href="https://circleci.com/blog/five-takeaways-2026-software-delivery-report/"><span> 2026 software delivery data</span></a><span>, average daily workflow volume increased </span><strong><span>59% year over year</span></strong><span>, the largest increase we&#8217;ve measured. More agent-generated code means more builds, tests, and opportunities for failures to interrupt the development loop.</span></p><p><strong><span>Broken builds were the highest-value place to start.</span></strong><span> If agents can produce code quickly, they also need an efficient way to recover when validation fails. Our first approach followed what Netlify CEO Mathias Biilmann</span><a href="https://biilmann.blog/articles/introducing-ax/"><span> describes</span></a><span> as the </span><strong><span>closed</span></strong><span> model of agent experience. The original version of</span><a href="https://circleci.com/blog/introducing-chunk/"><span> </span></a><strong><a href="https://circleci.com/blog/introducing-chunk/"><span>Chunk</span></a></strong><span> was a hosted agent that could diagnose a failing build, propose a fix, and open a pull request.</span></p><p><span>In production, Chunk turned CI green on around half of its attempts, but developers chose to merge less than 25% of its fixes. The takeaway was clear: engineers wanted more control over the fixing process. So we moved toward the </span><strong><span>open</span></strong><span> model, giving their existing agents direct access to CircleCI data and tools, so the developer could stay informed and in control of the recovery process.</span></p><p><span>Early benchmark testing showed how sensitive agent performance was to the environment around the model. In a 100-sample benchmark of CI repair tasks, better log preprocessing increased the share of proposed fixes that closely matched the known solution from about </span><strong><span>25% to 53%</span></strong><span>. The size of the improvement made one thing clear: context, tools, evaluation, and workflow design could materially change how well the agent performed. We started testing those variables more deliberately, and five findings stood out.</span></p><h2><span>1. Agents need finely tuned context</span></h2><p><span>Our first instinct was to give the agent as much information as possible. The results moved in the opposite direction.</span></p><p><span>A raw build log can contain thousands of lines covering environment setup, dependency installation, test output, retries, warnings, and other execution details. Most of that information has little bearing on the failure the agent is trying to diagnose.</span></p><p><span>When we removed about 99% of the log content, the rate of fixes that took the wrong approach fell from 48% to 18%.</span></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!fzIg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!fzIg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 424w, https://substackcdn.com/image/fetch/$s_!fzIg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 848w, https://substackcdn.com/image/fetch/$s_!fzIg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 1272w, https://substackcdn.com/image/fetch/$s_!fzIg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!fzIg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png" width="1456" height="665" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/938a1192-fc89-4375-9670-ad5067861aac_1840x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:665,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!fzIg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 424w, https://substackcdn.com/image/fetch/$s_!fzIg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 848w, https://substackcdn.com/image/fetch/$s_!fzIg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 1272w, https://substackcdn.com/image/fetch/$s_!fzIg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F938a1192-fc89-4375-9670-ad5067861aac_1840x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The experiment also showed that context placement mattered. Adding git context as a file did not improve performance, but putting the same information directly into the message produced our strongest run at that point. The share of fixes that followed project conventions increased from 59% to 90%.</span></p><p><span>For teams building agent workflows, context is worth treating as an input you design and evaluate. Test what information you provide, how much you provide, and where the agent encounters it.</span></p><h2><span>2. Keep the tool set focused</span></h2><p><span>Better context improved performance, so we tested whether giving the agent more capabilities would help further. We added skills, forced reasoning steps, and a much larger set of </span><strong><span>MCP tools</span></strong><span>.</span></p><p><span>More capability did not consistently produce better results. Added skills used about 24% more tokens without improving quality, and forced workflow steps reduced fix rates in our tests. In our largest MCP test, the server exposed 138 tools for the agent to choose from. The agent consistently relied on just 10 of them, less than 10% of the available tool set.</span></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!UtgZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!UtgZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 424w, https://substackcdn.com/image/fetch/$s_!UtgZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 848w, https://substackcdn.com/image/fetch/$s_!UtgZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 1272w, https://substackcdn.com/image/fetch/$s_!UtgZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!UtgZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png" width="1456" height="570" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:570,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!UtgZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 424w, https://substackcdn.com/image/fetch/$s_!UtgZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 848w, https://substackcdn.com/image/fetch/$s_!UtgZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 1272w, https://substackcdn.com/image/fetch/$s_!UtgZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa2aefdfe-bf60-4366-87e1-c0f8e80b78c7_1840x720.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>A developer who knows a product can navigate a broad API surface and choose the right endpoint. An agent has to select among MCP tools based on their names, descriptions, and the context available to it. Exposing every underlying API capability as a separate tool can make that choice harder without helping the agent complete the task.</span></p><p><span>For teams designing MCP servers and other agent interfaces, start with the actions required to complete the job. Add tools when testing shows that the additional capability improves performance.</span></p><h2><span>3. Evaluate the result you want to ship</span></h2><p><span>One of our early evaluation criteria was simple: did the agent make the build pass?</span></p><p><span>A passing build turned out to be an incomplete measure. An agent can turn CI green by increasing a timeout, loosening an assertion, excluding a failing package, or changing the failing test instead of fixing the code that caused the failure.</span></p><p><span>We started measuring </span><strong><span>merge quality</span></strong><span> separately from </span><strong><span>fix rate</span></strong><span>: not only whether CI passed, but whether the proposed fix was good enough to merge.</span></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lKzD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lKzD!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 424w, https://substackcdn.com/image/fetch/$s_!lKzD!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 848w, https://substackcdn.com/image/fetch/$s_!lKzD!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!lKzD!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lKzD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png" width="1456" height="886" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:886,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!lKzD!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 424w, https://substackcdn.com/image/fetch/$s_!lKzD!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 848w, https://substackcdn.com/image/fetch/$s_!lKzD!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 1272w, https://substackcdn.com/image/fetch/$s_!lKzD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F624f46e9-5c7d-43c6-86ca-d76e423bb8d0_1840x1120.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>The benchmark exposed a meaningful gap: about 90% of fixes made CI pass, but only about 77% met our merge-quality bar. A green build alone was not always a sufficient measure of success.</span></p><p><span>The same evaluation problem applies to other agent systems. Intermediate metrics are useful, but the final evaluation needs to represent the outcome the user would accept.</span></p><h2><span>4. Test the same task more than once</span></h2><p><span>Changing the evaluation criteria also exposed variation between repeated runs.</span></p><p><span>The agent usually diagnosed the problem correctly, but the same failure did not always produce the same quality of fix. Incomplete changes and fixes that expanded beyond the required scope accounted for much of the variation.</span></p><p><span>Across repeated benchmark runs, </span><strong><span>27% of cases flipped between pass and fail</span></strong><span>.</span></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!5wHM!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!5wHM!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 424w, https://substackcdn.com/image/fetch/$s_!5wHM!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 848w, https://substackcdn.com/image/fetch/$s_!5wHM!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 1272w, https://substackcdn.com/image/fetch/$s_!5wHM!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!5wHM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png" width="1456" height="665" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:665,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!5wHM!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 424w, https://substackcdn.com/image/fetch/$s_!5wHM!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 848w, https://substackcdn.com/image/fetch/$s_!5wHM!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 1272w, https://substackcdn.com/image/fetch/$s_!5wHM!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2ff4bfb1-cf02-489d-96c1-c9f6c500452a_1840x840.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Clearer task boundaries helped reduce some of the variation. When the requested scope was narrow and explicit, the agent had less room to make unrelated changes or expand the solution beyond the failure.</span></p><p><span>For teams evaluating agent workflows, repeat the same tasks and look at the distribution of outcomes. A strong average can hide variation that matters when the system is used repeatedly.</span></p><h2><span>5. Give agents direct access to product data</span></h2><p><span>Cleaner inputs helped once the agent had the information it needed. We also found that agents spent a significant part of each run obtaining and moving information before they could work on the fix.</span></p><p><span>CircleCI already has much of what an agent needs to begin: which workflow failed, which job produced the error, which commit was running, what tests failed, and what happened during execution.</span></p><p><span>In our testing, only </span><strong><span>20&#8211;30% of a run</span></strong><span> was spent reading the error and editing code. The rest included surrounding work such as exploring the repository, working with git, and moving information between systems.</span></p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S7RP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S7RP!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 424w, https://substackcdn.com/image/fetch/$s_!S7RP!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 848w, https://substackcdn.com/image/fetch/$s_!S7RP!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!S7RP!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S7RP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png" width="1456" height="1250" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/cf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1250,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!S7RP!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 424w, https://substackcdn.com/image/fetch/$s_!S7RP!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 848w, https://substackcdn.com/image/fetch/$s_!S7RP!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 1272w, https://substackcdn.com/image/fetch/$s_!S7RP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fcf18d3df-b021-45fb-8ce3-730a10cc8015_1840x1580.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><span>Longer feedback loops also added measurable cost. In one iterative experiment, runtime increased from about </span><strong><span>10 to 20 minutes</span></strong><span> and token usage from </span><strong><span>2.4M to 3.6M</span></strong><span> as the agent kept working toward a passing result.</span></p><p><span>For teams adding agent access to an existing product, </span><strong><span>look closely at the information your product already has when an agent begins a task</span></strong><span>. Direct access can reduce the searching and reconstruction the agent would otherwise need to perform itself.</span></p><h2><span>How we&#8217;re improving agent experience at CircleCI</span></h2><p><span>Across the experiments, we eventually reached a point where a capable model could turn CI green on roughly </span><strong><span>nine in ten benchmark cases</span></strong><span>: </span><strong><span>90% in one run and 84% in the repeat</span></strong><span>.</span></p><p><span>Reaching that level required substantial experimentation with context, tools, evaluation, and feedback loops. About </span><strong><span>77% of benchmark fixes met our merge-quality bar</span></strong><span>, but production usage showed that developers wanted to stay closer to the fixing process, and the share of fixes they actually merged remained much lower than we wanted.</span></p><p><span>Those findings shaped the AX work we&#8217;re shipping now. We&#8217;re taking what made the fixer effective and building it into interfaces that give developers&#8217; chosen agents first-class access to CircleCI data and actions.</span></p><p><span>A lot of the infrastructure behind the new experience is new or substantially rewritten, and we&#8217;re rolling out improvements on a daily cadence.</span></p><p><strong><span>Recent changes include:</span></strong></p><ul><li><p><span>A </span><a href="https://circleci.com/blog/rebuilding-the-circleci-cli-from-scratch/"><span>ground-up rewrite of the </span></a><strong><a href="https://circleci.com/blog/rebuilding-the-circleci-cli-from-scratch/"><span>CircleCI CLI</span></a></strong><span> for developers and agents, with predictable JSON, stable exit behavior, agent-readable errors, and a built-in MCP server.</span></p></li><li><p><span>circleci run get --failure-report, which gives agents condensed failure diagnostics instead of requiring them to work through complete build logs.</span></p></li><li><p><strong><span>Copy Fix Prompt</span></strong><span>, which packages the relevant CircleCI failure context into a prompt developers can paste into the coding agent they already use.</span></p></li><li><p><span>Expanded </span><strong><span>MCP tools</span></strong><span> for inspecting runs, jobs, build output, and test results and taking CI actions from an agent&#8217;s development environment.</span></p></li><li><p><strong><span>OAuth 2.0 with Dynamic Client Registration and PKCE</span></strong><span>, giving local tools and agent integrations a standard way to request CircleCI API access without a manually provisioned client secret.</span></p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!sn-P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!sn-P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 424w, https://substackcdn.com/image/fetch/$s_!sn-P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 848w, https://substackcdn.com/image/fetch/$s_!sn-P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 1272w, https://substackcdn.com/image/fetch/$s_!sn-P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!sn-P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png" width="1456" height="572" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:572,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!sn-P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 424w, https://substackcdn.com/image/fetch/$s_!sn-P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 848w, https://substackcdn.com/image/fetch/$s_!sn-P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 1272w, https://substackcdn.com/image/fetch/$s_!sn-P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd98661bb-5b10-4f65-a973-bd4c7c642a60_2048x804.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em><span>The new Copy Fix Prompt option is one of the ways we&#8217;re making CircleCI more friendly to agentic workflows.</span></em></p><p><span>The details are still moving as we put these interfaces in front of more real agent workflows. Our goal is to improve both sides of the experience: help agents diagnose and fix CI problems well, while giving developers the visibility and control they need to work with those fixes.</span></p><p><span>You can try the current fixing flow from any failing CircleCI workflow:</span></p><ul><li><p><span>Install the new CircleCI CLI: </span><code>brew install circleci</code></p></li><li><p><span>Run </span><code>circleci run get --failure-report</code><span> on a failing run to get condensed diagnostics for your local agent</span></p></li><li><p><span>Or use </span><strong><span>Copy Fix Prompt</span></strong><span> from a failing workflow for a manual handoff</span></p></li><li><p><strong><span>Need to sign up?</span></strong><span> Run </span><code>circleci onboard</code><span> from the CLI to get started, or</span><a href="https://app.circleci.com/signup"><span> create a free CircleCI account from our signup page</span></a><span>.</span></p></li></ul><p><span>The biggest lesson from our testing is that agent experience is shaped by far more than the model. Context, tool design, evaluation, repeatability, and direct access to product data all changed how reliably agents could work with CircleCI. For teams building for agents, AX means designing those surrounding systems as deliberately as you design the product experience for people.</span></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Three habits of teams shipping 9x more validated code]]></title><description><![CDATA[Yesterday, we published our Q2 Pulse report, a follow-up to our annual State of Software Delivery that digs into a question engineering leaders are running into everywhere: why do some teams turn AI-generated code into shipped software while others watch feature branches pile up?]]></description><link>https://www.confidentcommit.com/p/three-habits-of-teams-shipping-9x</link><guid isPermaLink="false">https://www.confidentcommit.com/p/three-habits-of-teams-shipping-9x</guid><dc:creator><![CDATA[Confident Commit]]></dc:creator><pubDate>Tue, 18 Aug 2026 21:31:27 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SE23!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!SE23!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!SE23!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!SE23!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!SE23!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!SE23!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!SE23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png" width="1300" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:41324,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.confidentcommit.com/i/211774361?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!SE23!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!SE23!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!SE23!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!SE23!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1b3e2da9-331e-4d93-a8aa-d39fa9273fc7_1300x830.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Yesterday, we published our<span> </span><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery-q2-pulse/">Q2 Pulse report</a></strong>, a follow-up to our annual State of Software Delivery that digs into a question engineering leaders are running into everywhere: why do some teams turn AI-generated code into shipped software while others watch feature branches pile up?</p><p>AI has made writing code cheaper and faster than ever. Every team we look at is generating more of it than they were a year ago. But the data keeps showing the same split: code volume is up almost everywhere. Shipped changes are not.</p><p>The bottleneck is validation. A change goes out, a pipeline takes several minutes to run, something fails, and the cycle restarts before anything merges into main. Each round trip drains both engineering time and delivery budget. In our<span> </span><strong><a href="https://www.linkedin.com/pulse/you-paying-too-much-ship-circleci-ukt1e">previous issue</a></strong>, we modeled how a 50-developer team can spend close to<span> </span><strong>$900,000 a year</strong><span> </span>on avoidable validation cycles, driven by repeat CI runs and the tokens agents spend reloading context after slow feedback breaks the flow.</p><p>The most productive teams are pulling away because they ship in fewer cycles. That lifts individual and team velocity while driving down the cost of each change. In our Q2 Pulse report, we went behind the scenes with the most productive organizations on CircleCI to isolate the habits that help them break the delivery bottleneck without breaking the bank. Below, we&#8217;ll share three of them.</p><h3><strong>The teams setting the pace</strong></h3><p>The cohort we studied includes 20 anonymized organizations with the highest main-branch throughput on our platform. They span sizes, regions, and industries, with a concentration in security and developer tooling and additional representation from fintech, e-commerce, logistics, and energy.</p><p>As a group, they run an average of 2,165 production-branch workflows every day, a 72% jump from a year ago. That builds on the AI-driven volume surge we flagged in our Q1 report, when average daily workflow runs across CircleCI were up 59% year over year. The new finding is sharper: among the teams pushing hardest, increased activity is translating into dramatically higher production-branch throughput.</p><p>The gap between these teams and everyone else is widening. Across the platform, the most productive teams now ship roughly 9x the validated code of a typical team, up from 8x just a quarter ago. Their operational advantage comes down to three distinct habits.</p><h3><strong>Habit 1: Every engineer ships more finished work</strong></h3><p>The most productive teams get more production-ready work through the system per contributor. We measure this as main-branch workflows per contributor per day: a practical signal for how often validated work is reaching the production branch.</p><p>On a typical team, that comes out to about 1 main-branch workflow per contributor per day. Among high performers, it&#8217;s closer to 3. Among the 20 most productive teams, it&#8217;s around 12. That puts them at more than 10x the output of a typical team. It also shows how quickly the bar is rising: this same set of elite teams has nearly doubled per-contributor throughput in just one year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!EpFc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!EpFc!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 424w, https://substackcdn.com/image/fetch/$s_!EpFc!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 848w, https://substackcdn.com/image/fetch/$s_!EpFc!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 1272w, https://substackcdn.com/image/fetch/$s_!EpFc!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!EpFc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png" width="918" height="920" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/dfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:920,&quot;width&quot;:918,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!EpFc!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 424w, https://substackcdn.com/image/fetch/$s_!EpFc!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 848w, https://substackcdn.com/image/fetch/$s_!EpFc!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 1272w, https://substackcdn.com/image/fetch/$s_!EpFc!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdfed4bab-dfc5-4b59-aa9c-1d77b9c4224d_918x920.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>High per-contributor throughput is the natural result of a delivery system built around frequent integration. Branches stay short-lived, validation runs continuously, and changes do not sit for days waiting on review or late-stage cleanup.</p><p>Frequent integration matters even more with AI in the loop. As more code enters the system, the teams that pull ahead are the ones that can move changes quickly from generation to validation to merge.</p><h3><strong>Habit 2: Validation runs beyond the manual push</strong></h3><p>The mechanics behind high volume become clear when looking at how top teams trigger validation. Engineers are not manually pushing code every single time they need to find out whether something works.</p><p>Most teams only run CI when someone pushes code, and the median team triggers nearly 100% of its pipelines that way. The most productive teams do not:</p><ul><li><p><strong>Direct pushes:</strong><span> </span>Account for only about 68% of their triggers.</p></li></ul><ul><li><p><strong>Automated triggers:</strong><span> </span>The remaining 32% comes from scheduled runs, API calls, dependency-update checks, and post-deploy verification.</p></li></ul><p>Their CI keeps validating the codebase and deployment lifecycle even after devs have closed their laptops.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!9NpN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!9NpN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 424w, https://substackcdn.com/image/fetch/$s_!9NpN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 848w, https://substackcdn.com/image/fetch/$s_!9NpN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 1272w, https://substackcdn.com/image/fetch/$s_!9NpN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!9NpN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png" width="1456" height="763" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:763,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!9NpN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 424w, https://substackcdn.com/image/fetch/$s_!9NpN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 848w, https://substackcdn.com/image/fetch/$s_!9NpN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 1272w, https://substackcdn.com/image/fetch/$s_!9NpN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c02f83f-cb7b-4a14-bf16-15fd3649b015_1824x956.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>A broader trigger mix gives teams more places to catch problems, from dependency health to release verification. Done well, it can also keep push-driven feedback focused on the change a developer is trying to merge, instead of mixing that signal with unrelated failures that could have been caught elsewhere.</p><h3><strong>Habit 3: Fewer validation cycles per shipped change</strong></h3><p>Throughput and automation drive volume. Efficiency keeps that volume affordable.</p><p>We track efficiency with a metric called Merge Efficiency Ratio, or MER: the number of feature-branch workflow runs for every workflow that runs on main. A high MER means work takes more rounds of pre-merge validation before it&#8217;s ready.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!NrQ6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!NrQ6!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 424w, https://substackcdn.com/image/fetch/$s_!NrQ6!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 848w, https://substackcdn.com/image/fetch/$s_!NrQ6!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 1272w, https://substackcdn.com/image/fetch/$s_!NrQ6!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!NrQ6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png" width="884" height="383" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:383,&quot;width&quot;:884,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!NrQ6!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 424w, https://substackcdn.com/image/fetch/$s_!NrQ6!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 848w, https://substackcdn.com/image/fetch/$s_!NrQ6!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 1272w, https://substackcdn.com/image/fetch/$s_!NrQ6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26727677-fe24-43f6-b4ec-c11cfd93d730_884x383.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>Every extra feature-branch cycle means more compute spent validating the same change. In an agentic workflow, it can also mean more tokens spent reloading context and generating fixes each time a slow run reports back. A team can ship a lot and still bleed money if every change takes five or six cycles to ship. The most productive teams keep cycles low, so their higher volume moves into production without a runaway bill behind it.</p><h3><strong>Less waiting, more shipping</strong></h3><p>Higher output per engineer, validation beyond the push, and fewer cycles per change all point to the same operating principle: the best teams reduce the distance between writing code, validating it, and merging it.</p><p>That is how more code turns into more shipped software. Feedback stays fast, branches stay short, and changes reach production instead of piling up. Just as important, the cost per change goes down instead of up.</p><p>The full Q2 Pulse report lays out the cohort behind the numbers, the implementation patterns behind each habit, and what it costs to operate at this level.</p><p><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery-q2-pulse/">Read the Q2 Pulse report &#8594;</a></strong></p><p>The report focuses on the operating model behind high-throughput teams. Chunk is one practical way to start applying the same principle: move routine validation out of the slow CI loop and into the moment code is being written.</p><p><strong><a href="https://circleci.com/chunk-sidecars/">Chunk sidecars</a></strong><span> </span>run validation in the inner loop, right alongside your agent, so lint failures, broken tests, and syntax errors get caught in seconds while the context is still warm, instead of after a five-minute round trip through CI. In our own testing, microbuilds delivered feedback with up to<span> </span><strong>30x less compute usage</strong><span> </span>than a full pipeline run and about<span> </span><strong>5x fewer tokens</strong>.</p><p>Chunk sidecars are available now, free on every CircleCI plan. One command gets you started: brew install CircleCI-Public/circleci/chunk</p><p><strong><a href="https://circleci.com/blog/sidecar-microbuild-in-five-minutes/">Read the five-minute setup guide &#8594;</a></strong></p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading Confident Commit! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Are you paying too much to ship?]]></title><description><![CDATA[Earlier this year, the conversation in software was all about maximizing agent output. Tokenmaxxing. Jensen Huang telling engineers to spend $250K a year on tokens. Every benchmark was about throughput: how much code could your AI generate per hour?]]></description><link>https://www.confidentcommit.com/p/are-you-paying-too-much-to-ship</link><guid isPermaLink="false">https://www.confidentcommit.com/p/are-you-paying-too-much-to-ship</guid><dc:creator><![CDATA[Confident Commit]]></dc:creator><pubDate>Tue, 18 Aug 2026 21:30:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!K13B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!K13B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!K13B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!K13B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!K13B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!K13B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!K13B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png" width="1300" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/df515815-655f-4de9-95c5-e940328e91b2_1300x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:33977,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.confidentcommit.com/i/211774248?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!K13B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!K13B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!K13B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!K13B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fdf515815-655f-4de9-95c5-e940328e91b2_1300x830.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Earlier this year, the conversation in software was all about maximizing agent output.<span> </span><strong><a href="https://www.forbes.com/sites/timkeary/2026/04/13/is-the-cult-of-tokenmaxxingjust-another-fad-or-the-new-normal/">Tokenmaxxing</a></strong>. Jensen Huang telling engineers to<span> </span><strong><a href="https://www.cnbc.com/2026/03/20/nvidia-ai-agents-tokens-human-workers-engineer-jobs-unemployment-jensen-huang.html">spend $250K a year on tokens</a></strong>. Every benchmark was about throughput: how much code could your AI generate per hour?</p><p>That mood has shifted fast.</p><p><strong><a href="https://fortune.com/2026/05/26/uber-coo-ai-spending-tokens-claude-code/">Uber reportedly used its entire 2026 AI coding tools budget in four months</a></strong>.<span> </span><strong><a href="https://fortune.com/2026/05/22/microsoft-ai-cost-problem-tokens-agents/">Microsoft started pulling back internal Claude Code licenses</a></strong>.<span> </span><strong><a href="https://www.businessinsider.com/amazon-ai-leaderboard-tokenmaxxing-2026-5">Amazon just scrapped an internal AI leaderboard</a></strong><span> </span>after employees started running up token costs to climb the rankings instead of shipping useful work. Across the industry, orgs are staring at massive AI bills and wondering where the ROI went.</p><p>In our<span> </span><strong><a href="https://circleci.com/blog/five-takeaways-2026-software-delivery-report/">recent research</a></strong>, we found a big part of the answer: teams are generating changes faster than ever but struggling to validate and ship them at the same pace. The delta between code written and code in production has never been wider, and it carries a hefty price tag.</p><p>In this issue, we&#8217;re digging into why teams are paying more than they should to move code into production. We&#8217;ll preview some new findings from an upcoming update to our State of Software Delivery report, show how moving validation into the inner loop of local, agent-driven development can dramatically reduce delivery time and cost, and give you practical steps to get started.</p><div><hr></div><h3><strong>Merge efficiency (and why it matters)</strong></h3><p>One of the most interesting findings from the recent State of Software Delivery was that median throughput increased 15% on feature branches but declined 7% on main branches. AI makes writing code trivial, but it adds complexity downstream when those changes hit the shared codebase.</p><p>We wanted to dig into what that burden actually looks like for a typical team. How many cycles does it take to get a piece of code into production?</p><p>To find out, we looked at the ratio of feature branch runs to main branch runs across CircleCI in March 2026. This gives us an imperfect but directionally useful proxy for the total CI overhead required to ship a single change.</p><p>Here&#8217;s what we found:</p><ul><li><p>For the median org, every main branch workflow is accompanied by<span> </span><strong>3.9 workflow runs</strong><span> </span>on a feature branch. At the mean, that number rises to<span> </span><strong>8.6</strong>. At the p95 level, it rises to<span> </span><strong>23.7</strong>.</p></li><li><p>Using main branch workflows as a rough proxy for a merged change, that means every production deploy requires<span> </span><strong>5+ total CI runs<span> </span></strong>(~4 on the feature branch and 1 on main) to complete.</p></li><li><p>Main branch workflows also fail 20-30% of the time, adding at least one more cycle when they do.</p></li></ul><p>In a human-paced development context, these numbers wouldn&#8217;t be terrible. A developer pushes a change, waits a few minutes for feedback, and iterates through a couple of build-test-fix cycles before merging to main and wrapping up the workday. That&#8217;s how you get to the canonical advice that &#8220;<strong><a href="https://martinfowler.com/articles/continuousIntegration.html#EveryonePushesCommitsToTheMainlineEveryDay">everyone pushes to main daily</a></strong>.&#8221;</p><p>In an agentic world, merge efficiency matters a lot more. When full CI runs take 5-10 minutes to deliver feedback, the agent loses context. Fixing the failure means starting a new cycle: reloading context, re-examining the change, potentially redoing work that was already completed.</p><p>That not only derails productivity but also creates massive cost inefficiencies. At 5+ CI runs for every shipped change, the math gets dire quickly.</p><div><hr></div><h3><strong>Where costs pile up</strong></h3><p>Let&#8217;s make this concrete.</p><p>Imagine an AI agent is tasked with adding a new feature to a medium-sized codebase. The full repository context, including system instructions, tool definitions, and source files, comes to about 200,000 tokens.</p><p>Modern frontier models use<span> </span><strong><a href="https://platform.claude.com/docs/en/build-with-claude/prompt-caching">prompt caching</a></strong><span> </span>to make reading massive contexts affordable. The first time the agent reads your codebase, it&#8217;s a &#8220;cold write&#8221; at a premium price. On Opus 4.7, the cost is $6.25 per million tokens. On subsequent steps, the model reads from a warm cache at a 90% discount: just $0.50 per million tokens.</p><p>But (as usual) there&#8217;s a catch: prompt caches expire after about 5 minutes of inactivity.</p><p>Here&#8217;s how that plays out in a typical delivery workflow:</p><p><strong>1. The agent loads the codebase</strong><span> </span>(200,000 tokens) and generates the code change. API cost: ~$1.28 (plus output tokens).</p><p><strong>2. The agent pushes the change</strong>, triggering a CI pipeline. The CI platform queues the job, spins up a fresh VM, pulls dependencies, compiles the project, and runs the full test suite. The pipeline consumes about 5 minutes of billable compute across its parallel jobs. But the total round trip from push to feedback, including queue time and provisioning, stretches well past the 5-minute mark.</p><p><strong>3. The prompt cache goes cold.</strong><span> </span>By the time CI reports back, the cache window has closed. The cache is wiped.</p><p><strong>4. The build fails</strong><span> </span>on a minor syntax error. The agent needs to fix it, but the cache is gone. It pays the full cold-write price to reload the codebase, and the context has grown: the previous attempt&#8217;s output and the CI build logs have pushed it from 200,000 to roughly 230,000 tokens. API cost: ~$1.44. Then the agent regenerates the fix from scratch, burning another round of output tokens at $25 per million.</p><p><strong>5. The agent pushes the fix.</strong><span> </span>Your CI provider spins up another fresh environment and runs the full suite again. Another 5 minutes of billable compute.</p><p>The merge efficiency data shows it takes an average of 5+ total CI runs to ship a single change. And with each cycle, the context grows: the agent retains the full session history, so each retry passes the original codebase plus every previous attempt along with its CI build logs. By run 5, input context can double.</p><p>In this scenario, input tokens that should cost under $2 with a warm cache balloon to over $13 across 5 cold reloads, purely because the feedback loop is slower than the agent&#8217;s cache. Add output token rework at $25 per million and $1-3 in CI compute, and the total cost per change runs to around $25.</p><p>Now imagine this at scale. A 50-developer team at agentic pace ships about 3,000 changes a month (roughly 3 per developer per working day). At ~5 CI runs per change, that&#8217;s 15,000 pipeline runs and nearly $1 million per year in token and compute costs. At 500K tokens (common for larger production codebases), it crosses $1.5 million. And with the continued increases in change volume that our data shows, those numbers climb every quarter.</p><p>Most of that spend is going to cycles that shouldn&#8217;t exist.</p><div><hr></div><h3><strong>Validation in the inner loop</strong></h3><p>Scenarios like this play out because all of the validation is happening in the outer loop: CI pipelines, shared infrastructure, billable compute. CI is the right place to catch integration failures, security issues, and anything that requires a full environment. But when a syntax error or a failing unit test has to round-trip through a full pipeline run before your agent gets the signal, you can quickly accumulate a ton of unnecessary costs.</p><p>What if those cheap failures could be caught earlier, before they ever reach CI? The way to do that is to move validation into the inner loop, where agents iterate locally before the push.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!S4Kn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!S4Kn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 424w, https://substackcdn.com/image/fetch/$s_!S4Kn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 848w, https://substackcdn.com/image/fetch/$s_!S4Kn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 1272w, https://substackcdn.com/image/fetch/$s_!S4Kn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!S4Kn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png" width="782" height="504" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6542decb-e916-46cb-a273-190c44349190_782x504.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:504,&quot;width&quot;:782,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!S4Kn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 424w, https://substackcdn.com/image/fetch/$s_!S4Kn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 848w, https://substackcdn.com/image/fetch/$s_!S4Kn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 1272w, https://substackcdn.com/image/fetch/$s_!S4Kn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6542decb-e916-46cb-a273-190c44349190_782x504.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>In a healthy system, the inner loop handles the basic checks so the outer loop only runs on code that&#8217;s ready for deeper validation. Without a quality gate before the push, your outer loop becomes a bottleneck: flooded with changes, catching failures that range from trivial to critical, burning compute and tokens on every cycle.</p><p>The path forward is to raise the quality bar in the inner loop. Validate before the push. Catch the lint failures, the broken tests, the syntax errors while the agent still has context and the fix costs almost nothing.</p><div><hr></div><h3><strong>Introducing Chunk sidecars</strong></h3><p>Moving validation into the inner loop means having an environment that can run real checks fast enough for an agent to act on the results. To get there, we recently released<span> </span><strong><a href="https://circleci.com/blog/chunk-sidecars/">Chunk sidecars</a></strong>: sandbox environments spun up by the<span> </span><strong><a href="https://github.com/CircleCI-Public/chunk-cli">Chunk CLI</a></strong><span> </span>that mirror your CI stack.</p><p>Rather than waiting for a full pipeline run to surface a failing unit test or a syntax error, the sidecar runs the validation checks you&#8217;ve configured: linting, unit tests, build validation, or whatever your stack requires. Failure feedback comes back to the agent while it still has context. The agent fixes the issue and the hook fires again, repeating until the checks pass and the change is ready to push.</p><p>This keeps the feedback loop tight enough that agents never lose context between a failure and its fix. To measure what that&#8217;s actually worth, we took real failures from the<span> </span><strong><a href="https://app.circleci.com/pipelines/gh/CircleCI-Public/chunk-cli">chunk-cli CI pipeline</a></strong><span> </span>and ran them two ways: through CI as normal, and through Chunk sidecars using microbuilds. We measured compute time and token consumption across four pipelines with warm snapshots.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DGpp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DGpp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 424w, https://substackcdn.com/image/fetch/$s_!DGpp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 848w, https://substackcdn.com/image/fetch/$s_!DGpp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 1272w, https://substackcdn.com/image/fetch/$s_!DGpp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DGpp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png" width="804" height="469" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:469,&quot;width&quot;:804,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!DGpp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 424w, https://substackcdn.com/image/fetch/$s_!DGpp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 848w, https://substackcdn.com/image/fetch/$s_!DGpp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 1272w, https://substackcdn.com/image/fetch/$s_!DGpp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd749947c-e1dd-4ee4-ac8f-88391fd78a8e_804x469.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>Here&#8217;s how those numbers affect the costs we saw in the scenario introduced earlier:</p><ul><li><p><strong>Input tokens: $13 &#8594; under $2.</strong><span> </span>The 27-second feedback time keeps the agent inside the 5-minute cache window. Five cold reloads become one cold load plus four warm cache reads.</p></li><li><p><strong>Output tokens: 5 full regenerations &#8594; targeted fixes.</strong><span> </span>The agent gets a focused failure signal instead of a full CI log dump, so it applies a small fix instead of rebuilding context and regenerating the entire change.</p></li><li><p><strong>CI compute: 5+ runs &#8594; 1&#8211;2.</strong><span> </span>Fifteen to twenty minutes of billable compute per change drops to a single pipeline run on code that has already passed its checks.</p></li></ul><p>The change that was costing ~$25 in tokens and compute drops to around $6. For the 50-person team from our model, that takes annual token and compute costs from approximately $900k to around $200k.<span> </span><strong>Total savings for a 50-person team: $700k or more.</strong></p><div><hr></div><h3><strong>Stop wasting your delivery dollars</strong></h3><p>Concerns over runaway AI spend are volume problems at their core. When you scale agentic workflows without changing the feedback architecture underneath them, costs accumulate with every additional change.</p><p>Teams who have closed this loop are already separating from the pack, and that difference is widening every quarter.</p><p>If you want more return on every token and every pipeline run, look at where your validation is actually catching failures today. If most of them are happening in CI, after a push, there&#8217;s a better way.</p><p><strong><a href="https://circleci.com/blog/chunk-sidecars/">Chunk sidecars</a></strong><span> </span>are available now on all CircleCI plans, including free. Install the<span> </span><strong><a href="https://github.com/CircleCI-Public/chunk-cli">Chunk CLI</a></strong><span> </span>with brew install CircleCI-Public/circleci/chunk, run chunk init in your project, and start a sidecar session from your agent. The setup takes minutes, and the savings start on the first build.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.confidentcommit.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Does VCS choice determine your delivery destiny?]]></title><description><![CDATA[You can tell a lot about a developer from the tools they use.]]></description><link>https://www.confidentcommit.com/p/does-vcs-choice-determine-your-delivery</link><guid isPermaLink="false">https://www.confidentcommit.com/p/does-vcs-choice-determine-your-delivery</guid><dc:creator><![CDATA[Confident Commit]]></dc:creator><pubDate>Tue, 18 Aug 2026 21:29:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!vBj1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!vBj1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vBj1!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!vBj1!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!vBj1!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!vBj1!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vBj1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png" width="1300" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:44055,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.confidentcommit.com/i/211774164?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vBj1!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!vBj1!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!vBj1!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!vBj1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1ede5dee-3ea0-4da4-8f6c-a3b1cd3194bf_1300x830.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can tell a lot about a developer from the tools they use. Editor, OS, language, framework. Everyone has a side, and everyone is a little suspicious of the other side&#8217;s choices. Version control is no exception. Ask a GitHub team and a GitLab team how they ship software, and you will get two pretty different descriptions of what normal looks like.</p><p>But do these preferences (and their downstream impacts) actually show up in delivery metrics? Each VCS attracts a certain kind of team, and each platform builds features to reinforce those tendencies. If teams really do self-select based on their priorities, then those priorities should show up in the delivery data.</p><p>In this issue of Confident Commit, we break down data from our most recent<span> </span><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery/">State of Software Delivery</a></strong><span> </span>by code hosting platform to find out.</p><h3><strong>The evolving source of truth</strong></h3><p><strong><a href="https://git-scm.com/">Git</a></strong><span> </span>has been the foundation of collaborative software development since Linus Torvalds created it in 2005 to manage the Linux kernel. It quickly became the industry standard, displacing older centralized systems like Subversion and CVS.</p><p>Hosting platforms arrived shortly after to enable team collaboration at scale. GitHub launched in 2008, Bitbucket the same year (acquired by Atlassian in 2010), and GitLab in 2011. Between them, these three cover the vast majority of professional engineering teams today.</p><p>Despite sharing the same underlying technology, these platforms evolved to serve different kinds of teams and workflows, making unique design choices along the way:</p><ul><li><p><strong>GitHub</strong><span> </span>is built around pull-request-driven social coding, making it the natural home for high-velocity, branch-heavy workflows.</p></li><li><p><strong>Bitbucket</strong><span> </span>is tightly coupled to Jira and the Atlassian suite, attracting teams that prioritize rigorous change management and cross-functional visibility.</p></li><li><p><strong>GitLab</strong><span> </span>serves as an integrated, governance-first platform appealing to teams that require strict, centralized control over security and compliance.</p></li></ul><p>Given those philosophies, you would expect GitHub teams to iterate fastest, while Bitbucket teams move with more deliberate enterprise ceremony. GitLab teams, often working in complex and regulated environments, should land somewhere in between.</p><p>CircleCI<span> </span><strong><a href="https://circleci.com/docs/guides/integration/version-control-system-integration-overview/">integrates with all three platforms</a></strong>, so we can test those expectations directly to see if they hold up. Let&#8217;s take a look at how the hosting platforms stack up across the four key software delivery metrics.</p><h3><strong>Duration: how long is the feedback loop?</strong></h3><p>Duration measures the time from when a pipeline starts to when it finishes and determines how long a developer waits to find out whether a change passed or failed. Teams optimizing for rapid iteration want this number as low as possible. Teams running deeper validation, with more extensive tests and approval gates, accept longer durations in exchange for higher confidence in what they ship.</p><p>Workflow duration is generally consistent across all three platforms. At the median, the three cohorts are within a few seconds of each other: GitHub at 2m 58s, GitLab at 3m 4s, and Bitbucket at 2m 58s.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!ws8x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ws8x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 424w, https://substackcdn.com/image/fetch/$s_!ws8x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 848w, https://substackcdn.com/image/fetch/$s_!ws8x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 1272w, https://substackcdn.com/image/fetch/$s_!ws8x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ws8x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png" width="1056" height="628" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:628,&quot;width&quot;:1056,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!ws8x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 424w, https://substackcdn.com/image/fetch/$s_!ws8x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 848w, https://substackcdn.com/image/fetch/$s_!ws8x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 1272w, https://substackcdn.com/image/fetch/$s_!ws8x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda5e6e9d-1c45-4fa2-85c3-b3f1890ed2f1_1056x628.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>GitLab teams running slightly longer workflows is consistent with the hypothesis that these teams run governance-heavy pipelines, but the overall story here is similarity rather than divergence. Even at p90, pipeline durations are closely clustered at 493, 489, and 484 minutes respectively.</p><h3><strong>Throughput: how much is moving through the pipeline?</strong></h3><p>Throughput is the number of workflows a team runs per day. It can reveal how actively a team is pushing changes, and is often used as a directional indicator of team productivity.</p><p>Looking across all branches, Bitbucket teams run 1.71 workflows per day, while GitHub teams run 2.25 and GitLab teams 2.55.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HXOt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HXOt!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!HXOt!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!HXOt!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!HXOt!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HXOt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png" width="1200" height="742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!HXOt!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!HXOt!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!HXOt!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!HXOt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3003fa87-0ed9-4f6b-9830-3e3ab57d5858_1200x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>But the branch-level breakdown is where the numbers get interesting. Throughput on feature branches tells a story about iteration speed: how often developers are committing, running CI, and testing changes before they are ready to merge. On the main branch, throughput is a proxy for how often code moves toward production. Given what we know about each platform&#8217;s user base, you would expect GitHub teams, as the most iteration-focused cohort, to lead on throughput.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!HXwo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!HXwo!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 424w, https://substackcdn.com/image/fetch/$s_!HXwo!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 848w, https://substackcdn.com/image/fetch/$s_!HXwo!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 1272w, https://substackcdn.com/image/fetch/$s_!HXwo!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!HXwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png" width="1350" height="742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1350,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!HXwo!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 424w, https://substackcdn.com/image/fetch/$s_!HXwo!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 848w, https://substackcdn.com/image/fetch/$s_!HXwo!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 1272w, https://substackcdn.com/image/fetch/$s_!HXwo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc98309e6-60c0-4cc6-9039-b0513a4047f9_1350x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>As expected, GitHub is the runaway leader on feature branches at 3.39 workflows per day versus 2.52 for GitLab and 1.71 for BitBucket. This makes sense considering GitHub&#8217;s user base skews toward smaller teams, open-source projects, and startups that prioritize iteration speed over formal approval processes.</p><p>But on the main branch, GitLab teams run the most workflows at 2 per day compared to 1.68 for GitHub and 1 for BitBucket. While this runs contrary to what we might first expect, the finding is consistent with<span> </span><strong><a href="https://www.linkedin.com/pulse/teams-automate-compliance-turning-regulation-hoops-competitive-gtyee/">previous research we&#8217;ve done</a></strong><span> </span>showing compliance-heavy teams shipping more frequently but hitting friction in other areas of the SDLC (more on that below).</p><h3><strong>Success rate: how healthy is the path to production?</strong></h3><p>Success rate is the percentage of workflow runs that complete successfully. The default branch is where this metric matters most. Teams with efficient delivery processes catch errors locally or on feature branches before merging, so a high success rate on main is a signal that the upstream process is working.</p><p>Average success rate on main-branch workflows is highest for Bitbucket teams at 73.7% and falls to 70.6% for GitHub and 61.3% for GitLab.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!J4xG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!J4xG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!J4xG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!J4xG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!J4xG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!J4xG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png" width="1200" height="742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!J4xG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!J4xG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!J4xG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!J4xG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F92fb931a-422f-4cd6-a392-5ddcbd51871d_1200x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>Bitbucket teams running the fewest pipelines but passing more of them is consistent with a stability-leaning culture where more review happens before a merge. GitHub sits in the middle, reflecting a culture comfortable operating at tempo while keeping things green. GitLab&#8217;s lower success rate likely reflects the complexity of the environments these teams operate in, something the recovery data makes even clearer.</p><h3><strong>Time to recovery: how long until you&#8217;re back to green?</strong></h3><p>Time to recovery measures resilience: how long it takes to fix a broken build and get back to a successful state.</p><p>Across all branches, GitHub teams recover in 72 minutes, Bitbucket in 80, and GitLab in 124.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!xsCI!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xsCI!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!xsCI!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!xsCI!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!xsCI!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xsCI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png" width="1200" height="742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!xsCI!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!xsCI!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!xsCI!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!xsCI!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5fbe09e-cfd4-409c-9bfb-1c003571fd19_1200x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>On the main branch specifically, those differences are magnified: GitHub teams recover in under an hour, BitBucket teams take about 80 minutes,<span> </span><strong>and GitLab teams require nearly 8 hours to get back to green.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zqYY!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zqYY!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!zqYY!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!zqYY!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!zqYY!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zqYY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png" width="1200" height="742" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:742,&quot;width&quot;:1200,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!zqYY!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 424w, https://substackcdn.com/image/fetch/$s_!zqYY!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 848w, https://substackcdn.com/image/fetch/$s_!zqYY!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 1272w, https://substackcdn.com/image/fetch/$s_!zqYY!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F808cd8fd-6ecf-469b-8f18-aefafc8f3cde_1200x742.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>This may seem like a large delta. However, these results are consistent with what we&#8217;ve seen previously regarding high complexity, compliance-heavy workflows. When things go sideways on main in a complex environment, the need for more extensive root cause analysis, documentation, and verification before merging a fix can add significant time to the recovery process.</p><p>Of all four metrics, time to recovery is where the self-selection pattern shows up most dramatically. The teams who chose the governance-first platform are the ones paying the governance tax on recovery.</p><h3><strong>What did we learn?</strong></h3><p>While impactful, tool choices alone are never the determining factor for how a team performs. Most of that comes down to experience, engineering vision, processes, and how you use the tools at your disposal. But it&#8217;s also true that teams gravitate toward the tools that map to their way of doing things, and over time, those choices become part of a team&#8217;s identity.</p><p>Each cohort&#8217;s delivery performance aligns closely with what their platform was designed to support. Teams self-select into the tool that matches their priorities, and those same priorities show up in the data.</p><ul><li><p><strong>GitHub teams prioritize velocity</strong>: more feature branch workflows, faster iteration, quicker recovery. This tracks with GitHub&#8217;s pull-request-driven culture where branching is cheap, experimentation is encouraged, and speed matters more than gating every change.</p></li><li><p><strong>Bitbucket teams prioritize stability</strong>: fewer workflows, highest success rate on main. The Atlassian ecosystem emphasizes structured workflows and cross-functional coordination. Teams catch more issues before merge, but that deliberation costs iteration tempo.</p></li><li><p><strong>GitLab teams prioritize governance</strong>: most main-branch workflows, longest recovery times. This reflects GitLab&#8217;s governance-first design. Teams in regulated environments often ship frequently despite their additional constraints, but when things break, the overhead of meeting compliance requirements extends recovery.</p></li></ul><p>Each platform attracts teams with different priorities, and those priorities shape delivery outcomes. So while your VCS doesn&#8217;t determine your delivery destiny, it does reflect the outcomes you&#8217;re optimizing for.</p><h3><strong>Go deeper</strong></h3><p>VCS choice is one way to see how different choices and team characteristics shape delivery performance. The<span> </span><strong><a href="https://circleci.com/blog/five-takeaways-2026-software-delivery-report/">2026 State of Software Delivery</a></strong><span> </span>takes a deeper look at what drives these differences, cutting the same metrics by team size, industry, and geography to show how delivery patterns shift depending on who you are, where you are, and what you are building.</p><p><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery/">Download the report</a></strong><span> </span>to see the full analysis, or explore the data and benchmark your team against similar organizations in the<span> </span><strong><a href="https://circleci.com/software-delivery-data-explorer/">interactive Software Delivery Data Explorer</a></strong>. The more you understand about how teams like yours ship, the easier it is to know what to optimize next.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.confidentcommit.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Which industries are winning the AI delivery race?]]></title><description><![CDATA[The 2026 State of Software Delivery found the largest year-over-year increase in throughput ever recorded.]]></description><link>https://www.confidentcommit.com/p/which-industries-are-winning-the</link><guid isPermaLink="false">https://www.confidentcommit.com/p/which-industries-are-winning-the</guid><dc:creator><![CDATA[Confident Commit]]></dc:creator><pubDate>Tue, 18 Aug 2026 21:28:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Uyc4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Uyc4!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Uyc4!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!Uyc4!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!Uyc4!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!Uyc4!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Uyc4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png" width="1300" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:42533,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.confidentcommit.com/i/211774009?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Uyc4!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!Uyc4!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!Uyc4!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!Uyc4!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5773b660-adb6-43ec-860d-7204a33d065d_1300x830.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The<span> </span><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery/">2026 State of Software Delivery</a></strong><span> </span>found the largest year-over-year increase in throughput ever recorded. Workflow volume is up 59%, but on the flip side,<span> </span><strong><a href="https://circleci.com/blog/five-takeaways-2026-software-delivery-report/">main branch activity is falling</a></strong>. Teams are generating a lot more code, but most are<span> </span><strong><a href="https://circleci.com/blog/ai-delivery-bottleneck/">struggling to turn that activity into shipped software</a></strong>.</p><p>How the AI delivery bottleneck affects your team has as much to do with your specific business requirements as it does your ability to integrate AI into your workflows. Breaking down the delivery data by industry, then, can give us useful insights into different ways the problem shows up and what teams like yours are doing to solve it.</p><p>In this issue of The Confident Commit, we&#8217;re looking at three industries that stand out in this year&#8217;s data, each for unique reasons: civil engineering, utilities, and retail. We&#8217;ll break down what each one is doing well, where they&#8217;re still falling short, and what their results can tell you about closing the gap between code generation and code delivery on your own team.</p><h3><strong>Civil engineering</strong></h3><p>Civil engineering teams validate more changes per day than any other industry. The typical project triggers 9.9 workflows every day, nearly 6x the median result across the entire dataset. On feature branches, where developers build and test new work before it&#8217;s ready for production, activity is 6.8 workflows per day.</p><p><span> </span>That high volume likely reflects how civil engineering projects are structured: multiple parallel workstreams across structural, mechanical, electrical, and site systems, each being developed simultaneously. But the picture changes when you look at the main branch, where code actually ships to production. Throughput there drops to 1.8, right in line with what most teams run.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!A-cK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!A-cK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 424w, https://substackcdn.com/image/fetch/$s_!A-cK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 848w, https://substackcdn.com/image/fetch/$s_!A-cK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 1272w, https://substackcdn.com/image/fetch/$s_!A-cK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!A-cK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/17c556d1-6819-415b-b97b-249e54363bda_1488x850.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!A-cK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 424w, https://substackcdn.com/image/fetch/$s_!A-cK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 848w, https://substackcdn.com/image/fetch/$s_!A-cK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 1272w, https://substackcdn.com/image/fetch/$s_!A-cK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F17c556d1-6819-415b-b97b-249e54363bda_1488x850.png 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>That&#8217;s a clear illustration of the AI bottleneck in action. These teams are generating massive amounts of code, but they are paying a heavy integration tax. Their complex, interconnected systems have to be validated against each other before anything can ship. That takes time, and it doesn&#8217;t scale linearly with volume.</p><p>Given the quality and compliance constraints in this vertical, a bottleneck at the integration stage makes sense. But it also means that despite having the highest overall throughput of any industry, civil engineering&#8217;s internal velocity rarely translates into faster project delivery</p><h3><strong>Utilities</strong></h3><p>So what does it look like when a team actually breaks through the production bottleneck?</p><p>Utilities teams run 7.6 workflows per day on feature branches and 7.8 on main. Both numbers are about 4x the current global median and represent a more than 2x year-over-year increase for this vertical. But what&#8217;s especially notable is that activity on main is keeping pace with feature branches. Where civil engineering teams are increasing code volume but struggling to integrate it, utilities teams are writing<span> </span><em>and</em><span> </span>shipping more code.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lX_Y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lX_Y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 424w, https://substackcdn.com/image/fetch/$s_!lX_Y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 848w, https://substackcdn.com/image/fetch/$s_!lX_Y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 1272w, https://substackcdn.com/image/fetch/$s_!lX_Y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lX_Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!lX_Y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 424w, https://substackcdn.com/image/fetch/$s_!lX_Y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 848w, https://substackcdn.com/image/fetch/$s_!lX_Y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 1272w, https://substackcdn.com/image/fetch/$s_!lX_Y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda3a5c68-8ae5-4fb7-a3a9-9c9b899ccd17_1488x850.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>One possible explanation is business pressure. Utilities are critical infrastructure. Grid management, outage response, and regulatory reporting can&#8217;t wait. That urgency may push teams to ship smaller, more isolated changes that integrate cleanly rather than letting work pile up on feature branches. Civil engineering projects operate on longer timelines with less immediate consequence for any individual change, which may explain why parallel workstreams pile up and create integration complexity at main.</p><p>Whatever the reason, the data shows that utilities teams are shipping code as fast as they write it. But that&#8217;s not the complete story.</p><p>Utilities teams take approximately 400 minutes to recover from a failed build on main, compared to a global median of just 59 minutes. When something fails in a high-stakes pipeline, formal investigation steps take priority over speed regardless of how fast your CI system can rerun a build. But for a critical service that people depend on, almost 7 hours of blocked deployments has real consequences.</p><h3><strong>Retail</strong></h3><p>Like utilities, retail teams depend on 24/7 availability for their customers. While downtime for a retailer may not carry the same consequences as a utility outage, the impact on revenue and customer sentiment can be massive. That pressure has pushed retailers to optimize for uptime and fast recovery.</p><p>The typical retail team recovers from a failed build on main in 20 minutes. Most non-retail teams take 60 minutes or more.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!rMAj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!rMAj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 424w, https://substackcdn.com/image/fetch/$s_!rMAj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 848w, https://substackcdn.com/image/fetch/$s_!rMAj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 1272w, https://substackcdn.com/image/fetch/$s_!rMAj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!rMAj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png" width="1456" height="832" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:832,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!rMAj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 424w, https://substackcdn.com/image/fetch/$s_!rMAj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 848w, https://substackcdn.com/image/fetch/$s_!rMAj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 1272w, https://substackcdn.com/image/fetch/$s_!rMAj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F878342c1-3caa-48c6-940a-d3de00435c84_1488x850.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>Not only does retail recover the fastest, but it&#8217;s also among the top performers on success rates. Retail workflows running on main succeed 85.2% of the time, placing them fifth among all industries. With these two metrics combined, retail is the strongest all-around performer on the metrics that matter most for reliability.</p><p>Banking tells a similar story. The typical banking team recovers from a failed build in 41 minutes, second only to retail, and maintains an 80.1% success rate on main. What retail and banking have in common is that the business cost of downtime makes recovery speed an organizational priority, not just an engineering goal. For these teams, MTTR is a financial metric.</p><h3><strong>What this means for your team</strong></h3><p>Each of these industries has optimized for the thing their business pressure demands and accepted a tradeoff elsewhere. Civil engineering iterates at massive volume but ships to production at an average pace. Utilities ships to production at a very high rate, but recovery takes nearly seven hours when something breaks. Retail recovers faster than any other industry because the revenue impact of downtime made it an organizational priority.</p><p>The question for your team is which of these dimensions is actually constraining you right now. If your feature branches are active but production is flat, you have a throughput-to-production problem, the same one civil engineering is paying for at scale. If your success rate is below 80%, you&#8217;re burning engineering time and tokens on failures that stack up with every change you generate. If recovery takes more than an hour, every failure blocks not just the build that broke but everything behind it in the queue.</p><p>This is what we&#8217;re building<span> </span><strong><a href="https://circleci.com/blog/what-is-autonomous-validation/">autonomous validation</a></strong><span> </span>to solve: faster feedback, deeper context across your build history, and the ability to automatically resolve common failures before they turn into 400-minute recovery stalls or integration bottlenecks that keep code from reaching customers.</p><p><strong>See where your team stands</strong></p><p>The full<span> </span><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery/">2026 State of Software Delivery</a></strong><span> </span>breaks down performance by industry, region, and team size.</p><p>Want to benchmark your own metrics against these industries? The<span> </span><strong><a href="https://circleci.com/software-delivery-data-explorer/">Software Delivery Data Explorer</a></strong><span> </span>lets you compare your throughput, success rate, duration, and recovery time against teams in your specific segment.</p><p>Ready to start closing the gap between generation and delivery? CircleCI is<span> </span><strong><a href="https://circleci.com/signup">free to get started</a></strong>.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.confidentcommit.com/subscribe?"><span>Subscribe now</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[What 28 million workflows reveal about AI coding’s biggest risk ]]></title><description><![CDATA[In our last issue, we shared a preview of data from our upcoming 2026 State of Software Delivery showing that the promised AI productivity boom isn&#8217;t all hype.]]></description><link>https://www.confidentcommit.com/p/what-28-million-workflows-reveal</link><guid isPermaLink="false">https://www.confidentcommit.com/p/what-28-million-workflows-reveal</guid><dc:creator><![CDATA[Confident Commit]]></dc:creator><pubDate>Tue, 18 Aug 2026 21:25:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!kpAx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!kpAx!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!kpAx!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!kpAx!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!kpAx!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!kpAx!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!kpAx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png" width="1300" height="830" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:830,&quot;width&quot;:1300,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:47155,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://www.confidentcommit.com/i/211773323?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!kpAx!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 424w, https://substackcdn.com/image/fetch/$s_!kpAx!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 848w, https://substackcdn.com/image/fetch/$s_!kpAx!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 1272w, https://substackcdn.com/image/fetch/$s_!kpAx!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffb76fea7-4dc4-4475-ac8e-a9682004b789_1300x830.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In our<span> </span><strong><a href="https://www.linkedin.com/pulse/ai-productivity-boom-finally-shows-up-data-why-arent-more-teams-tiqdc/">last issue</a></strong>, we shared a preview of data from our upcoming 2026 State of Software Delivery showing that the promised AI productivity boom isn&#8217;t all hype. Throughput across the CircleCI platform increased 59% year-over-year, by far the largest productivity jump we&#8217;ve ever recorded and a clear indication that AI-assisted coding is driving massive increases in change volume.</p><p>But the gains weren&#8217;t evenly distributed. The top 5% of teams nearly doubled their output, while the median team improved by just 4%.</p><p>Since then, we&#8217;ve released the<span> </span><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery/">full report</a></strong>. Alongside it, we launched the<span> </span><strong><a href="https://circleci.com/software-delivery-data-explorer/">CircleCI Software Delivery Data Explorer</a></strong>, an interactive tool built on tens of millions of real CircleCI workflows that lets you benchmark your team&#8217;s throughput, duration, success rate, and MTTR against peers in your industry, region, or team size.</p><p>In this issue, we&#8217;re digging deeper into the performance divide we called out last time. What&#8217;s actually driving this separation, and what can you do about it?</p><div><hr></div><h3><strong>The branch data tells the real story</strong></h3><p>To understand what&#8217;s causing the AI performance gap, it helps to know a little about how modern software gets built.</p><p>When a developer starts on something new, they typically don&#8217;t write code directly into the main codebase. They create a separate copy called a<span> </span><strong>branch</strong>, a safe workspace where they can build and test without affecting anything in production or blocking their team from shipping other changes. When the work is done and the code passes automated checks, it gets reviewed and merged back into that main codebase, where it can be deployed to users.</p><p>Those two events mean very different things. Activity on feature branches tells you developers are working. Activity on the main branch tells you software is shipping. When you split the throughput data along those lines, the picture changes considerably.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!lZD5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!lZD5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 424w, https://substackcdn.com/image/fetch/$s_!lZD5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 848w, https://substackcdn.com/image/fetch/$s_!lZD5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!lZD5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!lZD5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png" width="1384" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1384,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!lZD5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 424w, https://substackcdn.com/image/fetch/$s_!lZD5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 848w, https://substackcdn.com/image/fetch/$s_!lZD5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!lZD5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F807c9da2-0397-4c68-bfa0-20c281fe5dd4_1384x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>For the top 5% of teams, throughput increased 26% on the main branch and 85% on feature branches between 2024 and 2025. Why is the jump so much bigger on feature branches? Because AI is particularly well-suited to the work that happens there: working out complex problems quickly, spinning up prototypes, and iterating quickly until the approach is right.</p><p>But the most important story is the increase in activity on main. Top performers are generating<span> </span><em>and shipping</em><span> </span>significantly more than they were just one year ago. That&#8217;s what it looks like when AI acceleration runs all the way through the delivery pipeline.</p><p>For everyone else, the picture is different. Teams in the top 10% saw feature branch throughput rise nearly 50%, but main branch activity was essentially flat at 1%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7vuh!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7vuh!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 424w, https://substackcdn.com/image/fetch/$s_!7vuh!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 848w, https://substackcdn.com/image/fetch/$s_!7vuh!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!7vuh!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7vuh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png" width="1020" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/aef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1020,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!7vuh!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 424w, https://substackcdn.com/image/fetch/$s_!7vuh!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 848w, https://substackcdn.com/image/fetch/$s_!7vuh!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!7vuh!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faef6276c-0a69-4a45-90fc-15d150787256_1020x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>And at the median, feature branch activity was up 15%, while main branch throughput actually<span> </span><em>declined<span> </span></em>by 7%.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Q7y3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Q7y3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Q7y3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Q7y3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Q7y3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Q7y3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png" width="1004" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1004,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!Q7y3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 424w, https://substackcdn.com/image/fetch/$s_!Q7y3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 848w, https://substackcdn.com/image/fetch/$s_!Q7y3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!Q7y3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F42ba6937-badc-4eba-9a96-372463bb0f4a_1004x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>In other words, the typical software team got marginally better at generating changes last year,<span> </span><strong>but they got<span> </span></strong><em><strong>worse<span> </span></strong></em><strong>at getting those changes into customers&#8217; hands.</strong></p><p>For any business leader, a regression in the organization&#8217;s ability to deliver value is going to set off alarm bells. So what&#8217;s behind it? The short answer is that AI has made it significantly easier to write code, but the process of integrating that code into a production system involves a different set of challenges. And those challenges get harder, not easier, as the volume of incoming changes goes up.</p><div><hr></div><h3><strong>Why AI-generated code is harder to land</strong></h3><p>It&#8217;s easy to say &#8220;integration is the bottleneck&#8221; and leave it there. But there are several distinct places between a developer finishing a piece of code and that code reaching production where things can slow down or break, and AI is putting pressure on all of them.</p><p>The first place AI generated changes run into trouble is code review. Most teams still require proposed changes to pass a manual review before they can be merged, and AI is making that queue harder to manage on two dimensions: volume and complexity.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!IHep!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!IHep!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 424w, https://substackcdn.com/image/fetch/$s_!IHep!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 848w, https://substackcdn.com/image/fetch/$s_!IHep!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!IHep!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!IHep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png" width="1263" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1263,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!IHep!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 424w, https://substackcdn.com/image/fetch/$s_!IHep!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 848w, https://substackcdn.com/image/fetch/$s_!IHep!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!IHep!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5d3a16a-365c-4c27-960d-b0867d56f03b_1263x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>We&#8217;ve already shown that AI is driving big increases in code activity for teams across the board. Those changes are not only happening more frequently, they&#8217;re also larger, denser, and touch more of the codebase than a human would in the same pass. Research by Faros AI and others has shown that AI adoption increases the size of pull requests by more than 150% on average.</p><p>What this means is that senior engineers tasked with reviewing AI-generated pull requests are facing an ever-growing review queue that is more difficult than ever to process. And they&#8217;re reporting all kinds of negative effects from it, from feelings of<span> </span><strong><a href="https://www.reddit.com/r/ExperiencedDevs/comments/1kr8clp/ai_slop_prs_are_burning_me_and_my_team_out_hard/">overwork and burnout</a></strong><span> </span>to the tendency to<span> </span><strong><a href="https://itrevolution.com/articles/the-revenge-of-qa-how-ai-code-generation-is-exposing-decades-of-process-debt/">take shortcuts and skim potentially risky code</a></strong>.</p><p>While the former is a serious risk to employee wellbeing and business continuity, only the latter is measurable in delivery data. And the impact is hard to ignore. Main branch success rates fell to<span> </span><strong>70.8%</strong><span> </span>this year, the lowest in over five years and well below the 90% benchmark that indicates a healthy pipeline.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_CeQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_CeQ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 424w, https://substackcdn.com/image/fetch/$s_!_CeQ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 848w, https://substackcdn.com/image/fetch/$s_!_CeQ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!_CeQ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_CeQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png" width="1223" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1223,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!_CeQ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 424w, https://substackcdn.com/image/fetch/$s_!_CeQ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 848w, https://substackcdn.com/image/fetch/$s_!_CeQ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!_CeQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8c2a659e-ab3e-4ee2-8613-20b7c07f0009_1223x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>Roughly 3 in 10 attempts to merge changes into production are now failing, and when the main branch breaks, nothing else can ship until it&#8217;s fixed.</p><p>That brings us to a third place AI code tends to get stuck: fixing it when it breaks. Recovery times for failed builds have been climbing since AI-assisted development went mainstream in 2022. This year, the typical team takes<span> </span><strong>72 minutes</strong><span> </span>to get back to green, a 13% increase from the previous year.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!BG_C!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BG_C!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 424w, https://substackcdn.com/image/fetch/$s_!BG_C!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 848w, https://substackcdn.com/image/fetch/$s_!BG_C!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!BG_C!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BG_C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png" width="1247" height="1000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1000,&quot;width&quot;:1247,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Article content&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Article content" title="Article content" srcset="https://substackcdn.com/image/fetch/$s_!BG_C!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 424w, https://substackcdn.com/image/fetch/$s_!BG_C!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 848w, https://substackcdn.com/image/fetch/$s_!BG_C!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 1272w, https://substackcdn.com/image/fetch/$s_!BG_C!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd543cc4f-476f-4832-8d6b-6de376fb19e0_1247x1000.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"></figcaption></figure></div><p>Recovery times have been getting longer as teams incorporate more AI-generated code into their workflows. The same challenges that slow down manual review &#8211; PR size and complexity &#8211; also make failures harder to diagnose. Larger changes create more places for bugs to hide. And when something breaks in code a model generated, the developer debugging it often has little intuition for why it was written the way it was or what it might have affected downstream.</p><div><hr></div><h3><strong>CI/CD has to keep up</strong></h3><p>In a<span> </span><strong><a href="https://www.linkedin.com/pulse/building-ai-speed-why-next-leap-cicd-autonomous-validation-circleci-dntzc/">recent newsletter</a></strong>, we made the case for<span> </span><strong><a href="https://circleci.com/blog/what-is-autonomous-validation/">autonomous validation</a></strong><span> </span>as the next evolution of CI/CD. The data in this report is the clearest argument yet for why that evolution is necessary.</p><p>The AI choke points we described are all symptoms of the same underlying weakness: delivery infrastructure built for a world where humans produced code at a human pace. That&#8217;s why we&#8217;re evolving CircleCI to deliver</p><ul><li><p><strong>Faster feedback</strong><span> </span>so issues surface while context is still fresh, not after developers have moved on to the next AI-generated change</p></li><li><p><strong>Deeper context</strong><span> </span>across your build history, dependencies, configs, and policies to surface risk in AI-generated changes that a diff alone can&#8217;t reveal</p></li><li><p><strong>Agentic capabilities</strong><span> </span>that can resolve common, repeatable failures autonomously, without pulling an engineer off their work every time a flaky test or dependency conflict blocks the pipeline</p></li></ul><p>When delivery pipelines can&#8217;t keep up, AI code is more likely to stall at review, break on merge, and burn engineering time on recovery. By rethinking CI/CD to operate at the same speed and scale as AI development, we&#8217;re taking concrete steps to remove the sources of friction that keep most teams from turning AI-generated code into shipped software.</p><div><hr></div><h3><strong>Where do you stand?</strong></h3><p>If your team is generating more code than ever but struggling to get it across the finish line, you&#8217;re not alone. That&#8217;s the reality for the majority of teams in this year&#8217;s data.</p><p>You can learn more in the 2026 State of Software Delivery. It breaks down exactly where things are slowing down and what high performers are doing differently.</p><p><strong><a href="https://circleci.com/resources/2026-state-of-software-delivery/">Download the report &#8594;</a></strong></p><p>Want to see where your own numbers land? The Data Explorer lets you benchmark your delivery metrics against teams in your industry, region, and size band.</p><p><strong><a href="https://circleci.com/software-delivery-data-explorer/">Benchmark your team in the Data Explorer &#8594;</a></strong></p><p>And when you&#8217;re ready to turn all that AI-generated code into shipped software, CircleCI is free to get started.</p><p><strong><a href="https://circleci.com/signup">Start building for free &#8594;</a></strong></p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://www.confidentcommit.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe now&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://www.confidentcommit.com/subscribe?"><span>Subscribe now</span></a></p>]]></content:encoded></item></channel></rss>