{"id":5685,"date":"2026-05-06T19:52:06","date_gmt":"2026-05-06T19:52:06","guid":{"rendered":"https:\/\/www.aviator.co\/blog\/?p=5685"},"modified":"2026-05-06T20:02:12","modified_gmt":"2026-05-06T20:02:12","slug":"do-we-even-need-a-better-github","status":"publish","type":"post","link":"https:\/\/www.aviator.co\/blog\/do-we-even-need-a-better-github\/","title":{"rendered":"Do we even need a better GitHub?"},"content":{"rendered":"<figure class=\"wp-block-post-featured-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1320\" height=\"690\" src=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/github-agentic-coding.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"github-agentic-coding\" style=\"object-fit:cover;\" srcset=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/github-agentic-coding.png 1320w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/github-agentic-coding-300x157.png 300w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/github-agentic-coding-1024x535.png 1024w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/github-agentic-coding-768x401.png 768w\" sizes=\"(max-width: 1320px) 100vw, 1320px\" \/><\/figure>\n\n\n<p>GitHub is having a tough time. Outages are frequent, PRs are missing, and their merge queue recently shipped a bug that silently deleted commits from mainline branches.\u00a0<\/p>\n\n\n\n<p>GitHub&#8217;s reliability issues are not surprising if you look at what&#8217;s happening to PR volumes. Agentic coding tools don&#8217;t just help engineers write code faster; they generate more discrete units of work. <strong>More PRs, more CI runs, more merge conflicts, more webhook events, more of everything.<\/strong><br><br>The conversation online has moved from &#8220;GitHub needs to fix this&#8221; to &#8220;Who is building the next GitHub?&#8221;<\/p>\n\n\n\n<p>I think that&#8217;s the wrong question. Maybe the better question is whether anyone needs to.&nbsp; GitHub was built for a world where humans write code. That world is ending.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The workflow was designed for humans<\/h2>\n\n\n\n<p>Think about what the standard workflow looks like: a developer writes code, opens a PR, a peer reviews it, CI runs, the PR gets approved and merged, it deploys. Every step in that chain was designed for a world where humans wrote all the code. The PR as a unit of work exists because it maps to a human&#8217;s mental model of a coherent change.<\/p>\n\n\n\n<p>When AI generates the code, these assumptions shift. <strong>The review becomes a human trying to understand machine-generated logic<\/strong>, a fundamentally different cognitive task than reviewing a colleague&#8217;s work. CI is still valuable, but the failure modes of AI-generated code are different from the failure modes of human-written code. The PR might represent a task that an agent decomposed into subtasks on its own, with no human reasoning trail attached.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What happens when you 5x the throughput<\/h2>\n\n\n\n<p><strong>A team that was merging 5 PRs per developer per week is now merging 20 or 25.<\/strong> Some devs are approaching hundreds of code changes a day. At that volume, the whole delivery pipeline degrades.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1024\" height=\"576\" src=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/agentic-coding-impact-ci-1024x576.png\" alt=\"\" class=\"wp-image-5688\" srcset=\"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/agentic-coding-impact-ci-1024x576.png 1024w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/agentic-coding-impact-ci-300x169.png 300w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/agentic-coding-impact-ci-768x432.png 768w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/agentic-coding-impact-ci-1536x864.png 1536w, https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/agentic-coding-impact-ci-2048x1152.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">The industrialization of software<\/h2>\n\n\n\n<p>If you were designing a code delivery system from scratch for a world where AI generates most of the code and humans provide judgment, direction, and quality oversight, you probably wouldn&#8217;t arrive at what we have today.<\/p>\n\n\n\n<p>We recently had a discussion in <a href=\"https:\/\/dx.community\/\" target=\"_blank\" rel=\"noopener\" title=\"\">The Hangar community <\/a>about \u2018the industrialization of software.\u2019 You probably keep hearing more about building your software factory.<br><br>Before industrialization, manufacturing was done by hand, and quality was a function of the craftsperson&#8217;s skill. Post-industrial manufacturing is done by machines, and quality is a function of the systems you build around those machines: inspection, testing, feedback loops, and continuous improvement.<\/p>\n\n\n\n<p>Software is going through a similar transition. Code used to be a craft product. It&#8217;s becoming a manufactured product. And the quality systems need to change accordingly.<\/p>\n\n\n\n<p>Andy Grove&#8217;s <em>High Output Management <\/em>describes quality control in chip manufacturing through sampling: inspect a subset, increase your sampling rate when you find errors, reduce it when things stabilize. Build trust incrementally. With AI-generated code we cannot sample results, but can still build better quality control.<br><br>Instead of reviewing every line, you review strategically. You identify the categories of errors AI consistently makes in your codebase and build automated checks for those. Over time, as your guardrails improve, the need for manual review decreases because you&#8217;ve systematically addressed the failure modes. You cannot just drop code reviews. Build trust incrementally. And in layers. The (in)famous <a href=\"https:\/\/www.latent.space\/p\/reviews-dead\" target=\"_blank\" rel=\"noopener\" title=\"\">Swiss cheese model.<\/a>\u00a0<\/p>\n\n\n\n<p>This is how continuous deployment matured as a practice, too. We moved from long massive deployments to continuous deployment by building better guardrails, not by putting more humans on an assembly line. If things break, we improve the guardrails, so it doesn&#8217;t happen again. <a href=\"https:\/\/continuousdelivery.com\/\">If it hurts, do it more often!<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">We need to rethink the verification layer<\/h2>\n\n\n\n<p>The ecosystem around GitHub is so deep that people almost can\u2019t imagine doing software engineering without it. But only scaling Git or source control won&#8217;t get us in a better place. The layer above Git, the collaboration and <a href=\"https:\/\/verify.aviator.co\/\">verification layer<\/a>, is where the real innovation needs to happen. Rather than a &#8220;better GitHub,&#8221; I think what teams need is a rethinking of the verification layer. A few concrete things:<\/p>\n\n\n\n<p><strong>Intent-first workflows.<\/strong> As I&#8217;ve <a href=\"https:\/\/www.latent.space\/p\/reviews-dead\">argued before<\/a>, aligning on intent and behavior would be the most impactful intervention <a href=\"https:\/\/www.aviator.co\/blog\/what-if-code-review-happened-before-the-code-was-written\/\">before the code is generated<\/a>, not reviewing the code after. If the <a href=\"https:\/\/docs.aviator.co\/verify\/concepts\/verification-layers\">acceptance criteria <\/a>are clear and agreed upon, verification becomes a matter of checking output against criteria rather than trying to reverse-engineer intent from implementation.<\/p>\n\n\n\n<p><strong>Behavioral verification at the merge layer.<\/strong> Instead of CI that runs unit tests and linters, a merge system that can verify acceptance criteria against the actual code changes. This is what BDD and TDD were always aiming for , but the overhead made them impractical when humans were writing everything. AI makes them practical because AI can generate the acceptance criteria, humans review them, and AI can then generate the code and assist in the verification.<\/p>\n\n\n\n<p><strong>Smarter batching.<\/strong> Instead of merging individual PRs one at a time, batch related changes together, run comprehensive verification on the batch, and ship the batch as a unit. This is what merge queues should evolve into: not just a queue for ordering merges, but a staging area for grouped verification.<\/p>\n\n\n\n<p><strong>Adaptive review depth.<\/strong> Not every change needs the same level of scrutiny. A system that can triage changes by risk, route high-risk changes to human review, and let low-risk changes flow through automated verification would let teams focus human attention where it matters.<\/p>\n\n\n\n<p><strong>Feedback loops from production.<\/strong> When something breaks in production, trace it back to the change that caused it, identify what category of error it was, and feed that back into both the prompting layer (to prevent it) and the verification layer (to catch it from happening again). This is the slop register concept applied continuously.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-aviator-blog wp-block-embed-aviator-blog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"IRsRWl2To4\"><a href=\"https:\/\/www.aviator.co\/blog\/what-if-code-review-happened-before-the-code-was-written\/\">What if Code Review Happened Before the Code was Written?<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&#8220;What if Code Review Happened Before the Code was Written?&#8221; &#8212; Aviator Blog\" src=\"https:\/\/www.aviator.co\/blog\/what-if-code-review-happened-before-the-code-was-written\/embed\/#?secret=q368ZWdRCC#?secret=IRsRWl2To4\" data-secret=\"IRsRWl2To4\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Start with your bottlenecks, not your platform<\/h2>\n\n\n\n<p>The honest answer is that nobody has fully figured this out yet. We&#8217;re in a transitional period where the tools for generating code have leaped ahead of the tools for verifying and delivering it. The organizational structures haven&#8217;t caught up either.<\/p>\n\n\n\n<p>What I&#8217;d encourage teams to focus on is less &#8220;Which platform should we move to&#8221; and more <strong>&#8220;Which parts of our delivery pipeline are bottlenecks now that weren&#8217;t bottlenecks a year ago?&#8221;<\/strong> For most teams, the answer is review, verification, and the feedback loop between production issues and prevention.<\/p>\n\n\n\n<p>GitHub may or may not solve its infrastructure problems. That matters, but it matters less than whether your team has a coherent approach to verifying AI-generated code before it reaches production.&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitHub was built for a world where humans write code. That world is ending. <\/p>\n","protected":false},"author":18,"featured_media":5689,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[94],"tags":[],"class_list":["post-5685","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-code-reviews"],"blocksy_meta":[],"acf":[],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/www.aviator.co\/blog\/wp-content\/uploads\/2026\/05\/github-agentic-coding.png","post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts\/5685","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/comments?post=5685"}],"version-history":[{"count":3,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts\/5685\/revisions"}],"predecessor-version":[{"id":5693,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/posts\/5685\/revisions\/5693"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/media\/5689"}],"wp:attachment":[{"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/media?parent=5685"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/categories?post=5685"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.aviator.co\/blog\/wp-json\/wp\/v2\/tags?post=5685"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}