<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>DevOps &#183; PiniShv</title><link>https://pinishv.com/tags/devops/</link><description>Pini Shvartsman leads AI transformation inside a 100+ engineer SaaS org. Field notes on autonomous engineering: AI-powered execution, human accountability.</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>© 2026 Pini Shvartsman</copyright><lastBuildDate>Mon, 01 Jun 2026 21:00:00 +0300</lastBuildDate><atom:link href="https://pinishv.com/tags/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>Agentic Overwatch: Why Your Next Dev Team Will Look Like a NASA Control Room</title><link>https://pinishv.com/articles/agentic-overwatch/</link><pubDate>Mon, 01 Jun 2026 21:00:00 +0300</pubDate><guid>https://pinishv.com/articles/agentic-overwatch/</guid><description>Agents don&amp;rsquo;t just write code anymore. They run ops, security, QA, data, and support, around the clock, while we still govern them with a team that logs off at 5 PM. That gap has a name now: Agentic Overwatch. The discipline of steering the whole fleet from a control room. Here is the definition, the framework, and how to start before your agents force the issue.</description><content:encoded>&lt;p>It&amp;rsquo;s 3:00 AM and a dozen screens are still on. Most of the company is asleep. A few people aren&amp;rsquo;t, because the systems they watch don&amp;rsquo;t keep office hours. A graph spikes red, someone acknowledges the alert, a fix goes out, the line settles back to green. Then the next one.&lt;/p>
&lt;p>Early in my career I spent less than a year inside a Network Operations Center like that. Short stint, but it stuck with me. We kept thousands of live servers running in real time, 24/7. When something broke at 3:00 AM we didn&amp;rsquo;t file it for the morning stand-up. We fixed it then and there. We were the failsafe, and the failsafe doesn&amp;rsquo;t get to sleep through the incident.&lt;/p>
&lt;p>I keep coming back to that room, because I think it&amp;rsquo;s where the whole software industry is heading. Not just engineering. All of it.&lt;/p>
&lt;p>Here is the part most people haven&amp;rsquo;t clocked yet. The agents everyone is so excited about don&amp;rsquo;t only write code. Inside the organizations that are actually leaning in, one agent is rebalancing cloud spend before the monthly bill blows the budget. Another just quarantined a leaked token and is drafting the security writeup. A third is rewriting the flaky test suite that&amp;rsquo;s been blocking the release train. A fourth shipped the incident postmortem before the humans woke up. A fifth is halfway through a customer&amp;rsquo;s support ticket. None of them asked permission. Every one of them is doing work that used to belong to a person with a title.&lt;/p>
&lt;p>That isn&amp;rsquo;t a dev team anymore. It&amp;rsquo;s a workforce. And almost nobody has a single screen that shows what the whole workforce is doing right now.&lt;/p>
&lt;p>We are handing autonomous agents the keys to engineering, operations, security, QA, data, and support, at a velocity no human team can match. And we are still governing them with the model we built for hand-typed software: nine to five, five days a week, with a fragile on-call rotation taped to the side. We still expect a tired human to &amp;ldquo;step up&amp;rdquo; at 2:00 AM and babysit production.&lt;/p>
&lt;p>That expectation was already shaky when humans wrote all the code. It snaps the moment the code, the infra changes, the security responses, and the test rewrites all start writing themselves.&lt;/p>
&lt;p>You cannot govern a workforce that runs flat out, around the clock, with a team that logs off at 5 PM.&lt;/p>
&lt;p>We are entering the era of Agentic Overwatch.&lt;/p>
&lt;h2 class="relative group">Defining the term
&lt;div id="defining-the-term" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#defining-the-term" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I want to say plainly what I mean, because the industry keeps gesturing at this without naming it.&lt;/p>
&lt;blockquote>
&lt;p>&lt;strong>Agentic Overwatch&lt;/strong> is the discipline of supervising a fleet of autonomous AI agents in production the way an operations center supervises live infrastructure. A NOC watches uptime. A SOC watches threats. Agentic Overwatch watches the agents themselves, whatever function they happen to be performing, and keeps a human in the loop for the decisions that carry real consequences. Continuous, tiered, shift-based. The unit of work is no longer a line of code. It is the fleet, and the human&amp;rsquo;s job is to steer, judge, and authorize rather than type.&lt;/p>&lt;/blockquote>
&lt;p>That is the whole idea. Everything below is the architecture of it.&lt;/p>
&lt;p>The room needs a name too, because it earns one. A NOC is a Network Operations Center. A SOC is a Security Operations Center. This is the &lt;strong>Agent Operations Center&lt;/strong>, the AOC, and the people who staff it are the AOC team. That is what I mean every time I say &amp;ldquo;the room&amp;rdquo; from here on.&lt;/p>
&lt;p>A couple of things it gets confused with, so let me clear them out of the way.&lt;/p>
&lt;p>It is not AIOps or observability. Those tools watch your &lt;em>systems&lt;/em> and surface anomalies for a human to go fix. Overwatch watches your &lt;em>agents&lt;/em>, the workers that are themselves taking action, and a human approves or vetoes what they propose. The thing under supervision moved up a level. Your dashboards used to show you CPU and latency. Now they have to show you what your workforce is deciding to do about CPU and latency.&lt;/p>
&lt;p>It is also not &lt;a
href="https://pinishv.com/articles/vibe-coding-backlash-seniors-lose-argument/">vibe coding&lt;/a>. Vibe coding is the casual, almost magical act of prompting an AI to spit out an app while you sip your coffee. Fun trick. It completely ignores what happens after the demo, when that code scales and thousands of agents are making real decisions in a live environment at once. Vibe coding is about generating. Overwatch is about governing. They are not in the same job family.&lt;/p>
&lt;p>And to head off the obvious question: yes, a few security vendors ship products with &amp;ldquo;OverWatch&amp;rdquo; in the name for threat hunting. This is broader than any one product. Agentic Overwatch is not a thing you buy. It is the operating model for supervising your whole agent fleet, whatever job it happens to be doing.&lt;/p>
&lt;h2 class="relative group">It was never just about code
&lt;div id="it-was-never-just-about-code" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#it-was-never-just-about-code" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The phrase &amp;ldquo;AI writes code&amp;rdquo; undersold this from the start. Code was simply the first job agents got good enough to take.&lt;/p>
&lt;p>Watch where they spread next, because it is already happening. In operations, agents scale services up and down, reroute traffic, and roll deployments back when error rates climb. In security, they triage alerts, revoke credentials, and isolate compromised workloads. In QA, they generate tests, reproduce bugs, and gate releases. In data, they fix broken pipelines and backfill tables. In FinOps, they hunt down waste and right-size infrastructure. In support, they resolve tickets that used to sit in a queue for two days. Each of these is a function that an entire team used to own. Now an agent owns a slice of it, and the slice keeps growing.&lt;/p>
&lt;p>I wrote a while back about &lt;a
href="https://pinishv.com/articles/org-charts-for-ai-agents-mapping-your-human-and-ai-workforce/">putting AI agents on the org chart&lt;/a>, with real owners and real KPIs. The point lands harder now. If agents staff every function, then the most dangerous failures are not the ones inside a single function. They are the ones that cross between them. The cost agent right-sizes a database at the exact moment the deploy agent ships a migration against it. The security agent revokes a service account that, three systems away, runs the nightly billing job. No single team owns that collision. No single dashboard sees it coming.&lt;/p>
&lt;p>That is why this has to be one room watching one fleet, not five tools watching five corners. The whole reason the NOC worked was that it sat above the silos and saw the system whole.&lt;/p>
&lt;h2 class="relative group">The governance gap
&lt;div id="the-governance-gap" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-governance-gap" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Output is compounding across every one of those functions. Oversight is flat. I made this point about &lt;a
href="https://pinishv.com/articles/when-ai-writes-90-percent-of-code/">code specifically&lt;/a>, but the curve is identical for deploys, security responses, and data changes: we can produce far faster than we can supervise.&lt;/p>
&lt;p>That is the governance gap, the widening distance between how much autonomous work is happening and how much human oversight actually covers it. We are treating agents like a brilliant intern we leave alone in the building overnight. Never sleeps, never tires, ships to production on its own schedule, and nobody is watching while it does. &lt;a
href="https://pinishv.com/articles/shadow-ai-most-dangerous-sentence/">Shadow AI&lt;/a> already proved teams will wire up unsupervised agents faster than leadership can react. This is not a forecast. The gap is in your stack tonight.&lt;/p>
&lt;p>When those agents trigger a cascading failure at 3:00 AM, and eventually they will, &amp;ldquo;we were all asleep&amp;rdquo; is not a line you want in the postmortem. Closing the gap is not a tooling purchase. It is a change in how teams are built and how they run the clock.&lt;/p>
&lt;h2 class="relative group">Borrow the tier model from the NOC
&lt;div id="borrow-the-tier-model-from-the-noc" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#borrow-the-tier-model-from-the-noc" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here is what the NOC got right decades ago, and it maps onto agents almost perfectly. Operations has always run in tiers. Agentic Overwatch keeps the structure and changes who sits in each chair.&lt;/p>
&lt;p>&lt;strong>Tier 1, detection and triage.&lt;/strong> Agents. They watch every signal across every function, correlate the noise, classify severity, and kill the false alarms that used to wake people up for nothing.&lt;/p>
&lt;p>&lt;strong>Tier 2, diagnosis and remediation.&lt;/strong> Agents. They reproduce the failure, trace the blast radius, draft the fix, write the rollback plan, and stage it. This is the work that used to eat a senior engineer&amp;rsquo;s entire night.&lt;/p>
&lt;p>&lt;strong>Tier 3, judgment and authorization.&lt;/strong> Humans. Not because we are faster, but because we own the consequences. This is the split-second call that actually carries weight: &amp;ldquo;Agent 4 found a memory leak in the payment gateway and wants to roll the database back. Approve or reject?&amp;rdquo; Or the one that crosses functions: &amp;ldquo;The security agent wants to revoke this service account to contain a breach. It also runs tonight&amp;rsquo;s billing. Approve or reject?&amp;rdquo;&lt;/p>
&lt;figure style="text-align: center; margin: 2rem auto;">
&lt;svg viewBox="0 0 760 430" role="img" aria-labelledby="tier-title tier-desc" style="width:100%; height:auto; max-width:720px;" xmlns="http://www.w3.org/2000/svg">
&lt;title id="tier-title">The Agentic Overwatch tier model&lt;/title>
&lt;desc id="tier-desc">Tier 1 detection and Tier 2 remediation are run by agents; Tier 3 judgment and authorization is owned by humans, with work escalating upward.&lt;/desc>
&lt;rect x="6" y="6" width="748" height="418" rx="18" fill="#0b1220" stroke="#1e293b" stroke-width="1.5"/>
&lt;text x="34" y="42" fill="#64748b" font-family="system-ui, sans-serif" font-size="13" font-weight="700" letter-spacing="2">THE OVERWATCH TIER MODEL&lt;/text>
&lt;line x1="124" y1="96" x2="124" y2="378" stroke="#475569" stroke-width="2"/>
&lt;path d="M124 386 L118 372 L130 372 Z" fill="#475569"/>
&lt;text x="108" y="248" fill="#64748b" font-family="system-ui, sans-serif" font-size="12" letter-spacing="2" transform="rotate(-90 108 248)" text-anchor="middle">ESCALATION&lt;/text>
&lt;!-- Tier 1 -->
&lt;rect x="180" y="66" width="478" height="88" rx="12" fill="#0e1b2e" stroke="#22d3ee" stroke-width="1.5"/>
&lt;text x="206" y="96" fill="#22d3ee" font-family="system-ui, sans-serif" font-size="13" font-weight="700" letter-spacing="1.5">TIER 1&lt;/text>
&lt;text x="206" y="124" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="21" font-weight="700">Detection &amp;amp; Triage&lt;/text>
&lt;text x="206" y="144" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Watch every signal, correlate noise, kill the false alarms.&lt;/text>
&lt;rect x="558" y="95" width="76" height="30" rx="15" fill="#22d3ee22" stroke="#22d3ee" stroke-width="1.2"/>
&lt;text x="596" y="115" fill="#7fe7f6" font-family="system-ui, sans-serif" font-size="12.5" font-weight="700" text-anchor="middle">AGENTS&lt;/text>
&lt;!-- Tier 2 -->
&lt;rect x="180" y="184" width="478" height="88" rx="12" fill="#0e1b2e" stroke="#22d3ee" stroke-width="1.5"/>
&lt;text x="206" y="214" fill="#22d3ee" font-family="system-ui, sans-serif" font-size="13" font-weight="700" letter-spacing="1.5">TIER 2&lt;/text>
&lt;text x="206" y="242" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="21" font-weight="700">Diagnosis &amp;amp; Remediation&lt;/text>
&lt;text x="206" y="262" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Reproduce, trace blast radius, draft the fix and the rollback.&lt;/text>
&lt;rect x="558" y="213" width="76" height="30" rx="15" fill="#22d3ee22" stroke="#22d3ee" stroke-width="1.2"/>
&lt;text x="596" y="233" fill="#7fe7f6" font-family="system-ui, sans-serif" font-size="12.5" font-weight="700" text-anchor="middle">AGENTS&lt;/text>
&lt;!-- Tier 3 -->
&lt;rect x="180" y="302" width="478" height="88" rx="12" fill="#161a2e" stroke="#f59e0b" stroke-width="1.5"/>
&lt;text x="206" y="332" fill="#f59e0b" font-family="system-ui, sans-serif" font-size="13" font-weight="700" letter-spacing="1.5">TIER 3&lt;/text>
&lt;text x="206" y="360" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="21" font-weight="700">Judgment &amp;amp; Authorization&lt;/text>
&lt;text x="206" y="380" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Approve or reject the call that carries real consequences.&lt;/text>
&lt;rect x="558" y="331" width="76" height="30" rx="15" fill="#f59e0b22" stroke="#f59e0b" stroke-width="1.2"/>
&lt;text x="596" y="351" fill="#f8c977" font-family="system-ui, sans-serif" font-size="12.5" font-weight="700" text-anchor="middle">HUMANS&lt;/text>
&lt;/svg>
&lt;figcaption>&lt;em>Agents do the work in Tiers 1 and 2. Humans own the call in Tier 3.&lt;/em>&lt;/figcaption>
&lt;/figure>
&lt;p>The leverage is obvious once you see it. Tiers 1 and 2 were always the exhausting, repetitive, sleep-wrecking tiers, and those are exactly the tiers agents are best at. The human moves up to Tier 3, where the work is rare, consequential, and human by nature.&lt;/p>
&lt;p>The agents do the work. The humans own the call. That is the entire operating model, and it fits on a sticky note.&lt;/p>
&lt;h2 class="relative group">The human becomes the orchestrator
&lt;div id="the-human-becomes-the-orchestrator" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-human-becomes-the-orchestrator" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>So what is left for the human in the loop? Everything that actually matters.&lt;/p>
&lt;p>The people in the Overwatch room are orchestrators. They don&amp;rsquo;t write the hotfix, because the agent already wrote three versions of it. They bring the judgment, the context, and the boundaries the agent doesn&amp;rsquo;t have. They decide which proposal ships and which one gets killed before it touches a customer.&lt;/p>
&lt;p>This is the thread I keep pulling on. I&amp;rsquo;ve written about &lt;a
href="https://pinishv.com/articles/ai-reviewing-ai-code/">AI reviewing AI&amp;rsquo;s code&lt;/a> and about &lt;a
href="https://pinishv.com/articles/cli-agent-orchestrator-when-one-agent-isnt-enough/">orchestrating multiple agents when one isn&amp;rsquo;t enough&lt;/a>, and I&amp;rsquo;ve argued that &lt;a
href="https://pinishv.com/articles/ide-becoming-mission-control/">the IDE is becoming mission control&lt;/a>. Every vendor is rebuilding its product around the agent rather than the file. Overwatch is what that mission-control surface is finally for. Walk into one of these rooms in a few years and you will not see engineers hunting for a missing semicolon. You will see a wall that tracks the live workflows, decision trees, spend, and health of thousands of agents across every department, and a small number of very sharp people steering it.&lt;/p>
&lt;p>The Overwatch engineer is part SRE, part reviewer, part air traffic controller. The scarce skill is not typing speed. It is the calibrated judgment to know when an agent&amp;rsquo;s confident-looking fix is about to make everything worse.&lt;/p>
&lt;p>For this to work, the culture has to borrow the operational rigor of those old NOC rooms. The artisan era of software is giving way to an industrial one, and industrial operations do not go home at 5 PM. The 9-to-5 gets replaced by continuous, shift-based orchestration. Follow-the-sun, the way global operations have run for decades. Nobody wakes a single exhausted developer at 2:00 AM. A fresh, fully alert Overwatch engineer on the AOC team catches the agent&amp;rsquo;s proposed fix and authorizes the deploy before the customer ever sees a glitch.&lt;/p>
&lt;h2 class="relative group">The handoff: ownership changes hands at the end of the day
&lt;div id="the-handoff-ownership-changes-hands-at-the-end-of-the-day" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-handoff-ownership-changes-hands-at-the-end-of-the-day" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>A NOC shift never ends with everyone just going home. It ends with a handoff. The outgoing team tells the incoming one what is running, what is fragile, what to watch, and what to do if it breaks. Agentic Overwatch needs the same ritual, and it is the piece most teams will forget.&lt;/p>
&lt;p>When a developer wraps for the day, they should not close the laptop and hope their agents behave overnight. They hand ownership of their in-flight work to the AOC team. Not &amp;ldquo;keep an eye on things.&amp;rdquo; Actual ownership: these agents are mine, here is what they are doing, and from now until tomorrow morning they are yours to steer.&lt;/p>
&lt;p>What makes that handoff real is the runbook. For every agent or workstream a developer hands over, there is a short, blunt document that answers the questions the AOC team will actually face at 3:00 AM:&lt;/p>
&lt;ul>
&lt;li>What is this agent doing, and what does normal look like?&lt;/li>
&lt;li>What are the failure modes, and how do I tell them apart?&lt;/li>
&lt;li>For each scenario, what is the AOC authorized to do on its own? Approve the rollback? Pause the agent? Reroute traffic? Page the owner? Or just log it and wait?&lt;/li>
&lt;li>What must never happen without waking me up?&lt;/li>
&lt;/ul>
&lt;p>This is what lets a human who did not write the code still own the call. A good runbook turns &amp;ldquo;I don&amp;rsquo;t know, it isn&amp;rsquo;t my code&amp;rdquo; into &amp;ldquo;the runbook says approve the rollback, so I approve it.&amp;rdquo; Without runbooks the AOC can only watch and escalate, which means you are right back to waking people at 2:00 AM. With them, the room can act with the same confidence the author would have had.&lt;/p>
&lt;p>So the definition of done changes.&lt;/p>
&lt;blockquote>
&lt;p>A feature is not done when the code merges. It is done when the AOC can run it without you.&lt;/p>&lt;/blockquote>
&lt;p>The runbook becomes part of shipping, the same way tests and docs are. If you cannot hand your agent off with a page that tells a stranger how to govern it at 3:00 AM, you have not finished building it. You have just stopped typing.&lt;/p>
&lt;h2 class="relative group">The Overwatch Maturity Model
&lt;div id="the-overwatch-maturity-model" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-overwatch-maturity-model" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you want to know where your team actually sits today, and where it needs to go, here is the curve. Borrow it, argue with it, cite it.&lt;/p>
&lt;p>&lt;strong>Level 0, blind.&lt;/strong> Agents do real work, humans review during business hours, and nobody watches what runs overnight. Most teams are here and don&amp;rsquo;t know it.&lt;/p>
&lt;p>&lt;strong>Level 1, alerting.&lt;/strong> Agents act, and when something breaks they page a human who logs in and fixes it by hand. The on-call rotation with extra steps. Still reactive, still wrecking someone&amp;rsquo;s sleep.&lt;/p>
&lt;p>&lt;strong>Level 2, assisted remediation.&lt;/strong> Agents detect, diagnose, and propose fixes. A human reviews the proposal and approves execution. Tier 3 exists, but coverage is patchy and tied to working hours.&lt;/p>
&lt;p>&lt;strong>Level 3, continuous Overwatch.&lt;/strong> Shift-based human coverage, agents running Tier 1 and Tier 2 around the clock, and a real authorization layer for consequential actions. The room is staffed whenever the agents are working, which is always.&lt;/p>
&lt;p>&lt;strong>Level 4, orchestrated fleet.&lt;/strong> Overwatch itself is the discipline the company is organized around. One view across thousands of agents in every function, codified escalation policies, agent KPIs, and humans whose entire job is steering the swarm. This is the control room.&lt;/p>
&lt;figure style="text-align: center; margin: 2rem auto;">
&lt;svg viewBox="0 0 760 470" role="img" aria-labelledby="mat-title mat-desc" style="width:100%; height:auto; max-width:720px;" xmlns="http://www.w3.org/2000/svg">
&lt;title id="mat-title">The Overwatch Maturity Model&lt;/title>
&lt;desc id="mat-desc">Five levels from Level 0 Blind to Level 4 Orchestrated fleet, climbing in maturity. Most teams sit at Level 0 or 1.&lt;/desc>
&lt;rect x="6" y="6" width="748" height="458" rx="18" fill="#0b1220" stroke="#1e293b" stroke-width="1.5"/>
&lt;text x="34" y="42" fill="#64748b" font-family="system-ui, sans-serif" font-size="13" font-weight="700" letter-spacing="2">THE OVERWATCH MATURITY MODEL&lt;/text>
&lt;line x1="120" y1="84" x2="120" y2="438" stroke="#475569" stroke-width="2"/>
&lt;path d="M120 446 L114 432 L126 432 Z" fill="#475569"/>
&lt;text x="104" y="262" fill="#64748b" font-family="system-ui, sans-serif" font-size="12" letter-spacing="2" transform="rotate(-90 104 262)" text-anchor="middle">MATURITY&lt;/text>
&lt;!-- Level 0 -->
&lt;rect x="168" y="64" width="522" height="64" rx="10" fill="#250f10" stroke="#f87171" stroke-width="1.5"/>
&lt;circle cx="206" cy="96" r="23" fill="#f87171"/>
&lt;text x="206" y="104" fill="#2a0c0c" font-family="system-ui, sans-serif" font-size="22" font-weight="800" text-anchor="middle">0&lt;/text>
&lt;text x="246" y="92" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="17" font-weight="700">Blind&lt;/text>
&lt;text x="246" y="112" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Agents act. Nobody watches what runs overnight.&lt;/text>
&lt;!-- Level 1 -->
&lt;rect x="168" y="142" width="522" height="64" rx="10" fill="#241405" stroke="#fb923c" stroke-width="1.5"/>
&lt;circle cx="206" cy="174" r="23" fill="#fb923c"/>
&lt;text x="206" y="182" fill="#2a1604" font-family="system-ui, sans-serif" font-size="22" font-weight="800" text-anchor="middle">1&lt;/text>
&lt;text x="246" y="170" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="17" font-weight="700">Alerting&lt;/text>
&lt;text x="246" y="190" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Something breaks, a human gets paged and fixes it by hand.&lt;/text>
&lt;!-- Level 2 -->
&lt;rect x="168" y="220" width="522" height="64" rx="10" fill="#211d08" stroke="#facc15" stroke-width="1.5"/>
&lt;circle cx="206" cy="252" r="23" fill="#facc15"/>
&lt;text x="206" y="260" fill="#241f02" font-family="system-ui, sans-serif" font-size="22" font-weight="800" text-anchor="middle">2&lt;/text>
&lt;text x="246" y="248" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="17" font-weight="700">Assisted remediation&lt;/text>
&lt;text x="246" y="268" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Agents propose fixes; a human approves, in business hours.&lt;/text>
&lt;!-- Level 3 -->
&lt;rect x="168" y="298" width="522" height="64" rx="10" fill="#0c1b29" stroke="#22d3ee" stroke-width="1.5"/>
&lt;circle cx="206" cy="330" r="23" fill="#22d3ee"/>
&lt;text x="206" y="338" fill="#06222a" font-family="system-ui, sans-serif" font-size="22" font-weight="800" text-anchor="middle">3&lt;/text>
&lt;text x="246" y="326" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="17" font-weight="700">Continuous Overwatch&lt;/text>
&lt;text x="246" y="346" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">Shift-based coverage; agents run Tiers 1 and 2 around the clock.&lt;/text>
&lt;!-- Level 4 -->
&lt;rect x="168" y="376" width="522" height="64" rx="10" fill="#0c1f1a" stroke="#34d399" stroke-width="1.5"/>
&lt;circle cx="206" cy="408" r="23" fill="#34d399"/>
&lt;text x="206" y="416" fill="#06231a" font-family="system-ui, sans-serif" font-size="22" font-weight="800" text-anchor="middle">4&lt;/text>
&lt;text x="246" y="404" fill="#e8edf6" font-family="system-ui, sans-serif" font-size="17" font-weight="700">Orchestrated fleet&lt;/text>
&lt;text x="246" y="424" fill="#93a4bc" font-family="system-ui, sans-serif" font-size="12.5">One view across thousands of agents in every function.&lt;/text>
&lt;!-- "most teams" bracket -->
&lt;path d="M700 64 L712 64 L712 206 L700 206" fill="none" stroke="#f87171" stroke-width="1.5"/>
&lt;text x="730" y="135" fill="#f87171" font-family="system-ui, sans-serif" font-size="11.5" font-weight="600" letter-spacing="0.5" transform="rotate(90 730 135)" text-anchor="middle">MOST TEAMS&lt;/text>
&lt;/svg>
&lt;figcaption>&lt;em>Almost everyone is at Level 0 or 1. The point is to stop pretending otherwise.&lt;/em>&lt;/figcaption>
&lt;/figure>
&lt;p>The honest answer for almost everyone reading this is Level 0 or 1. The point is not to leap to Level 4 next quarter. It is to stop pretending you are further along than you are.&lt;/p>
&lt;h2 class="relative group">How to start before your agents force the issue
&lt;div id="how-to-start-before-your-agents-force-the-issue" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-to-start-before-your-agents-force-the-issue" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>You do not need a war room with floor-to-ceiling monitors next week. You need to start building the operational muscle now, while the stakes are still survivable.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Map your autonomy honestly.&lt;/strong> Write down every place an agent already acts without a human in the loop, across every function, not just engineering. The list is longer than you think, and the surprises on it are your real risk.&lt;/li>
&lt;li>&lt;strong>Define the authorization boundary.&lt;/strong> Decide which actions an agent runs freely and which require a human first. Payments, migrations, credential changes, anything that can take down the service or leak data: agent recommends, human approves, agent executes.&lt;/li>
&lt;li>&lt;strong>Instrument the agents, not just the systems.&lt;/strong> You need a view of what your agents are deciding, not only what your servers are doing. If you cannot see the fleet, you cannot steer it.&lt;/li>
&lt;li>&lt;strong>Write the runbooks, and make them part of done.&lt;/strong> For every agent a developer hands off, ship a page that tells whoever is on shift what normal looks like, what the failure modes are, and exactly what they are allowed to do about each one. No runbook, not done.&lt;/li>
&lt;li>&lt;strong>Staff the clock, not the calendar.&lt;/strong> Start small. Even a thin follow-the-sun rotation across two or three regions beats one time zone pretending production sleeps.&lt;/li>
&lt;li>&lt;strong>Give the room real authority.&lt;/strong> An Overwatch engineer who cannot veto an agent or halt a deploy is not doing Overwatch. They are a spectator with a nice dashboard.&lt;/li>
&lt;/ol>
&lt;p>The teams that build this muscle now will run hybrid fleets calmly while their competitors are still getting paged at 3:00 AM and writing apologies in the morning.&lt;/p>
&lt;h2 class="relative group">The fleet doesn&amp;rsquo;t sleep
&lt;div id="the-fleet-doesnt-sleep" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-fleet-doesnt-sleep" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The agents never tire. They never log off. Soon our operational models won&amp;rsquo;t either.&lt;/p>
&lt;p>The move from artisan to operator is not optional, and it is not far off. It is the difference between governing your agents and being governed by their failures. The companies that win the next decade will not be the ones that generate the most code, or close the most tickets, or ship the most deploys. They will be the ones that can watch the whole fleet do all of it: continuously, calmly, around the clock.&lt;/p>
&lt;p>Stop writing lines of code. Start commanding the fleet.&lt;/p>
&lt;p>Welcome to the era of Agentic Overwatch.&lt;/p>
&lt;hr>
&lt;p>&lt;em>I lead Innovation for a global SaaS platform, and I spend my time on one question: how do teams get dramatically more out of the people and tools they already have? Agentic Overwatch is my own thesis about where that goes next, and it is what I have been preaching to anyone who will listen. If it resonates, or you are just realizing you are sitting at Level 0, I want to hear about it. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a>, &lt;a
href="https://www.linkedin.com/in/pinishv"
target="_blank"
>LinkedIn&lt;/a>, or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>. And if you start using the term, you know where it came from.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/agentic-overwatch/feature.png"/></item><item><title>100 Days to the EU AI Act Deadline. Your Engineering Team Hasn't Started.</title><link>https://pinishv.com/articles/eu-ai-act-100-days-engineering-not-started/</link><pubDate>Fri, 24 Apr 2026 16:00:00 +0300</pubDate><guid>https://pinishv.com/articles/eu-ai-act-100-days-engineering-not-started/</guid><description>August 2, 2026 is the enforcement deadline for EU AI Act high-risk obligations. From today, that&amp;rsquo;s exactly 100 days. In most orgs, the legal team is tracking this and the engineering team hasn&amp;rsquo;t been formally told what they need to ship. By July that gap will not be recoverable. Here&amp;rsquo;s what Articles 5, 12, 14, and 50 actually require when you translate them into code, and a 100-day plan to ship on time.</description><content:encoded>&lt;p>Today is April 24, 2026. The EU AI Act&amp;rsquo;s enforcement deadline for high-risk AI systems is August 2, 2026. That&amp;rsquo;s exactly 100 days.&lt;/p>
&lt;p>In most engineering organizations, the legal team is tracking this. The compliance team is tracking this. The engineering team has not been formally told what they need to ship by August.&lt;/p>
&lt;p>By July, that gap will not be recoverable. Not because the work is impossible. Because the work requires sprint capacity that wasn&amp;rsquo;t planned for.&lt;/p>
&lt;h2 class="relative group">Who this actually applies to
&lt;div id="who-this-actually-applies-to" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#who-this-actually-applies-to" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Before anything else, kill the myth that this is &amp;ldquo;a European company problem.&amp;rdquo;&lt;/p>
&lt;p>The EU AI Act applies extraterritorially. If your AI system is used by EU citizens, you are in scope regardless of where your company is headquartered. US-based SaaS with EU customers? In scope. Israeli startup selling to a German bank? In scope. AI feature in a product that&amp;rsquo;s accessible from Europe at all? In scope. Your B2B API is called by someone else&amp;rsquo;s product that serves EU users? Still in scope. Downstream distribution doesn&amp;rsquo;t insulate upstream providers.&lt;/p>
&lt;p>There&amp;rsquo;s no &amp;ldquo;I didn&amp;rsquo;t know&amp;rdquo; exemption. Fines go up to €35 million or 7% of global annual revenue, whichever is higher.&lt;/p>
&lt;p>If you have any customer traffic from the EU, even indirect traffic through a partner, this is your problem.&lt;/p>
&lt;h2 class="relative group">What the law actually requires (in engineering language)
&lt;div id="what-the-law-actually-requires-in-engineering-language" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-the-law-actually-requires-in-engineering-language" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Each critical article, translated into changes in your repo.&lt;/p>
&lt;h3 class="relative group">Article 50: Transparency
&lt;div id="article-50-transparency" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#article-50-transparency" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Law:&lt;/strong> Users must be told when they&amp;rsquo;re interacting with an AI. AI-generated content needs machine-readable markers and metadata.&lt;/p>
&lt;p>&lt;strong>Engineering translation:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Add a visible UI disclosure anywhere users interact with an AI-driven feature. Not buried in the terms of service. In the flow.&lt;/li>
&lt;li>Attach machine-readable metadata (HTTP headers, EXIF-equivalent content tags) to any AI-generated content your system produces or distributes.&lt;/li>
&lt;li>For chat interfaces, a persistent &amp;ldquo;AI assistant&amp;rdquo; label near the input field is the minimum.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What this means for your sprint:&lt;/strong> audit every product surface where a model output reaches a user. Every single one. Add disclosure if missing. Add metadata tagging if content leaves your system.&lt;/p>
&lt;h3 class="relative group">Article 12: Record-keeping
&lt;div id="article-12-record-keeping" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#article-12-record-keeping" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Law:&lt;/strong> Every interaction with a high-risk AI system must be logged in a structured, auditable format that a regulator can query.&lt;/p>
&lt;p>&lt;strong>Engineering translation:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Structured event logging on every model inference. Inputs, outputs, model version, timestamp, user or tenant identifier, confidence scores if available.&lt;/li>
&lt;li>The log must be queryable. A 12-month pile of unstructured stdout does not count.&lt;/li>
&lt;li>Retention needs to match the regulatory requirement (typically 6 years for high-risk systems).&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What this means:&lt;/strong> if your current AI feature logs to stdout or to a generic app log, that&amp;rsquo;s not compliant. You need a dedicated audit trail with a proper schema, proper indexing, and retention guarantees.&lt;/p>
&lt;p>&lt;strong>What this costs:&lt;/strong> this is the one that eats the most sprint time. Log schema design, storage tier pricing, indexing for query performance, access controls on the audit store. If you&amp;rsquo;re starting in April for an August deadline, you&amp;rsquo;re already tight.&lt;/p>
&lt;h3 class="relative group">Article 14: Human oversight
&lt;div id="article-14-human-oversight" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#article-14-human-oversight" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Law:&lt;/strong> Sensitive AI decisions need a defined path for human review before taking effect.&lt;/p>
&lt;p>&lt;strong>Engineering translation:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Identify the decision points where AI output influences high-risk outcomes (hiring, credit, healthcare, legal, education, critical infrastructure).&lt;/li>
&lt;li>At each of those points, there must be a deterministic path that routes the decision to a human before the outcome is final.&lt;/li>
&lt;li>The human must have the actual ability to override the AI&amp;rsquo;s suggestion, not just acknowledge it. &amp;ldquo;Click to confirm&amp;rdquo; with no real friction doesn&amp;rsquo;t count.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What this means:&lt;/strong> your AI features that auto-approve, auto-reject, or auto-route need a human gate if the outcome is classified high-risk. The gate has to be real, with a real UI, real authority, and real training for the humans using it.&lt;/p>
&lt;h3 class="relative group">Article 5: Prohibited practices
&lt;div id="article-5-prohibited-practices" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#article-5-prohibited-practices" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>Law:&lt;/strong> Some AI uses are outright banned. Social scoring of individuals by public authorities, exploitative manipulation of vulnerabilities, certain biometric categorization, real-time remote biometric ID in public spaces.&lt;/p>
&lt;p>&lt;strong>Engineering translation:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Content policy filters on inputs before they reach your models.&lt;/li>
&lt;li>A classification layer that recognizes and blocks prohibited use patterns.&lt;/li>
&lt;li>Documentation showing how you prevent your system from being used for prohibited purposes.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>What this means:&lt;/strong> for most engineering teams, this is the smallest implementation lift, unless you&amp;rsquo;re in a directly affected industry (HR tech, surveillance, credit scoring, biometrics). The documentation burden is still real. Auditors will ask for your prohibited-use risk assessment even when your answer is &amp;ldquo;we don&amp;rsquo;t do any of this.&amp;rdquo; &amp;ldquo;We don&amp;rsquo;t do that&amp;rdquo; is an answer that requires evidence, not a shrug.&lt;/p>
&lt;h2 class="relative group">Why the legal team isn&amp;rsquo;t the bottleneck
&lt;div id="why-the-legal-team-isnt-the-bottleneck" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-the-legal-team-isnt-the-bottleneck" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The legal teams have been on this for a year. The compliance frameworks exist. The consultants are getting 20 to 30% of the budget pie for certification-related work. Vendors are already passing costs through with visible markups.&lt;/p>
&lt;p>None of that ships code.&lt;/p>
&lt;p>The bottleneck is engineering sprint capacity that was never allocated. Specifically:&lt;/p>
&lt;ul>
&lt;li>Audit log infrastructure (Article 12) is an engineering-heavy build&lt;/li>
&lt;li>Human oversight UIs (Article 14) need product and front-end work&lt;/li>
&lt;li>AI feature disclosure (Article 50) needs coordinated UX across every surface&lt;/li>
&lt;li>API inventory and risk classification (prerequisite for all of it) requires engineering time to map&lt;/li>
&lt;/ul>
&lt;p>In organizations doing this well, someone senior on the engineering side already took the brief from legal and translated it into specific issues in the backlog before the end of Q1 2026. If that hasn&amp;rsquo;t happened in your org yet, somebody needs to do it this week.&lt;/p>
&lt;h2 class="relative group">The 100-day plan
&lt;div id="the-100-day-plan" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-100-day-plan" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the realistic minimum. Compress if you have less time. Don&amp;rsquo;t expand if you have more, because you don&amp;rsquo;t.&lt;/p>
&lt;h3 class="relative group">Days 1 to 15 (now through May 9): Inventory and triage
&lt;div id="days-1-to-15-now-through-may-9-inventory-and-triage" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#days-1-to-15-now-through-may-9-inventory-and-triage" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>Complete API inventory of every AI-involved endpoint your systems call, produce, or expose.&lt;/li>
&lt;li>Classify each endpoint by risk level under the Act (minimal, limited, high-risk, prohibited).&lt;/li>
&lt;li>Name an engineering owner for each high-risk surface. Not the CTO. An actual engineer who&amp;rsquo;s going to do the work.&lt;/li>
&lt;/ul>
&lt;p>If you do nothing else in the next two weeks, do this. Everything else depends on it.&lt;/p>
&lt;h3 class="relative group">Days 16 to 50 (May 10 through June 13): Build the audit layer
&lt;div id="days-16-to-50-may-10-through-june-13-build-the-audit-layer" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#days-16-to-50-may-10-through-june-13-build-the-audit-layer" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>Design and ship a structured event logging system for high-risk AI interactions.&lt;/li>
&lt;li>Retention policy, schema, indexing, access controls. All of it.&lt;/li>
&lt;li>Backfill where you have data. Don&amp;rsquo;t backfill where you don&amp;rsquo;t, but document the gap.&lt;/li>
&lt;/ul>
&lt;p>This is where your engineering budget goes. If you&amp;rsquo;re outsourcing one thing, outsource the rest so engineering can focus here.&lt;/p>
&lt;h3 class="relative group">Days 51 to 80 (June 14 through July 13): Disclosure and oversight
&lt;div id="days-51-to-80-june-14-through-july-13-disclosure-and-oversight" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#days-51-to-80-june-14-through-july-13-disclosure-and-oversight" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>Add AI disclosures across every relevant product surface.&lt;/li>
&lt;li>Add machine-readable metadata to AI-generated content.&lt;/li>
&lt;li>Ship the human oversight UIs for high-risk decision points.&lt;/li>
&lt;/ul>
&lt;p>This is where product and design need to stop saying &amp;ldquo;it doesn&amp;rsquo;t affect this quarter&amp;rsquo;s roadmap.&amp;rdquo; It does now.&lt;/p>
&lt;h3 class="relative group">Days 81 to 100 (July 14 through August 2): Documentation and dry-runs
&lt;div id="days-81-to-100-july-14-through-august-2-documentation-and-dry-runs" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#days-81-to-100-july-14-through-august-2-documentation-and-dry-runs" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>Complete the technical documentation required for your risk classification.&lt;/li>
&lt;li>Run internal dry-runs of a regulator query. Can you actually produce the audit trail for a specific user&amp;rsquo;s specific interaction from four months ago? If not, fix it now.&lt;/li>
&lt;li>Train the humans doing the oversight role. They need to understand what they&amp;rsquo;re reviewing.&lt;/li>
&lt;/ul>
&lt;h3 class="relative group">The one thing that blows up the plan
&lt;div id="the-one-thing-that-blows-up-the-plan" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-one-thing-that-blows-up-the-plan" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>If you&amp;rsquo;re an engineering leader reading this in April, you have time. If you&amp;rsquo;re reading this in July, you don&amp;rsquo;t. The honest answer at that point is to either pull high-risk AI features off your EU-facing product or accept that your first enforcement cycle will go badly. Better said out loud now.&lt;/p>
&lt;h2 class="relative group">What to do this week
&lt;div id="what-to-do-this-week" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-to-do-this-week" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Three things, in order.&lt;/p>
&lt;p>&lt;strong>Monday morning: one-hour sync between your most senior engineer and your most senior compliance person.&lt;/strong> Leave with a shared doc listing every AI-involved product surface. Share with the CTO or VP Eng by end of day.&lt;/p>
&lt;p>&lt;strong>By Thursday: classify every surface&lt;/strong> (minimal, limited, high-risk, prohibited). For high-risk ones, name an engineering owner.&lt;/p>
&lt;p>&lt;strong>By Friday: the audit-log infrastructure team exists and knows what they&amp;rsquo;re building.&lt;/strong> Even if it&amp;rsquo;s two people. Even if one of them is borrowed from a platform team. The work starts now or it doesn&amp;rsquo;t finish.&lt;/p>
&lt;p>The EU AI Act isn&amp;rsquo;t a future problem anymore. It&amp;rsquo;s a planning problem you have this week. It&amp;rsquo;s also where the &lt;a
href="https://pinishv.com/articles/ai-code-cheap-to-produce-not-to-own/">longstanding gap between how fast organizations produce AI code and how slowly they govern it&lt;/a> finally gets priced. In fines. In front of regulators. Most orgs will not realize that until too late. The ones that do now get to ship on time.&lt;/p>
&lt;p>If you&amp;rsquo;re already working on this, I&amp;rsquo;d love to hear what&amp;rsquo;s surprised you. If you haven&amp;rsquo;t started, forward this to whoever decides sprint priorities. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a>, &lt;a
href="https://t.me/by_pini"
target="_blank"
>Telegram&lt;/a>, or &lt;a
href="https://www.linkedin.com/in/pinishv"
target="_blank"
>LinkedIn&lt;/a>.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Disclaimer:&lt;/strong> This article references the EU AI Act and related compliance materials for illustrative and educational purposes. It is not legal advice. You should consult a qualified legal team for compliance specifics in your jurisdiction and industry. Articles, deadlines, and classifications referenced are based on publicly available sources at the time of writing and may change. The opinions expressed are my own. I have no financial interest, business relationship, or affiliation with any specific compliance vendor mentioned. This is commentary, not legal, investment, or business advice.&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/eu-ai-act-100-days-engineering-not-started/feature.png"/></item><item><title>OpenClaw Is Not a Chatbot. It's a Personal Agent Gateway.</title><link>https://pinishv.com/articles/openclaw-ai-out-of-the-browser/</link><pubDate>Thu, 19 Mar 2026 14:00:00 +0200</pubDate><guid>https://pinishv.com/articles/openclaw-ai-out-of-the-browser/</guid><description>Everyone keeps comparing OpenClaw to ChatGPT. They&amp;rsquo;re looking at the wrong layer. OpenClaw isn&amp;rsquo;t trying to be a better chat UI. It&amp;rsquo;s trying to move AI out of the browser and into the communication surfaces where you actually live and work.</description><content:encoded>&lt;p>Think about how you use AI right now.&lt;/p>
&lt;p>You open a browser tab. You go to ChatGPT or Claude. You type something. You get a response. You close the tab. Tomorrow you open it again and start from scratch. Maybe you remember to use Projects. Maybe you don&amp;rsquo;t.&lt;/p>
&lt;p>Now think about how you communicate with your actual team. WhatsApp. Telegram. Slack. Discord. You don&amp;rsquo;t open a special app to talk to people. You message them wherever you already are, and the conversation continues across devices and time zones.&lt;/p>
&lt;p>&lt;a
href="https://openclaw.ai/"
target="_blank"
>OpenClaw&lt;/a> is built on a simple bet: your AI assistant should work the same way. Not in a browser tab. In the places you already are. Always on, always reachable, always remembering what you talked about yesterday.&lt;/p>
&lt;p>That sounds like a small UX difference. It&amp;rsquo;s not. It changes what an AI assistant can actually do for you.&lt;/p>
&lt;h2 class="relative group">What OpenClaw actually is
&lt;div id="what-openclaw-actually-is" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-openclaw-actually-is" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Let me be clear about what this is and what it isn&amp;rsquo;t. The project&amp;rsquo;s own FAQ is blunt: it is not &amp;ldquo;just a Claude wrapper.&amp;rdquo;&lt;/p>
&lt;p>OpenClaw is a self-hosted gateway that connects AI agents to your messaging channels. WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage, WebChat. Plus a browser Control UI and companion apps for macOS, iOS, and Android.&lt;/p>
&lt;p>The &lt;a
href="https://github.com/openclaw/openclaw"
target="_blank"
>GitHub repo&lt;/a> has roughly 325k stars, which makes it one of the largest open-source AI projects out there. But the star count isn&amp;rsquo;t the interesting part. The interesting part is the architecture.&lt;/p>
&lt;p>The Gateway is the single source of truth for sessions, routing, and channel connections. It embeds the Pi SDK directly instead of shelling out to a subprocess, which lets it inject custom tools, tune prompts by context, persist sessions, rotate auth profiles, and switch model providers on the fly. On top of that, ACP (Agent Communication Protocol) lets it hand work off to external coding-agent runtimes when that makes more sense.&lt;/p>
&lt;p>In plain English: OpenClaw is not one model with one UI. It&amp;rsquo;s a routing and orchestration layer that sits above models, tools, channels, and state. The assistant is the product. The Gateway is the infrastructure.&lt;/p>
&lt;h2 class="relative group">Why this is different from browser-based AI
&lt;div id="why-this-is-different-from-browser-based-ai" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-this-is-different-from-browser-based-ai" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I wrote about &lt;a
href="https://pinishv.com/articles/open-webui-ai-interface-infrastructure/">Open WebUI&lt;/a> recently. Open WebUI moves the AI interface from a vendor&amp;rsquo;s SaaS into your own self-hosted browser workspace. That&amp;rsquo;s valuable. But OpenClaw takes a different bet entirely.&lt;/p>
&lt;p>Open WebUI says: &amp;ldquo;The browser is the right interface. You just shouldn&amp;rsquo;t rent it from OpenAI.&amp;rdquo;&lt;/p>
&lt;p>OpenClaw says: &amp;ldquo;The browser isn&amp;rsquo;t the right interface at all.&amp;rdquo;&lt;/p>
&lt;p>That&amp;rsquo;s a much bolder claim. And honestly, when you think about how people actually interact with technology throughout the day, it makes sense. You&amp;rsquo;re not sitting in front of a browser all day. You&amp;rsquo;re in WhatsApp with your family and friends, in Slack with your org, in Telegram with your communities. The browser tab is where you go when you have a dedicated task. Messaging is where you live.&lt;/p>
&lt;p>An AI assistant that lives in your messaging layer can do things a browser tab can&amp;rsquo;t. It can remind you about something at 3pm without you opening an app. It can respond in a group chat where multiple people are coordinating. It can wake up on a schedule and check something for you. It&amp;rsquo;s persistent in a way that a browser session never is.&lt;/p>
&lt;h2 class="relative group">What it can actually do
&lt;div id="what-it-can-actually-do" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-it-can-actually-do" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The capability surface is broader than &amp;ldquo;AI in WhatsApp.&amp;rdquo; Five things matter.&lt;/p>
&lt;p>&lt;strong>It lives where you are.&lt;/strong> WhatsApp, Telegram, Slack, Discord, Google Chat, Signal, iMessage. You message it like you&amp;rsquo;d message a person. It responds in the same channel. It works across devices because the Gateway is always running.&lt;/p>
&lt;p>&lt;strong>It can switch models on the fly.&lt;/strong> The docs list 35+ providers: Anthropic, OpenAI, Google, OpenRouter, Ollama, vLLM, and any OpenAI-compatible or Anthropic-compatible endpoint. You can route different conversations to different models. Need a quick answer? Local model. Need deep reasoning? Claude. Same conversation thread, different backends.&lt;/p>
&lt;p>&lt;strong>It can do things, not just answer questions.&lt;/strong> The tool inventory includes command execution, browser automation, web search, image and PDF handling, cron jobs, and device node controls. The distinction between cron jobs and heartbeat turns is important: it can both run scheduled tasks and periodically wake itself up to surface something relevant. This isn&amp;rsquo;t autocomplete. This is an agent with hands.&lt;/p>
&lt;p>&lt;strong>It remembers.&lt;/strong> Memory is Markdown files in the workspace. Daily logs in &lt;code>memory/YYYY-MM-DD.md&lt;/code>, curated long-term memory in &lt;code>MEMORY.md&lt;/code>, exposed through &lt;code>memory_search&lt;/code> and &lt;code>memory_get&lt;/code>. Sessions can be isolated per agent, workspace, peer, or channel. The fact that memory is plain files you can inspect and edit is philosophically consistent with the local-first story and way more transparent than the hidden memory layers in ChatGPT or Claude.&lt;/p>
&lt;p>&lt;strong>It can extend itself.&lt;/strong> ClawHub is the public skill registry. Skills are instruction bundles built around &lt;code>SKILL.md&lt;/code> files, while tools are typed capabilities the agent gets to use. Discover, install, publish, version, update. The extension model feels like package management for agent capabilities.&lt;/p>
&lt;h2 class="relative group">How people actually use it
&lt;div id="how-people-actually-use-it" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-people-actually-use-it" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The official showcase clusters around patterns that tell you exactly what OpenClaw is good for.&lt;/p>
&lt;p>Browser automation without APIs. PR review feedback delivered in Telegram. School meal and grocery ordering. Accounting intake from emailed PDFs. Slack auto-support. Infrastructure and deployment work. Health assistants. 3D printer and home automation. Voice bridges. One person built and shipped an iOS app from Telegram.&lt;/p>
&lt;p>The center of gravity is not generic Q&amp;amp;A. It&amp;rsquo;s persistent coordination across personal and work systems.&lt;/p>
&lt;p>Independent anecdotes on Hacker News point the same direction. One user described using OpenClaw to recover and rebuild a media server, diagnose drive failure, and migrate 1.5TB of data. Another said it became a useful participant in a group chat, tracking personalities and helping the group plan together. These are anecdotes, not benchmarks. But they align: the real appeal is infrastructure, automation, and ongoing conversational context.&lt;/p>
&lt;h2 class="relative group">The hard truth about running it
&lt;div id="the-hard-truth-about-running-it" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-hard-truth-about-running-it" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s where I need to be honest, because the community is tired of puff pieces about OpenClaw and so am I.&lt;/p>
&lt;p>&lt;strong>Setup is real work.&lt;/strong> Node, API keys, permissions, channel configurations, operational judgment. This is not &amp;ldquo;download an app and start chatting.&amp;rdquo; It&amp;rsquo;s closer to setting up a production service. The people who love OpenClaw are comfortable with that. The people who bounce off it were expecting something simpler.&lt;/p>
&lt;p>&lt;strong>Local-only is possible but expensive.&lt;/strong> The docs are unusually blunt about this. OpenClaw expects large context windows and strong prompt-injection resistance. It recommends the strongest latest-generation model available. Serious local setups may require hardware on the level of multiple maxed-out Mac Studios or equivalent GPU rigs. That&amp;rsquo;s a big reality check against the &amp;ldquo;runs privately on my old laptop&amp;rdquo; narrative.&lt;/p>
&lt;p>&lt;strong>Token costs can surprise you.&lt;/strong> Users report it&amp;rsquo;s easy to accidentally create expensive workflows, especially with naive model defaults. An always-on assistant that wakes up on schedules and processes conversations across multiple channels burns tokens constantly. Without cost controls, your monthly bill can go places you didn&amp;rsquo;t expect.&lt;/p>
&lt;p>&lt;strong>The security model is honest but limited.&lt;/strong> The supported posture is one trusted operator boundary per gateway. This is not hostile multi-tenant isolation. OpenClaw ships a &lt;code>security audit&lt;/code> CLI, publishes a MITRE ATLAS-based threat model with 37 identified threats (6 critical), and added VirusTotal scanning for published skills. A high-severity CVE was patched in February 2026. The project is actively fixing real vulnerabilities, which is a good sign. But the docs are explicit that none of this makes the system &amp;ldquo;secure in all respects.&amp;rdquo;&lt;/p>
&lt;p>&lt;strong>Skills are code running in your agent&amp;rsquo;s context.&lt;/strong> This is the deepest concern. Skills have access to tools and data. The project&amp;rsquo;s own security documentation explicitly lists risks: exfiltration, unauthorized commands, sending messages on your behalf, downloading external payloads. You are not installing a chatbot. You are delegating action to an always-on agent with real permissions. Treat it accordingly.&lt;/p>
&lt;h2 class="relative group">Who&amp;rsquo;s behind it
&lt;div id="whos-behind-it" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#whos-behind-it" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Peter Steinberger is the creator. The project credits Mario Zechner as the creator of Pi (the underlying agent framework) and names several core contributors. It&amp;rsquo;s MIT licensed.&lt;/p>
&lt;p>There&amp;rsquo;s an interesting governance story here. Steinberger&amp;rsquo;s blog says he joined OpenAI on February 14, 2026, and that OpenClaw would move to a foundation while remaining open and independent. I found the announcement but not enough public material to treat the foundation transition as fully completed. Worth watching.&lt;/p>
&lt;p>The naming history is also telling. The project went through multiple names. Anthropic asked them to reconsider the earlier &amp;ldquo;Clawd&amp;rdquo; branding. It went through &amp;ldquo;Moltbot&amp;rdquo; before landing on &amp;ldquo;OpenClaw.&amp;rdquo; That chaotic evolution says something about how fast this space moves and how young the project still is, despite its star count.&lt;/p>
&lt;h2 class="relative group">How it compares to the incumbents
&lt;div id="how-it-compares-to-the-incumbents" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-the-incumbents" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Versus ChatGPT.&lt;/strong> ChatGPT gives you a polished hosted product with Projects, scheduled Tasks, and MCP-based custom apps. OpenClaw gives you self-hosting, provider neutrality, and an assistant that lives in your own messaging channels instead of OpenAI&amp;rsquo;s browser product. ChatGPT wins on zero-ops convenience. OpenClaw wins on control and communication surface.&lt;/p>
&lt;p>&lt;strong>Versus Claude.&lt;/strong> Claude now bundles Projects, Artifacts, Research, and Skills inside Anthropic&amp;rsquo;s managed environment. That makes it the best native Claude experience. OpenClaw is interesting when you want Claude-level intelligence inside your own channels and control plane rather than inside Anthropic&amp;rsquo;s product. Different layer, different bet.&lt;/p>
&lt;p>&lt;strong>Versus Gemini.&lt;/strong> Gemini&amp;rsquo;s advantage is ecosystem gravity. Deep Research across Search, Gmail, Drive, NotebookLM. OpenClaw&amp;rsquo;s advantage is ecosystem neutrality. It sits above many providers and your own devices instead of locking the assistant layer to Google.&lt;/p>
&lt;h2 class="relative group">How it compares to open-source alternatives
&lt;div id="how-it-compares-to-open-source-alternatives" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-open-source-alternatives" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>OpenClaw spans two categories that are usually separate, which makes direct comparisons tricky.&lt;/p>
&lt;p>&lt;strong>Open WebUI and LibreChat&lt;/strong> are stronger as self-hosted browser-based AI workspaces. They unify providers, support agents and MCP, and feel like replacements for the mainstream chat products. OpenClaw&amp;rsquo;s bet is different: move the assistant out of the browser entirely and into your messaging stack, with an always-on gateway and device nodes.&lt;/p>
&lt;p>&lt;strong>n8n&lt;/strong> sits on the other flank as an automation platform. Stronger for deterministic workflows, visual orchestration, and integration breadth. OpenClaw is stronger when you want a persistent assistant you can casually message, with memory, channel presence, and agent-like coordination. n8n automates flows. OpenClaw tries to become the thing you talk to.&lt;/p>
&lt;h2 class="relative group">What this means
&lt;div id="what-this-means" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-this-means" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The broader pattern is the same one I see across AI tooling right now. The model layer is commoditizing. The interface layer is where the real fight happens. And the interface layer is splitting into at least three bets:&lt;/p>
&lt;p>&lt;strong>Vendor-hosted SaaS&lt;/strong> (ChatGPT, Claude, Gemini). Maximum convenience, minimum control. The default for most teams today.&lt;/p>
&lt;p>&lt;strong>Self-hosted browser workspaces&lt;/strong> (Open WebUI, LibreChat). Same browser paradigm, but you own it. The infrastructure play.&lt;/p>
&lt;p>&lt;strong>Communication-layer agents&lt;/strong> (OpenClaw). Not a workspace at all. An assistant that lives where you already are. The most radical bet.&lt;/p>
&lt;p>OpenClaw is the most ambitious of the three. It&amp;rsquo;s also the highest-maintenance, the highest-risk, and the one that requires the most trust. You&amp;rsquo;re not just self-hosting a UI. You&amp;rsquo;re running an always-on agent with real permissions inside your real communication channels.&lt;/p>
&lt;p>For power users and tinkerers who are comfortable with that, OpenClaw is one of the most interesting projects in the AI space right now. For everyone else, it&amp;rsquo;s worth understanding as a signal of where AI assistants are heading. Even if you never install it, the question it raises is the right one: why does your AI assistant live in a browser tab when you don&amp;rsquo;t?&lt;/p>
&lt;hr>
&lt;p>&lt;em>Running personal AI agents? Tried OpenClaw or something similar? I&amp;rsquo;d love to hear your setup. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/openclaw-ai-out-of-the-browser/feature.png"/></item><item><title>Open WebUI Isn't a ChatGPT Clone. It's AI Infrastructure.</title><link>https://pinishv.com/articles/open-webui-ai-interface-infrastructure/</link><pubDate>Wed, 18 Mar 2026 10:00:00 +0200</pubDate><guid>https://pinishv.com/articles/open-webui-ai-interface-infrastructure/</guid><description>Everyone keeps calling Open WebUI a self-hosted ChatGPT alternative. They&amp;rsquo;re missing the point. The interesting question isn&amp;rsquo;t whether it can replace ChatGPT. It&amp;rsquo;s what happens when the AI interface layer stops being someone else&amp;rsquo;s product and becomes part of your stack.</description><content:encoded>&lt;p>Here&amp;rsquo;s a question nobody&amp;rsquo;s asking: who owns the layer between your engineers and the AI models they use every day?&lt;/p>
&lt;p>Right now, for most teams, the answer is OpenAI. Or Anthropic. Or Google. Your engineers open ChatGPT, or Claude, or Gemini, and they work inside someone else&amp;rsquo;s product. Someone else&amp;rsquo;s UI. Someone else&amp;rsquo;s data policies. Someone else&amp;rsquo;s feature roadmap.&lt;/p>
&lt;p>That&amp;rsquo;s fine when AI is a nice-to-have. It stops being fine when AI becomes how your team actually works.&lt;/p>
&lt;p>&lt;a
href="https://openwebui.com/"
target="_blank"
>Open WebUI&lt;/a> is the project that makes this question real. Not because it&amp;rsquo;s a better chatbot. Because it turns the AI interface layer into infrastructure you can own, deploy, and control. And once you understand what that means, the conversation about AI tooling changes completely.&lt;/p>
&lt;h2 class="relative group">What Open WebUI actually is
&lt;div id="what-open-webui-actually-is" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-open-webui-actually-is" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Strip away the &lt;a
href="https://github.com/open-webui/open-webui"
target="_blank"
>GitHub stars&lt;/a> (128k+ and counting) and the marketing language about &amp;ldquo;bringing intelligence home.&amp;rdquo; What you&amp;rsquo;re looking at is a self-hosted control plane for AI models.&lt;/p>
&lt;p>It runs in a container. Docker, Kubernetes, Podman, Helm, whatever your infra looks like. First account becomes admin. Later signups need approval. For a solo setup you can disable login entirely. One container, local storage, browser UI. You&amp;rsquo;re up and running.&lt;/p>
&lt;p>But the interesting design decision is that it&amp;rsquo;s &lt;strong>protocol-first, not vendor-first&lt;/strong>. Open WebUI uses OpenAI Chat Completions as the shared language across providers. It has compatibility layers for Anthropic. It supports Ollama for local models. It can route to any OpenAI-compatible backend. That makes it less like &amp;ldquo;an Ollama UI&amp;rdquo; and more like an operations layer sitting above whatever models you choose to run.&lt;/p>
&lt;p>This is the same architectural pattern we&amp;rsquo;ve seen play out in infrastructure before. Think about how Terraform became the control plane above cloud providers, or how Kubernetes became the orchestration layer above compute. Open WebUI is making that same move for the AI interface layer.&lt;/p>
&lt;h2 class="relative group">What it can actually do (beyond chat)
&lt;div id="what-it-can-actually-do-beyond-chat" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-it-can-actually-do-beyond-chat" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Most people discover Open WebUI because they want a local ChatGPT. Then they realize the feature surface is much wider than they expected.&lt;/p>
&lt;p>&lt;strong>RAG and knowledge work.&lt;/strong> Multiple vector databases, document uploads, URL ingestion, web search across 15+ providers, and full-page URL fetching. This isn&amp;rsquo;t a toy retrieval setup. It&amp;rsquo;s a real knowledge pipeline.&lt;/p>
&lt;p>&lt;strong>Agent capabilities.&lt;/strong> Open WebUI distinguishes between Tools, Functions, and Pipelines. It supports &lt;a
href="https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/">MCP&lt;/a> natively. It can attach external actions like search, scraping, image generation, and voice. It can expose MCP through OpenAPI-compatible flows. This is an agent platform, not just a chat box.&lt;/p>
&lt;p>&lt;strong>Code execution.&lt;/strong> Python through Pyodide or Jupyter, Mermaid rendering, interactive artifacts. At the extreme end there&amp;rsquo;s Open Terminal, which gives the model a real OS-level environment in a container. That&amp;rsquo;s powerful and terrifying in equal measure.&lt;/p>
&lt;p>&lt;strong>Team workflows.&lt;/strong> Folders, projects, chat history, shared conversations, channels for multi-user collaboration, RBAC, SCIM provisioning, OpenTelemetry. The admin surface is deeper than most people expect from an open-source project.&lt;/p>
&lt;p>&lt;strong>Media and voice.&lt;/strong> Image generation and editing, speech-to-text and text-to-speech with local, browser, and remote options.&lt;/p>
&lt;p>The feature list is impressive. But feature lists are easy. The real question is what happens when you actually run it.&lt;/p>
&lt;h2 class="relative group">The reality of running it in production
&lt;div id="the-reality-of-running-it-in-production" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-reality-of-running-it-in-production" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>For a hobbyist or solo developer, Open WebUI is deceptively simple. Container up, connect a model, start chatting.&lt;/p>
&lt;p>For production, the defaults are just defaults. Out of the box you get SQLite, embedded ChromaDB, and one Uvicorn worker. That&amp;rsquo;s fine for one person. The moment you want multi-worker or multi-node deployment, the project tells you to move to PostgreSQL with PGVector, Redis for caching, and shared storage. &lt;strong>Easy to start. Not magically &amp;ldquo;no-ops&amp;rdquo; once it matters.&lt;/strong>&lt;/p>
&lt;p>If you use RAG heavily, the reality gets sharper. The project&amp;rsquo;s own scaling guide warns that the default PDF extractor and default embedding path are common causes of memory leaks and RAM blowups at scale. They explicitly recommend externalizing them in production.&lt;/p>
&lt;p>I&amp;rsquo;m not saying this to dismiss the project. I&amp;rsquo;m saying it because this is exactly the kind of detail that separates &amp;ldquo;I read the feature list&amp;rdquo; from &amp;ldquo;I actually deployed it.&amp;rdquo; If you&amp;rsquo;re considering Open WebUI for your team, go in with eyes open. This is infrastructure. Infrastructure requires ops.&lt;/p>
&lt;h2 class="relative group">Who&amp;rsquo;s behind it and why that matters
&lt;div id="whos-behind-it-and-why-that-matters" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#whos-behind-it-and-why-that-matters" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Open WebUI is led by founder Tim J. Baek and backed by Open WebUI, Inc. The team page credits community contributors, but the organization is explicit that it&amp;rsquo;s not looking for outside governance advice. This is founder-led open source, not a neutral foundation-governed commons.&lt;/p>
&lt;p>Why does that matter? Because the business model is visible in the decisions.&lt;/p>
&lt;p>Since version 0.6.6, the project added a branding-protection clause for larger deployments. Code up to v0.6.5 remains under the original BSD-3 terms. Enterprise offerings include theming, SLAs, LTS, and direct support. This is the standard playbook: open core with enterprise upsell.&lt;/p>
&lt;p>The community has opinions about this. Some people on Hacker News get sharp about the licensing change and the fact that a project called &amp;ldquo;Open&amp;rdquo; WebUI has branding restrictions. Others say they don&amp;rsquo;t care because they&amp;rsquo;re not planning to fork it anyway.&lt;/p>
&lt;p>My take: this is a normal and healthy tension. Building sustainable open-source software costs money. Branding protection is one of the less invasive ways to fund it. But if you&amp;rsquo;re betting your team&amp;rsquo;s AI infrastructure on this project, you should understand the governance model you&amp;rsquo;re buying into.&lt;/p>
&lt;h2 class="relative group">The security conversation nobody wants to have
&lt;div id="the-security-conversation-nobody-wants-to-have" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-security-conversation-nobody-wants-to-have" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the uncomfortable part.&lt;/p>
&lt;p>Open WebUI&amp;rsquo;s Tools, Functions, Filters, Pipes, and Pipelines execute arbitrary Python on your server. The docs say &amp;ldquo;only install from trusted sources.&amp;rdquo; That&amp;rsquo;s honest, but it also means the extension system is a real attack surface.&lt;/p>
&lt;p>This isn&amp;rsquo;t theoretical. A code-injection issue in Direct Connections was patched in 0.6.35. An SSRF issue in retrieval processing was patched in 0.6.37. Both are the kind of vulnerabilities that come with running user-extensible systems.&lt;/p>
&lt;p>For your team, this means treating Open WebUI the same way you&amp;rsquo;d treat any infrastructure component: pin versions, review extensions, monitor for CVEs, control who can install what. The freedom to extend the platform comes with the responsibility to secure it.&lt;/p>
&lt;h2 class="relative group">Why teams and orgs actually adopt this
&lt;div id="why-teams-and-orgs-actually-adopt-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-teams-and-orgs-actually-adopt-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Features are nice. But nobody migrates their AI tooling because of a feature checklist. They do it because something about the current setup is broken. I spent time researching the best tools for an internal ChatGPT alternative, talking to other engineering leaders who did the same. Here&amp;rsquo;s what actually drives the decision.&lt;/p>
&lt;p>&lt;strong>Cost visibility and control.&lt;/strong> When your team uses ChatGPT or Claude directly, every person needs a subscription. Or worse, everyone shares credentials. Or worst of all, engineers use their personal accounts and company data flows through consumer products with consumer privacy terms. With Open WebUI in front of your API keys, you get one set of credentials, usage tracking per user, and the ability to route different workloads to different models based on cost. Need a quick answer? Route to a cheap local model. Need deep reasoning? Route to Claude or GPT. Same interface, conscious cost allocation.&lt;/p>
&lt;p>&lt;strong>Data stays where you decide.&lt;/strong> For a lot of orgs this is the whole conversation. Regulated industries, government contracts, security-conscious startups. The moment your engineers paste proprietary code into ChatGPT, you have a data governance problem. Self-hosting the interface layer means the data flows through your infrastructure, your logging, your retention policies. You can run sensitive workloads on local models that never leave your network, and routine tasks on cloud APIs. Same UI for both.&lt;/p>
&lt;p>&lt;strong>No vendor lock-in on the workflow layer.&lt;/strong> This is the one that hits engineering leaders hardest. Today your team builds workflows, prompt libraries, knowledge bases, and habits around ChatGPT. Tomorrow OpenAI changes the pricing, kills a feature, or deprecates a model. Everything you built around their interface is tied to their decisions. When the interface is yours, the models are pluggable. You can switch from GPT to Claude to Gemini to a local model without retraining your team or rebuilding your workflows.&lt;/p>
&lt;p>&lt;strong>Unified AI experience across the org.&lt;/strong> Instead of some engineers using ChatGPT, some using Claude, some using local models, and nobody sharing anything, everyone works through one interface. Shared conversations, shared knowledge bases, shared tools. New team member joins, gets access to the same AI setup as everyone else. That might sound like a small thing until you&amp;rsquo;ve managed an engineering org where every person has their own disconnected AI workflow and none of that institutional knowledge is captured anywhere.&lt;/p>
&lt;p>&lt;strong>A real sandbox for innovation.&lt;/strong> Want to test a new model? Add it as a backend. Want to build a custom agent for your team? Use the extension system. Want to integrate your internal knowledge base? Plug in RAG. Want to give your AI access to your tools via MCP? It&amp;rsquo;s supported. You don&amp;rsquo;t need to wait for OpenAI or Anthropic to ship a feature. If you can build it, you can plug it in. For teams that move fast, that&amp;rsquo;s the difference between waiting for a vendor&amp;rsquo;s roadmap and building what you need right now.&lt;/p>
&lt;p>None of this is free. You trade managed simplicity for operational responsibility. But for teams that are serious about AI being part of how they work, not just a tool they occasionally open, owning the interface layer starts making a lot of sense.&lt;/p>
&lt;h2 class="relative group">How it compares to the incumbents
&lt;div id="how-it-compares-to-the-incumbents" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-the-incumbents" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The comparison isn&amp;rsquo;t really about features. It&amp;rsquo;s about what you&amp;rsquo;re optimizing for.&lt;/p>
&lt;p>&lt;strong>Versus ChatGPT.&lt;/strong> ChatGPT has Projects, Deep Research, Apps, Company Knowledge, and mature business controls. SSO, retention policies, permissions, training defaults. It&amp;rsquo;s zero-ops SaaS. Open WebUI&amp;rsquo;s advantage is that you own the stack. Data stays local. You mix local and remote models. You&amp;rsquo;re not locked to one vendor&amp;rsquo;s interface. If zero-ops matters most, ChatGPT wins. If ownership matters most, Open WebUI wins.&lt;/p>
&lt;p>&lt;strong>Versus Claude.&lt;/strong> Claude has Artifacts, Projects, Skills, Research, and Google Workspace integration. Anthropic also created MCP. Open WebUI can route to Claude&amp;rsquo;s models, but Anthropic&amp;rsquo;s own docs note that their OpenAI-compatible endpoint is mainly for testing, and the native API is recommended for the full feature set including PDF processing, citations, extended thinking, and prompt caching. Protocol compatibility is powerful, but it flattens vendor-specific superpowers.&lt;/p>
&lt;p>&lt;strong>Versus Gemini.&lt;/strong> Gemini is strongest when your work already lives in Google&amp;rsquo;s ecosystem. Deep Research can pull from Search, Gmail, Drive, and NotebookLM. Open WebUI is the better fit if you want one interface above Google models, Anthropic models, OpenAI models, local models, and whatever comes next.&lt;/p>
&lt;p>The pattern is consistent: the SaaS products win on managed experience and vendor-native depth. Open WebUI wins on control and independence. Neither is wrong. They&amp;rsquo;re different bets.&lt;/p>
&lt;h2 class="relative group">How it compares to open-source alternatives
&lt;div id="how-it-compares-to-open-source-alternatives" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-it-compares-to-open-source-alternatives" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The open-source landscape is more nuanced.&lt;/p>
&lt;p>&lt;strong>LibreChat&lt;/strong> is probably the closest direct competitor. Agents, MCP, artifacts, code interpreter, broad provider support. It reads like the closest open-source answer to the mainstream chat products. Open WebUI feels more infrastructure-oriented, more invested in deployment patterns, admin controls, and the local/offline story.&lt;/p>
&lt;p>&lt;strong>AnythingLLM&lt;/strong> leads with &amp;ldquo;chat with your docs.&amp;rdquo; Built-in agents, multi-user support, vector databases, document pipelines, no-code agent builder. If your center of gravity is private documents and internal knowledge workflows, AnythingLLM has a clear story. Open WebUI is broader if you want one extensible front end for many kinds of AI workflows.&lt;/p>
&lt;p>&lt;strong>Onyx&lt;/strong> is enterprise-search-heavy. Connectors, synced knowledge sources, deep research, MCP, enterprise knowledge grounding. Compelling when &amp;ldquo;AI over company knowledge&amp;rdquo; is the main requirement. Open WebUI is a general AI workspace. Onyx is sharper as an enterprise retrieval layer.&lt;/p>
&lt;p>&lt;strong>Jan&lt;/strong> is desktop-first and personal. 100% offline, runs on your laptop, turns it into an AI workstation. Great for single-user local AI. Open WebUI becomes more compelling the moment you want browser access, shared workspaces, or team deployment.&lt;/p>
&lt;h2 class="relative group">What this actually means for engineering leaders
&lt;div id="what-this-actually-means-for-engineering-leaders" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-this-actually-means-for-engineering-leaders" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the strategic point that matters more than any feature comparison.&lt;/p>
&lt;p>For the last two years, the AI interface layer has been bundled with the model provider. You use ChatGPT because you want GPT. You use Claude because you want Anthropic&amp;rsquo;s models. The interface and the intelligence came as a package deal.&lt;/p>
&lt;p>Open WebUI (and projects like it) are unbundling that. The model is one layer. The interface is another. And once those layers separate, the dynamics change.&lt;/p>
&lt;p>Your team can switch models without switching workflows. You can run sensitive workloads on local models and routine work on cloud APIs, through the same interface. You can add RAG, agents, and custom tools without waiting for OpenAI to ship them. You can audit, log, and control every interaction.&lt;/p>
&lt;p>The price of that freedom is real. You own deployment. You own patching. You own extension security. You own operational tuning. You inherit everything that SaaS normally hides behind a login page.&lt;/p>
&lt;p>That&amp;rsquo;s not a reason to avoid it. It&amp;rsquo;s a reason to approach it the way you&amp;rsquo;d approach any infrastructure decision: with clear requirements, honest assessment of your ops capacity, and a plan for what happens when things break at 3am.&lt;/p>
&lt;h2 class="relative group">Who should care about this
&lt;div id="who-should-care-about-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#who-should-care-about-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you&amp;rsquo;re a solo developer who wants a better local AI setup, Open WebUI is probably the best option out there right now. Install it, connect your models, enjoy.&lt;/p>
&lt;p>If you&amp;rsquo;re an engineering leader evaluating AI tooling for your team, Open WebUI is worth understanding even if you don&amp;rsquo;t deploy it. It represents where the AI tooling ecosystem is heading: model-agnostic interfaces, self-hosted control planes, protocol-first architectures. The question isn&amp;rsquo;t whether this pattern wins. It&amp;rsquo;s how fast.&lt;/p>
&lt;p>If you&amp;rsquo;re already running AI agents in production (like I am), Open WebUI is interesting as the potential front end for your entire AI operations layer. One interface for your agents, your knowledge base, your model routing, your team&amp;rsquo;s AI workflows. That&amp;rsquo;s a compelling vision. Whether the project can deliver on it at enterprise scale is still an open question.&lt;/p>
&lt;p>Either way, the conversation has shifted. It&amp;rsquo;s no longer just about which model is best. It&amp;rsquo;s about who controls the layer where your team meets the model. Open WebUI is one of the first projects to take that question seriously.&lt;/p>
&lt;p>And that&amp;rsquo;s worth paying attention to.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Running self-hosted AI infrastructure? Thinking about owning the interface layer? I&amp;rsquo;d love to hear what you&amp;rsquo;re using. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/open-webui-ai-interface-infrastructure/feature.png"/></item><item><title>Your AI Agents Are Flying Blind. Here's How to Fix That.</title><link>https://pinishv.com/articles/developer-knowledge-hub-ai-agents-need-context/</link><pubDate>Sun, 15 Mar 2026 10:00:00 +0200</pubDate><guid>https://pinishv.com/articles/developer-knowledge-hub-ai-agents-need-context/</guid><description>Every AI agent in your org starts every session with zero context. No business rules. No architecture decisions. No conventions. The code they generate looks correct but violates assumptions that live in people&amp;rsquo;s heads. The solution isn&amp;rsquo;t better models. It&amp;rsquo;s a knowledge system.</description><content:encoded>&lt;p>Your AI agent just rewrote the authentication flow. The code is clean. Tests pass. The PR looks great.&lt;/p>
&lt;p>One problem: it broke the SSO integration with three enterprise customers because it didn&amp;rsquo;t know the auth service has a contract with the identity provider that requires a specific token format. That contract lives in a Slack thread from 2023 and one engineer&amp;rsquo;s head.&lt;/p>
&lt;p>The agent didn&amp;rsquo;t make a mistake. It made a perfectly reasonable decision with the information it had. &lt;strong>The information it had was almost nothing.&lt;/strong>&lt;/p>
&lt;p>This is happening across your codebase right now. Not just with authentication. With everything. Business rules, API contracts, deployment constraints, database conventions, service boundaries. Your agents write code that compiles, passes tests, and violates assumptions that live nowhere except in people&amp;rsquo;s heads and scattered documents nobody maintains.&lt;/p>
&lt;p>I&amp;rsquo;ve written about &lt;a
href="https://pinishv.com/articles/the-context-problem-why-switching-between-claude-chatgpt-and-grok-feels-like-groundhog-day/">why context is the fundamental problem in AI&lt;/a>. I&amp;rsquo;ve written about &lt;a
href="https://pinishv.com/articles/org-charts-for-ai-agents-mapping-your-human-and-ai-workforce/">putting AI agents on the org chart&lt;/a> and managing them like team members. But none of that matters if the agents start every session blind.&lt;/p>
&lt;p>&lt;strong>If you&amp;rsquo;re running agents in production, this is the problem you need to solve next.&lt;/strong>&lt;/p>
&lt;h2 class="relative group">Two teams, same agents, wildly different results
&lt;div id="two-teams-same-agents-wildly-different-results" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#two-teams-same-agents-wildly-different-results" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Let me describe what I&amp;rsquo;m seeing.&lt;/p>
&lt;p>&lt;strong>Team A&lt;/strong> has agents embedded in their development workflow. An agent picks up a ticket to add a new validation rule to the user registration flow. Before writing a line of code, it queries a knowledge base and gets back: the existing validation rules, the reason the email format check is stricter than RFC 5322 (because of a legacy migration), the API contract with the notification service, and the team&amp;rsquo;s convention for error handling. The agent writes code that fits. The PR gets approved on the first review.&lt;/p>
&lt;p>&lt;strong>Team B&lt;/strong> has the exact same agents, same models, same IDE. Their agent picks up a similar ticket. It reads the code in the repo, sees patterns, generates a solution. The solution uses a different error handling pattern than the rest of the codebase. It changes the validation response format, which breaks the mobile client. It adds a database column without following the team&amp;rsquo;s migration conventions. The PR gets three rounds of review comments and a refactor.&lt;/p>
&lt;p>Same AI. Same capability. Completely different outcomes.&lt;/p>
&lt;p>The difference isn&amp;rsquo;t the model. It&amp;rsquo;s that Team A solved the knowledge problem and Team B didn&amp;rsquo;t.&lt;/p>
&lt;h2 class="relative group">Where knowledge actually lives (and why that&amp;rsquo;s broken)
&lt;div id="where-knowledge-actually-lives-and-why-thats-broken" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#where-knowledge-actually-lives-and-why-thats-broken" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>In most engineering organizations, critical knowledge is scattered across:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>People&amp;rsquo;s heads.&lt;/strong> The worst possible storage medium.&lt;/li>
&lt;li>&lt;strong>Slack threads.&lt;/strong> Searchable in theory, buried in practice.&lt;/li>
&lt;li>&lt;strong>Confluence pages.&lt;/strong> Written once, updated never.&lt;/li>
&lt;li>&lt;strong>Code comments.&lt;/strong> Spotty at best, misleading at worst.&lt;/li>
&lt;li>&lt;strong>Tribal knowledge.&lt;/strong> &amp;ldquo;Ask Daniel, he built that service.&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>None of this is accessible to AI agents. None of it is structured for retrieval. None of it stays current.&lt;/p>
&lt;p>And here&amp;rsquo;s the compounding problem: as AI agents do more work, the knowledge gap matters more, not less. When humans wrote all the code, at least the person writing it carried the context. When agents write the code, the context has to come from somewhere else. Or it doesn&amp;rsquo;t come at all.&lt;/p>
&lt;p>&lt;strong>Think about it this way:&lt;/strong> a senior developer who&amp;rsquo;s been on your team for three years carries hundreds of micro-decisions in their head. Why the payment service retries exactly three times. Why the user permissions check happens at the API gateway, not the service layer. Why that database query uses a specific index hint. Now imagine replacing that developer with an agent that knows none of this. That&amp;rsquo;s what you&amp;rsquo;re doing every time an agent starts a session.&lt;/p>
&lt;h2 class="relative group">The wrong way to fix this
&lt;div id="the-wrong-way-to-fix-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-wrong-way-to-fix-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The instinct is to throw more code at the agent. Bigger context windows. More files in the prompt. RAG over the entire codebase.&lt;/p>
&lt;p>I&amp;rsquo;ve seen teams try this. Here&amp;rsquo;s what happens:&lt;/p>
&lt;p>They dump the entire repo into the context. The agent drowns in irrelevant code and can&amp;rsquo;t find the signal, and every token costs money, so you&amp;rsquo;re paying premium rates to confuse your own agents. They build RAG over Confluence. The retrieval returns pages from 2021 that contradict how things actually work. They write massive README files. Nobody maintains them. Within three months they&amp;rsquo;re more misleading than helpful.&lt;/p>
&lt;p>And the costs compound. More tokens in the context means higher API bills on every single request. Bad context leads to wrong code, which leads to longer review cycles, which leads to rework, which means more agent sessions with the same bad context. It&amp;rsquo;s compound interest working against you. Every layer of waste multiplies the next.&lt;/p>
&lt;p>&lt;strong>The problem isn&amp;rsquo;t volume of information. It&amp;rsquo;s the right information, maintained, structured, and delivered at the moment the agent needs it.&lt;/strong> Get this wrong and you&amp;rsquo;re not just getting bad code. You&amp;rsquo;re paying more for it with every iteration.&lt;/p>
&lt;h2 class="relative group">What actually works: a developer knowledge hub
&lt;div id="what-actually-works-a-developer-knowledge-hub" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-actually-works-a-developer-knowledge-hub" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>After months of thinking about this problem and looking at how every available solution falls short, I believe the answer is a system with three components that work together.&lt;/p>
&lt;div style="margin:28px 0; background:linear-gradient(135deg, #0f2440, #1e3a5f); border-radius:12px; padding:36px; color:#fff;">
&lt;div style="display:flex; align-items:stretch; gap:16px; margin-bottom:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#22d3ee;">Layer 1&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">Source of Truth&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(34,211,238,0.1); border:1px solid rgba(34,211,238,0.3); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">📁&lt;/span>
&lt;div>&lt;strong>Knowledge Repo&lt;/strong> (Git)&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">Developers author markdown: product rules, system docs, architecture specs, skills&lt;/span>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="display:flex; justify-content:center; padding:4px 0 4px 136px; color:rgba(255,255,255,0.35); font-size:14px;">▼ &amp;nbsp; CI/CD syncs on every merge &amp;nbsp; ▼&lt;/div>
&lt;div style="display:flex; align-items:stretch; gap:16px; margin-bottom:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#22d3ee;">Layer 2&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">Index &amp; Push&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">🔍&lt;/span>
&lt;div>&lt;strong>Vector Store + Embeddings&lt;/strong>&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">Chunk, embed, index → semantic search&lt;/span>&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">📄&lt;/span>
&lt;div>&lt;strong>AGENTS.md + Skills per repo&lt;/strong>&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">Generated context + reusable workflows&lt;/span>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="display:flex; justify-content:center; padding:4px 0 4px 136px; color:rgba(255,255,255,0.35); font-size:14px;">▼ &amp;nbsp; Serves queries at dev time &amp;nbsp; ▼&lt;/div>
&lt;div style="display:flex; align-items:stretch; gap:16px; margin-bottom:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#22d3ee;">Layer 3&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">Universal Bridge&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(34,211,238,0.1); border:1px solid rgba(34,211,238,0.3); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">🔌&lt;/span>
&lt;div>&lt;strong>MCP Server&lt;/strong>&lt;br>&lt;span style="font-size:13px; color:#94a3b8;">One server → every IDE &amp; agent can query knowledge&lt;/span>&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="display:flex; justify-content:center; padding:4px 0 4px 136px; color:rgba(255,255,255,0.35); font-size:14px;">▼&lt;/div>
&lt;div style="display:flex; align-items:stretch; gap:16px;">
&lt;div style="width:120px; flex-shrink:0; display:flex; flex-direction:column; justify-content:center; padding-right:16px; border-right:2px solid rgba(255,255,255,0.15); text-align:right;">
&lt;div style="font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:#94a3b8;">Consumers&lt;/div>
&lt;div style="font-size:12px; color:#94a3b8; margin-top:2px;">All tools&lt;/div>
&lt;/div>
&lt;div style="flex:1; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:8px; padding:16px 20px; display:flex; align-items:center; gap:12px; font-size:14px; font-weight:500; color:#e2e8f0;">
&lt;span style="font-size:22px;">💻&lt;/span>
&lt;div style="display:flex; gap:16px; flex-wrap:wrap; font-size:13px; color:#94a3b8;">
&lt;span>Cursor&lt;/span> &lt;span>Claude Code&lt;/span> &lt;span>Copilot&lt;/span> &lt;span>Codex&lt;/span> &lt;span>Kiro&lt;/span> &lt;span style="color:rgba(255,255,255,0.35);">+ any future MCP-compatible tool&lt;/span>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;/div>
&lt;h3 class="relative group">Git for authoring
&lt;div id="git-for-authoring" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#git-for-authoring" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Not Confluence. Not Notion. Not some SaaS product with its own editing UI.&lt;/p>
&lt;p>A Git repository. Markdown files. Pull requests for review. CI/CD for automation. The same workflow developers already use for code.&lt;/p>
&lt;p>Why Git? Because the adoption problem kills every knowledge initiative that requires developers to learn a different tool. PRs already have review workflows. Blame shows who wrote what. History shows when things changed. CODEOWNERS controls who can approve what. Your developers already know all of this. Zero adoption friction.&lt;/p>
&lt;p>The repo holds four types of knowledge:&lt;/p>
&lt;p>&lt;strong>Product knowledge.&lt;/strong> Business rules, domain logic, edge cases, validation requirements. Why the user registration flow requires that specific email format. Why the discount calculation has a different rounding rule for enterprise customers. This changes every sprint.&lt;/p>
&lt;p>&lt;strong>System knowledge.&lt;/strong> Build commands, repo structure, coding conventions, database patterns, module boundaries. Why you always run migrations before the test suite. Why the cache invalidation uses event sourcing instead of TTL. This changes when code changes.&lt;/p>
&lt;p>&lt;strong>Architecture knowledge.&lt;/strong> API contracts, data flows, service boundaries, system invariants. Why the payment service is the only service allowed to write to the transactions table. Why the notification queue has exactly-once delivery semantics. This changes rarely but matters enormously.&lt;/p>
&lt;p>&lt;strong>Operational skills.&lt;/strong> Code review checklists, debugging guides, feature scaffolding patterns, cross-repo change workflows. How to add a new API endpoint. How to set up a feature flag. How to run a database migration across services. How the CI/CD pipeline works, which checks run on PR, which run on merge, what gates production. How linting and formatting are enforced and what to do when a check fails. How to roll back a deployment. How to triage a failing build. These are reusable agent workflows that encode how your team actually works. Not just the code, but the entire delivery process around it.&lt;/p>
&lt;p>One thing you&amp;rsquo;ll notice is missing from this list: the code itself. That&amp;rsquo;s intentional. AI IDEs and coding agents like Cursor, Copilot, and Claude Code already do a solid job indexing your codebase. They understand file structure, imports, function signatures. You don&amp;rsquo;t need to duplicate that work. What they can&amp;rsquo;t index is everything around the code. The why, the rules, the decisions. That&amp;rsquo;s what the knowledge hub is for. That said, the system is designed to be agile. If you want to add code indexing, documentation from other sources, or any other category of data, the architecture supports it. Same Git authoring, same search layer, same MCP delivery.&lt;/p>
&lt;h3 class="relative group">Semantic search for retrieval
&lt;div id="semantic-search-for-retrieval" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#semantic-search-for-retrieval" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Raw markdown is great for humans. Useless for agents that need to find the right three paragraphs out of thousands for a specific task.&lt;/p>
&lt;p>This layer chunks the markdown by section, embeds it into vectors, and indexes it for semantic retrieval. When an agent asks &amp;ldquo;what are the validation rules for the registration flow?&amp;rdquo; it gets the relevant sections, with citations back to the source documents.&lt;/p>
&lt;p>AWS Bedrock Knowledge Bases does this out of the box. So does Pinecone, Weaviate, or any vector store with a decent chunking strategy. The specific tool doesn&amp;rsquo;t matter. What matters is that knowledge becomes semantically searchable, not just keyword-matchable.&lt;/p>
&lt;p>CI/CD syncs markdown to the search index on every merge. Knowledge stays current automatically. No manual re-indexing. No stale embeddings.&lt;/p>
&lt;h3 class="relative group">MCP for delivery
&lt;div id="mcp-for-delivery" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#mcp-for-delivery" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Here&amp;rsquo;s where it comes together.&lt;/p>
&lt;p>Your developers use Cursor, Claude Code, Copilot, Codex, Kiro. Probably several of them. Each one is an island. Each one starts every session without context.&lt;/p>
&lt;p>&lt;a
href="https://pinishv.com/articles/model-context-protocol-connecting-ai-to-your-real-work/">Model Context Protocol (MCP)&lt;/a> is the open standard that connects all of them. I wrote a deep dive on MCP earlier. If you haven&amp;rsquo;t read it, start there.&lt;/p>
&lt;p>One MCP server wraps your knowledge base and exposes it to every IDE and agent through a standard interface. Build one server. Every tool connects natively. New tools that support MCP work automatically. Zero per-tool maintenance.&lt;/p>
&lt;p>The server exposes three tools: &lt;code>search_knowledge&lt;/code> for semantic search across all knowledge, &lt;code>get_document&lt;/code> to fetch a specific doc by path, and &lt;code>list_knowledge_bases&lt;/code> to discover available sources. Simple interface, massive impact.&lt;/p>
&lt;p>&lt;strong>Without MCP:&lt;/strong> You build a separate integration for each IDE. Maintain six connectors. Each tool gets knowledge differently. Every new tool means new work.&lt;/p>
&lt;p>&lt;strong>With MCP:&lt;/strong> You build one server. Everything connects. When the next AI coding tool launches next month, it just works.&lt;/p>
&lt;h2 class="relative group">The loop that makes it compound
&lt;div id="the-loop-that-makes-it-compound" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-loop-that-makes-it-compound" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s where this gets really powerful. The system doesn&amp;rsquo;t just serve knowledge. It grows.&lt;/p>
&lt;div style="margin:28px 0; background:linear-gradient(135deg, #0f2440, #1e3a5f); border-radius:12px; padding:32px 28px; color:#fff;">
&lt;div style="display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:0;">
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">🔍&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Read&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Agent queries KB&lt;br>via MCP&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">→&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">💻&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Work&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Develops with&lt;br>full context&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">→&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">📝&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Write Back&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Opens PR to&lt;br>knowledge repo&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">→&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">✅&lt;/div>
&lt;div style="font-size:14px; font-weight:700;">Merge&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Dev reviews&lt;br>CI re-indexes&lt;/div>
&lt;/div>
&lt;div style="font-size:20px; color:rgba(255,255,255,0.3); padding:0 2px;">↩&lt;/div>
&lt;div style="text-align:center; padding:10px 4px;">
&lt;div style="width:44px; height:44px; border-radius:50%; background:rgba(34,211,238,0.2); border:2px solid #22d3ee; display:flex; align-items:center; justify-content:center; margin:0 auto 8px; font-size:20px;">🔄&lt;/div>
&lt;div style="font-size:14px; font-weight:700; color:#22d3ee;">Updated&lt;/div>
&lt;div style="font-size:11px; color:#94a3b8; margin-top:3px;">Next session&lt;br>starts smarter&lt;/div>
&lt;/div>
&lt;/div>
&lt;div style="margin-top:24px; border-top:1px solid rgba(255,255,255,0.12); padding-top:20px; text-align:center;">
&lt;div style="font-size:14px; color:#cbd5e1;">Fully automated. No manual curation. Knowledge grows as the team develops.&lt;/div>
&lt;/div>
&lt;/div>
&lt;p>The workflow in detail:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Agent reads.&lt;/strong> Before starting work, queries the knowledge base via MCP. Gets business rules, conventions, architecture constraints relevant to the task.&lt;/li>
&lt;li>&lt;strong>Agent works.&lt;/strong> Develops with full context. The code actually follows the patterns and rules.&lt;/li>
&lt;li>&lt;strong>Agent writes back.&lt;/strong> A built-in skill instructs the agent to capture what it learned during development and open a PR to the knowledge repo.&lt;/li>
&lt;li>&lt;strong>Developer reviews.&lt;/strong> Standard PR review. Approves or refines the knowledge doc.&lt;/li>
&lt;li>&lt;strong>CI syncs.&lt;/strong> Merged knowledge is automatically indexed. Next agent session starts smarter.&lt;/li>
&lt;/ol>
&lt;p>Knowledge capture becomes part of development, not a separate chore. The developer just reviews. No separate authoring step.&lt;/p>
&lt;p>There&amp;rsquo;s a sixth step that takes this even further. When new knowledge merges, a CI step can run an LLM over the diff and ask: &amp;ldquo;What else in the entire knowledge base might be affected by this change?&amp;rdquo; Remember, this is a centralized system across all your repos. A change to how one service handles authentication could affect product knowledge for three other services, architecture docs for the API gateway, and operational skills for the deployment pipeline. The system uses embeddings to find related documents across every domain, checks for contradictions or staleness, and opens follow-up issues flagging what might need updating. Ripple effect detection across your entire engineering knowledge. You update the validation rules for user registration, and the system flags that the API contract doc, the mobile client integration guide, and the error handling conventions might all need a second look. It&amp;rsquo;s cheap to run and catches the kind of cross-cutting knowledge drift that humans miss because nobody has visibility into every document across every team.&lt;/p>
&lt;p>&lt;strong>Every feature built makes the next feature easier. Every agent session makes the next session smarter.&lt;/strong> The knowledge compounds.&lt;/p>
&lt;h2 class="relative group">The AGENTS.md safety net
&lt;div id="the-agentsmd-safety-net" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-agentsmd-safety-net" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Not every agent session has MCP access. Sometimes developers work offline. Sometimes a new tool doesn&amp;rsquo;t support MCP yet. Sometimes the knowledge server is down.&lt;/p>
&lt;p>For these cases, CI generates a lightweight &lt;code>AGENTS.md&lt;/code> in each repo. It&amp;rsquo;s a table of contents for the agent: what this repo does, how to build and test it, architecture boundaries, conventions and constraints, and where to find the full knowledge base.&lt;/p>
&lt;p>Think of it as the offline fallback. Agents get essential context even without network access. Push model (always in-repo) complementing the pull model (on-demand via MCP).&lt;/p>
&lt;h2 class="relative group">Why nothing on the market solves this
&lt;div id="why-nothing-on-the-market-solves-this" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-nothing-on-the-market-solves-this" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I looked at many solutions out there. Each solves a piece, and the approach I&amp;rsquo;m describing borrows the best parts from all of them.&lt;/p>
&lt;p>&lt;strong>Meta-repos&lt;/strong> (centralized Git docs). Git-native authoring, but no semantic search. Agents can&amp;rsquo;t find what they need.&lt;/p>
&lt;p>&lt;strong>Wiki + RAG&lt;/strong> (Confluence/Notion with retrieval). Searchable, but not Git-native. Developers won&amp;rsquo;t update it. Knowledge rots within months.&lt;/p>
&lt;p>&lt;strong>Code wikis&lt;/strong> (auto-generated from code). Clever, but usually tied to one AI tool. Not universal.&lt;/p>
&lt;p>&lt;strong>Cloud RAG services&lt;/strong> (Bedrock KB, Vertex). Managed search, but no authoring story. Where does the content come from?&lt;/p>
&lt;p>&lt;strong>Agent memory&lt;/strong> (Copilot memory, Letta). Per-tool, per-session. Not centralized. Not shared across the team.&lt;/p>
&lt;p>You need all five capabilities in one system. That&amp;rsquo;s what this approach delivers.&lt;/p>
&lt;h2 class="relative group">How to start (without boiling the ocean)
&lt;div id="how-to-start-without-boiling-the-ocean" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-to-start-without-boiling-the-ocean" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Day 1&lt;/strong>: Create the knowledge repo. Sit with your two or three most senior engineers, the ones who carry the most context in their heads. Ask them: &amp;ldquo;What do you find yourself explaining over and over?&amp;rdquo; That&amp;rsquo;s your first knowledge document.&lt;/p>
&lt;p>&lt;strong>Day 2-3&lt;/strong>: Set up semantic search. Connect your markdown to a vector store. Get retrieval working. This is not a multi-week project. The tooling exists. Use it.&lt;/p>
&lt;p>&lt;strong>Day 4-5&lt;/strong>: Deploy the MCP server. Configure it in your team&amp;rsquo;s primary IDE. Have a developer pair with an agent on a real task and compare the output to what they&amp;rsquo;d get without the knowledge base. That&amp;rsquo;s your first signal.&lt;/p>
&lt;p>&lt;strong>Week 2&lt;/strong>: Add the write-back loop. Build the skill that instructs agents to capture knowledge after completing work. Train your developers on how to review knowledge PRs, not just code PRs. This is where it starts compounding.&lt;/p>
&lt;p>The technology side of this is days of work. The harder part is getting your team to treat knowledge as a first-class deliverable, not an afterthought. That&amp;rsquo;s a leadership problem, not a tooling problem. But once developers see their agents producing better code because someone took 20 minutes to document business rules, the culture shift happens on its own.&lt;/p>
&lt;p>We&amp;rsquo;re in the AI era. If the infrastructure takes you months, you&amp;rsquo;re overengineering it. Get something working in days, iterate from there. The humans will make it great.&lt;/p>
&lt;p>&lt;strong>The key insight: start with the knowledge that hurts most when it&amp;rsquo;s missing.&lt;/strong> That&amp;rsquo;s usually the domain logic, the business rules that experienced developers carry in their heads and that agents get wrong in ways that look correct until they hit production.&lt;/p>
&lt;h2 class="relative group">The uncomfortable question
&lt;div id="the-uncomfortable-question" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-uncomfortable-question" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If your AI agents are generating code without context, how much of that code is actually correct?&lt;/p>
&lt;p>Not &amp;ldquo;does it compile&amp;rdquo; correct. Not &amp;ldquo;does it pass the tests you wrote&amp;rdquo; correct. Actually correct. Follows the business rules, respects the architecture, uses the conventions, handles the edge cases that burned you last quarter.&lt;/p>
&lt;p>If you can&amp;rsquo;t answer that confidently, your agents aren&amp;rsquo;t helping as much as you think. They&amp;rsquo;re generating plausible-looking code that somebody has to review against all the unwritten knowledge that exists only in people&amp;rsquo;s heads. And you&amp;rsquo;re paying for every token of that wrong output, then paying again for the review, again for the rework, and again when the agent generates the same mistake tomorrow because nothing changed.&lt;/p>
&lt;p>That&amp;rsquo;s not an AI problem. That&amp;rsquo;s a knowledge management problem. And it&amp;rsquo;s solvable.&lt;/p>
&lt;p>&lt;strong>The organizations that figure this out first will have AI agents that don&amp;rsquo;t just write code. They write the right code. Every time. From session one.&lt;/strong>&lt;/p>
&lt;p>That&amp;rsquo;s the difference between AI as a novelty and AI as a genuine multiplier. And it&amp;rsquo;s what separates teams that are actually shipping with agents from teams that are just generating code and hoping for the best.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Building knowledge systems for AI agents? Thinking about MCP? I&amp;rsquo;d love to hear how you&amp;rsquo;re approaching it. Find me on &lt;a
href="https://x.com/PiniShv"
target="_blank"
>X&lt;/a> or &lt;a
href="https://t.me/by_Pini"
target="_blank"
>Telegram&lt;/a>.&lt;/em>&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/developer-knowledge-hub-ai-agents-need-context/feature.png"/></item><item><title>Ship Faster Without Breaking Things: DORA 2025 in Real Life</title><link>https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/</link><pubDate>Sat, 04 Oct 2025 00:00:00 +0000</pubDate><guid>https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/</guid><description>AI is making teams faster, but instability persists. The 2025 DORA report reveals which organizational capabilities turn AI into a force multiplier—and which ones let it amplify the mess.</description><content:encoded>&lt;p>Last year, teams using AI shipped slower and broke more things. This year, they&amp;rsquo;re shipping faster, but they&amp;rsquo;re still breaking things. The difference between those outcomes isn&amp;rsquo;t the AI tool you picked—it&amp;rsquo;s what you built around it.&lt;/p>
&lt;p>The &lt;a
href="https://cloud.google.com/resources/content/2025-dora-ai-assisted-software-development-report"
target="_blank"
>2025 DORA State of AI-assisted Software Development Report&lt;/a> introduces an AI Capabilities Model based on interviews, expert input, and survey data from thousands of teams. Seven organizational capabilities consistently determine whether AI amplifies your effectiveness or just amplifies your problems.&lt;/p>
&lt;p>This isn&amp;rsquo;t about whether to use AI. It&amp;rsquo;s about how to use it without making everything worse.&lt;/p>
&lt;h2 class="relative group">First, what DORA actually measures
&lt;div id="first-what-dora-actually-measures" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#first-what-dora-actually-measures" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>DORA is a long-running research program studying how software teams ship and run software. It measures outcomes across multiple dimensions:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Organizational performance&lt;/strong> – business-level impact&lt;/li>
&lt;li>&lt;strong>Delivery throughput&lt;/strong> – how fast features ship&lt;/li>
&lt;li>&lt;strong>Delivery instability&lt;/strong> – how often things break&lt;/li>
&lt;li>&lt;strong>Team performance&lt;/strong> – collaboration and effectiveness&lt;/li>
&lt;li>&lt;strong>Product performance&lt;/strong> – user-facing quality&lt;/li>
&lt;li>&lt;strong>Code quality&lt;/strong> – maintainability and technical debt&lt;/li>
&lt;li>&lt;strong>Friction&lt;/strong> – blockers and waste in the development process&lt;/li>
&lt;li>&lt;strong>Burnout&lt;/strong> – team health and sustainability&lt;/li>
&lt;li>&lt;strong>Valuable work&lt;/strong> – time spent on meaningful tasks&lt;/li>
&lt;li>&lt;strong>Individual effectiveness&lt;/strong> – personal productivity&lt;/li>
&lt;/ul>
&lt;p>These aren&amp;rsquo;t vanity metrics. They&amp;rsquo;re the lenses DORA uses to determine whether practices help or hurt.&lt;/p>
&lt;h2 class="relative group">What changed in 2025
&lt;div id="what-changed-in-2025" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-changed-in-2025" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>&lt;strong>Last year:&lt;/strong> AI use correlated with slower delivery and more instability.&lt;/p>
&lt;p>&lt;strong>This year:&lt;/strong> Throughput ticks up while instability still hangs around.&lt;/p>
&lt;p>In short, teams are getting faster. The bumps haven&amp;rsquo;t disappeared. Environment and habits matter a lot.&lt;/p>
&lt;p>
&lt;figure>
&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="AI Adoption Statistics"
srcset="
/articles/ship-faster-without-breaking-things-dora-2025/1_hu_b3937e9a04d27747.png 330w,
/articles/ship-faster-without-breaking-things-dora-2025/1_hu_a3ebc035e68af389.png 660w,
/articles/ship-faster-without-breaking-things-dora-2025/1_hu_1cbc21847a0b64.png 1280w
"
data-zoom-src="https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/1.png"
src="https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/1.png">
&lt;/figure>
&lt;/p>
&lt;h2 class="relative group">The big idea: capabilities beat tools
&lt;div id="the-big-idea-capabilities-beat-tools" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-big-idea-capabilities-beat-tools" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>DORA&amp;rsquo;s 2025 research introduces an &lt;strong>AI Capabilities Model&lt;/strong>. Seven organizational capabilities consistently amplify the upside from AI while mitigating the risks:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Clear and communicated AI stance&lt;/strong> – everyone knows the policy&lt;/li>
&lt;li>&lt;strong>Healthy data ecosystems&lt;/strong> – clean, accessible, well-managed data&lt;/li>
&lt;li>&lt;strong>AI-accessible internal data&lt;/strong> – tools can see your context safely&lt;/li>
&lt;li>&lt;strong>Strong version control practices&lt;/strong> – commit often, rollback fluently&lt;/li>
&lt;li>&lt;strong>Working in small batches&lt;/strong> – fewer lines, fewer changes, shorter tasks&lt;/li>
&lt;li>&lt;strong>User-centric focus&lt;/strong> – outcomes trump output&lt;/li>
&lt;li>&lt;strong>Quality internal platforms&lt;/strong> – golden paths and secure defaults&lt;/li>
&lt;/ol>
&lt;p>These aren&amp;rsquo;t theoretical. They&amp;rsquo;re patterns that emerged from real teams shipping real software with AI in the loop.&lt;/p>
&lt;p>Below are the parts you can apply on Monday morning.&lt;/p>
&lt;h2 class="relative group">1. Write down your AI stance
&lt;div id="1-write-down-your-ai-stance" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#1-write-down-your-ai-stance" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Teams perform better when the policy is clear, visible, and encourages thoughtful experimentation. A clear stance improves individual effectiveness, reduces friction, and even lifts organizational performance.&lt;/p>
&lt;p>Many developers still report policy confusion, which leads to underuse or risky workarounds. Fixing clarity pays back quickly.&lt;/p>
&lt;h3 class="relative group">Leader move
&lt;div id="leader-move" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#leader-move" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Publish the allowed tools and uses, where data can and cannot go, and who to ask when something is unclear. Then socialize it in the places people actually read—not just a wiki page nobody visits.&lt;/p>
&lt;p>Make it a short document:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>What&amp;rsquo;s allowed:&lt;/strong> Which AI tools are approved for what use cases&lt;/li>
&lt;li>&lt;strong>What&amp;rsquo;s not allowed:&lt;/strong> Where the boundaries are and why&lt;/li>
&lt;li>&lt;strong>Where data can go:&lt;/strong> Which contexts are safe for which types of information&lt;/li>
&lt;li>&lt;strong>Who to ask:&lt;/strong> A real person or channel for edge cases&lt;/li>
&lt;/ul>
&lt;p>Post it in Slack, email it, put it in onboarding. Make not knowing harder than knowing.&lt;/p>
&lt;h2 class="relative group">2. Give AI your company context
&lt;div id="2-give-ai-your-company-context" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#2-give-ai-your-company-context" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The single biggest multiplier is letting AI use your internal data in a safe way. When tools can see the right repos, docs, tickets, and decision logs, individual effectiveness and code quality improve dramatically.&lt;/p>
&lt;p>Licenses alone don&amp;rsquo;t cut it. Wiring matters.&lt;/p>
&lt;h3 class="relative group">Developer move
&lt;div id="developer-move" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#developer-move" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Include relevant snippets from internal docs or tickets in your prompts when policy allows. Ask for refactoring that matches your codebase, not generic patterns.&lt;/p>
&lt;p>Instead of:&lt;/p>
&lt;pre tabindex="0">&lt;code>Write a function to validate user input
&lt;/code>&lt;/pre>&lt;p>Try:&lt;/p>
&lt;pre tabindex="0">&lt;code>Write a validation function that matches our pattern in
docs/validators/base.md. It should use the same error
handling structure we use elsewhere and return ValidationResult.
&lt;/code>&lt;/pre>&lt;p>Context makes the difference between generic code and code that fits.&lt;/p>
&lt;p>
&lt;figure>
&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="low"
alt="AI Usage by Task"
srcset="
/articles/ship-faster-without-breaking-things-dora-2025/2_hu_93809c0b262e2646.png 330w,
/articles/ship-faster-without-breaking-things-dora-2025/2_hu_b92b185d5cc8c49c.png 660w,
/articles/ship-faster-without-breaking-things-dora-2025/2_hu_bb3b760cef91418d.png 1280w
"
data-zoom-src="https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/2.png"
src="https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/2.png">
&lt;/figure>
&lt;/p>
&lt;h3 class="relative group">Leader move
&lt;div id="leader-move-1" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#leader-move-1" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Prioritize the plumbing. Improve data quality and access, then connect AI tools to approved internal sources. Treat this like a platform feature, not a side quest.&lt;/p>
&lt;p>This means:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Audit your data:&lt;/strong> What&amp;rsquo;s scattered? What&amp;rsquo;s duplicated? What&amp;rsquo;s wrong?&lt;/li>
&lt;li>&lt;strong>Make it accessible:&lt;/strong> Can tools reach the right information safely?&lt;/li>
&lt;li>&lt;strong>Build integrations:&lt;/strong> Connect approved AI tools to your repos, docs, and systems&lt;/li>
&lt;li>&lt;strong>Measure impact:&lt;/strong> Track whether context improves code quality and reduces rework&lt;/li>
&lt;/ul>
&lt;p>This is infrastructure work. It&amp;rsquo;s not glamorous. It pays off massively.&lt;/p>
&lt;h2 class="relative group">3. Make version control your safety net
&lt;div id="3-make-version-control-your-safety-net" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#3-make-version-control-your-safety-net" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Two simple habits change the payoff curve:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Commit more often&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Be fluent with rollback and revert&lt;/strong>&lt;/li>
&lt;/ol>
&lt;p>Frequent commits amplify AI&amp;rsquo;s positive effect on individual effectiveness. Frequent rollbacks amplify AI&amp;rsquo;s effect on team performance. That safety net lowers fear and keeps speed sane.&lt;/p>
&lt;h3 class="relative group">Developer move
&lt;div id="developer-move-1" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#developer-move-1" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Keep PRs small, practice fast reverts, and do review passes that focus on risk hot spots. Larger AI-generated diffs are harder to review, so small batches matter even more.&lt;/p>
&lt;p>&lt;strong>Make this your default workflow:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Commit after every meaningful change, not just when you&amp;rsquo;re &amp;ldquo;done&amp;rdquo;&lt;/li>
&lt;li>Know your rollback commands by heart: &lt;code>git revert&lt;/code>, &lt;code>git reset&lt;/code>, &lt;code>git checkout&lt;/code>&lt;/li>
&lt;li>Break big AI-generated changes into reviewable chunks before opening a PR&lt;/li>
&lt;li>Flag risky sections explicitly in PR descriptions&lt;/li>
&lt;/ul>
&lt;p>When AI suggests a 300-line refactor, don&amp;rsquo;t merge it as one commit. Break it into logical pieces you can review and revert independently.&lt;/p>
&lt;h2 class="relative group">4. Work in smaller batches
&lt;div id="4-work-in-smaller-batches" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#4-work-in-smaller-batches" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Small batches correlate with better product performance for AI-assisted teams. They turn AI&amp;rsquo;s neutral effect on friction into a reduction. You might feel a smaller bump in personal effectiveness, which is fine—outcomes beat output.&lt;/p>
&lt;h3 class="relative group">Team move
&lt;div id="team-move" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#team-move" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Make &amp;ldquo;fewer lines per change, fewer changes per release, shorter tasks&amp;rdquo; your default.&lt;/p>
&lt;p>&lt;strong>Concretely:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Set a soft limit on PR size (150-200 lines max)&lt;/li>
&lt;li>Break features into smaller increments that ship value&lt;/li>
&lt;li>Deploy more frequently, even if each deploy does less&lt;/li>
&lt;li>Measure cycle time from commit to production, not just individual velocity&lt;/li>
&lt;/ul>
&lt;p>Small batches reduce review burden, lower deployment risk, and make rollbacks less scary. When AI is writing code, this discipline matters more, not less.&lt;/p>
&lt;h2 class="relative group">5. Keep the user in the room
&lt;div id="5-keep-the-user-in-the-room" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#5-keep-the-user-in-the-room" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>User-centric focus is a strong moderator. With it, AI maps to better team performance. Without it, you move quickly in the wrong direction.&lt;/p>
&lt;p>Speed without direction is just thrashing.&lt;/p>
&lt;h3 class="relative group">Leader move
&lt;div id="leader-move-2" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#leader-move-2" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Tie AI usage to user outcomes in planning and review. Ask how a suggestion helps a user goal before you celebrate a speedup.&lt;/p>
&lt;p>&lt;strong>In practice:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Start feature discussions with the user problem, not the implementation&lt;/li>
&lt;li>When reviewing AI-generated code, ask &amp;ldquo;Does this serve the user need?&amp;rdquo;&lt;/li>
&lt;li>Measure user-facing outcomes (performance, success rates, satisfaction) alongside velocity&lt;/li>
&lt;li>Reject optimizations that don&amp;rsquo;t trace back to user value&lt;/li>
&lt;/ul>
&lt;p>AI is good at generating code. It&amp;rsquo;s terrible at understanding what your users actually need. Keep humans in the loop for that judgment.&lt;/p>
&lt;h2 class="relative group">6. Invest in platform quality
&lt;div id="6-invest-in-platform-quality" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#6-invest-in-platform-quality" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Quality internal platforms amplify AI&amp;rsquo;s positive effect on organizational performance. They also raise friction a bit, likely because guardrails block unsafe patterns.&lt;/p>
&lt;p>That&amp;rsquo;s not necessarily bad. That&amp;rsquo;s governance doing its job.&lt;/p>
&lt;h3 class="relative group">Leader move
&lt;div id="leader-move-3" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#leader-move-3" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Treat the platform as a product. Focus on golden paths, paved roads, and secure defaults. Measure adoption and developer satisfaction.&lt;/p>
&lt;p>&lt;strong>What this looks like:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Golden paths:&lt;/strong> Make the secure, reliable, approved way also the easiest way&lt;/li>
&lt;li>&lt;strong>Good defaults:&lt;/strong> Bake observability, security, and reliability into templates&lt;/li>
&lt;li>&lt;strong>Clear boundaries:&lt;/strong> Make it obvious when someone&amp;rsquo;s about to do something risky&lt;/li>
&lt;li>&lt;strong>Fast feedback:&lt;/strong> Catch issues in development, not in production&lt;/li>
&lt;/ul>
&lt;p>When AI suggests code, a good platform will catch problems early. It&amp;rsquo;s the difference between &amp;ldquo;this breaks in production&amp;rdquo; and &amp;ldquo;this won&amp;rsquo;t even compile without the right config.&amp;rdquo;&lt;/p>
&lt;h2 class="relative group">7. Use value stream management so local wins become company wins
&lt;div id="7-use-value-stream-management-so-local-wins-become-company-wins" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#7-use-value-stream-management-so-local-wins-become-company-wins" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Without value stream visibility, AI creates local pockets of speed that get swallowed by downstream bottlenecks. With VSM, the impact on organizational performance is dramatically amplified.&lt;/p>
&lt;p>If you can&amp;rsquo;t draw your value stream on a whiteboard, start there.&lt;/p>
&lt;h3 class="relative group">Leader move
&lt;div id="leader-move-4" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#leader-move-4" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>Map your value stream from idea to production. Identify bottlenecks. Measure flow time, not just individual productivity.&lt;/p>
&lt;p>&lt;strong>Questions to answer:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>How long does it take an idea to reach users?&lt;/li>
&lt;li>Where do handoffs slow things down?&lt;/li>
&lt;li>Which stages have the longest wait times?&lt;/li>
&lt;li>Is faster coding making a difference at the business layer?&lt;/li>
&lt;/ul>
&lt;p>When one team doubles their velocity but deployment still takes three weeks, you haven&amp;rsquo;t improved the system. You&amp;rsquo;ve just made the queue longer.&lt;/p>
&lt;p>VSM makes the whole system visible. It&amp;rsquo;s how you turn local improvements into company-level wins.&lt;/p>
&lt;hr>
&lt;h2 class="relative group">Quick playbooks
&lt;div id="quick-playbooks" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#quick-playbooks" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;h3 class="relative group">For developers
&lt;div id="for-developers" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#for-developers" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Commit smaller, commit more, and know your rollback shortcut.&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Add internal context to prompts when allowed.&lt;/strong> Ask for diffs that match your codebase.&lt;/li>
&lt;li>&lt;strong>Prefer five tiny PRs over one big one.&lt;/strong> Your reviewers and your on-call rotation will thank you.&lt;/li>
&lt;li>&lt;strong>Challenge AI suggestions that don&amp;rsquo;t trace back to user value.&lt;/strong> Speed without direction is waste.&lt;/li>
&lt;/ul>
&lt;h3 class="relative group">For engineering leaders
&lt;div id="for-engineering-leaders" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#for-engineering-leaders" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;ul>
&lt;li>&lt;strong>Publish and socialize an AI policy that people can actually find and understand.&lt;/strong>&lt;/li>
&lt;li>&lt;strong>Fund the data plumbing so AI can use internal context safely.&lt;/strong> This is infrastructure work that pays compound returns.&lt;/li>
&lt;li>&lt;strong>Strengthen the platform.&lt;/strong> Measure adoption and expect a bit of healthy friction from guardrails.&lt;/li>
&lt;li>&lt;strong>Run regular value stream reviews&lt;/strong> so improvements show up at the business layer, not just in the IDE.&lt;/li>
&lt;li>&lt;strong>Tie AI adoption to outcomes,&lt;/strong> not just activity. Measure user-facing results alongside velocity.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 class="relative group">The takeaway
&lt;div id="the-takeaway" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-takeaway" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>AI is an amplifier. With weak flow and unclear goals, it magnifies the mess. With good safety nets, small batches, user focus, and value stream visibility, it magnifies the good.&lt;/p>
&lt;p>The 2025 DORA report is very clear on that point, and it matches what many teams feel day to day: the tool doesn&amp;rsquo;t determine the outcome. The system around it does.&lt;/p>
&lt;p>You can start on Monday. Pick one capability, make it better, measure the result. Then pick the next one.&lt;/p>
&lt;p>That&amp;rsquo;s how you ship faster without breaking things.&lt;/p>
&lt;hr>
&lt;p>&lt;strong>Want the full data?&lt;/strong> Download the complete &lt;a
href="https://cloud.google.com/resources/content/2025-dora-ai-assisted-software-development-report"
target="_blank"
>2025 DORA State of AI-assisted Software Development Report&lt;/a>.&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/ship-faster-without-breaking-things-dora-2025/feature.png"/></item><item><title>GitHub's Double CLI Release: How Two AI Tools Are Reshaping Development Workflows</title><link>https://pinishv.com/articles/github-dual-cli-release-reshaping-development/</link><pubDate>Fri, 26 Sep 2025 00:00:00 +0000</pubDate><guid>https://pinishv.com/articles/github-dual-cli-release-reshaping-development/</guid><description>GitHub released two different CLI tools for AI in one week. Together, they represent both interactive AI partnership and autonomous development delegation. Here&amp;rsquo;s why this combination changes everything about building software.</description><content:encoded>&lt;p>This week, GitHub released not one but &lt;em>two&lt;/em> different CLI tools for AI development. Most people are focusing on the individual features. I&amp;rsquo;m seeing something bigger: &lt;strong>a significant step toward AI becoming development infrastructure rather than just an assistant.&lt;/strong>&lt;/p>
&lt;p>Here&amp;rsquo;s what actually happened: GitHub released both &lt;a
href="https://pinishv.com/shorts/github-cli-copilot-agent-task-management/"
target="_blank"
>an update to their regular CLI (version 2.80.0)&lt;/a> &lt;em>and&lt;/em> &lt;a
href="https://pinishv.com/shorts/github-copilot-cli-terminal-ai/"
target="_blank"
>a completely separate standalone Copilot CLI tool&lt;/a>. Together, they represent two different but complementary approaches to AI-powered development.&lt;/p>
&lt;p>&lt;strong>This represents a meaningful shift in how we can build and maintain software.&lt;/strong>&lt;/p>
&lt;h2 class="relative group">Two Different Tools, One Big Vision
&lt;div id="two-different-tools-one-big-vision" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#two-different-tools-one-big-vision" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Let me break down what GitHub actually released:&lt;/p>
&lt;h3 class="relative group">Tool 1: GitHub CLI 2.80.0 with Agent Tasks
&lt;div id="tool-1-github-cli-2800-with-agent-tasks" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#tool-1-github-cli-2800-with-agent-tasks" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>This updates the regular &lt;code>gh&lt;/code> CLI you already know with new &lt;a
href="https://cli.github.com/manual/gh_agent-task"
target="_blank"
>&lt;code>agent-task&lt;/code> commands&lt;/a>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Start a coding agent task and track it&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;refactor the authentication flow&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># List all your running tasks &lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task list
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Watch it work in real-time&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task view &lt;span class="m">1234&lt;/span> --log --follow
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>This solves the &amp;ldquo;black box&amp;rdquo; problem I had with the &lt;a
href="https://github.com/github/github-mcp-server/blob/main/docs/remote-server.md#additional-remote-server-toolsets"
target="_blank"
>GitHub MCP server&lt;/a>. Before, you could trigger the coding agent but had zero visibility into what it was doing. Now you can actually see the work happening and integrate it into scripts.&lt;/p>
&lt;p>For the full command reference, see &lt;a
href="https://github.com/cli/cli/releases/tag/v2.80.0"
target="_blank"
>GitHub CLI 2.80.0 release notes&lt;/a>.&lt;/p>
&lt;h3 class="relative group">Tool 2: Standalone Copilot CLI
&lt;div id="tool-2-standalone-copilot-cli" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#tool-2-standalone-copilot-cli" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>This is completely separate. You install it with &lt;code>npm install -g @github/copilot&lt;/code> and it becomes an interactive AI partner in your terminal:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Interactive mode - have a conversation&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ copilot
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;gt; Help me find all the CSV files in this directory recursively
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AI suggests: find . -name &lt;span class="s2">&amp;#34;*.csv&amp;#34;&lt;/span> -type f
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Autonomous mode - one-shot commands &lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ copilot -p &lt;span class="s2">&amp;#34;create a Python script to parse log files&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># AI writes the script, asks permission, then creates the file&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h3 class="relative group">The Key Difference
&lt;div id="the-key-difference" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-key-difference" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;p>&lt;strong>GitHub CLI agent-tasks&lt;/strong> = manage long-running coding projects (like delegating work to a team member)&lt;/p>
&lt;p>&lt;strong>Copilot CLI&lt;/strong> = interactive terminal assistance (like pair programming with AI)&lt;/p>
&lt;p>Here&amp;rsquo;s where it gets interesting. You can combine both:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Use Copilot CLI to craft the perfect task description&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ copilot -p &lt;span class="s2">&amp;#34;help me write a task description for refactoring our auth system&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Then delegate it to the coding agent&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ gh agent-task create &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="k">$(&lt;/span>copilot -p &lt;span class="s1">&amp;#39;write task: refactor auth system&amp;#39;&lt;/span>&lt;span class="k">)&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Monitor it while doing other work&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ gh agent-task view &lt;span class="nv">$TASK_ID&lt;/span> --log --follow
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>We just went from &amp;ldquo;AI helps me code&amp;rdquo; to &amp;ldquo;AI runs my entire development process.&amp;rdquo; That&amp;rsquo;s not an incremental improvement. That&amp;rsquo;s a category shift.&lt;/p>
&lt;h2 class="relative group">The Missing Piece: Context-Aware AI That Runs Everywhere
&lt;div id="the-missing-piece-context-aware-ai-that-runs-everywhere" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-missing-piece-context-aware-ai-that-runs-everywhere" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>To understand why this matters, you have to think about what makes these CLI releases fundamentally different from other AI development tools. It&amp;rsquo;s not that GitHub suddenly built smarter AI. OpenAI and Anthropic probably have better raw models. &lt;strong>What&amp;rsquo;s different is that GitHub&amp;rsquo;s AI already knows your codebase.&lt;/strong>&lt;/p>
&lt;p>When you call OpenAI&amp;rsquo;s API or use Claude directly, you&amp;rsquo;re starting fresh every time. You have to explain your architecture, your patterns, your naming conventions. You&amp;rsquo;re basically teaching the AI about your project from scratch with every interaction. It&amp;rsquo;s powerful, but it&amp;rsquo;s also exhausting.&lt;/p>
&lt;p>GitHub&amp;rsquo;s coding agent is different because it lives in your repository. It already understands your issues, your pull requests, your workflow patterns. It knows how your team writes code. And now, with CLI access, that context-aware intelligence can work automatically in your production workflows.&lt;/p>
&lt;p>Here&amp;rsquo;s what that means practically: when your monitoring system detects a performance issue, the GitHub coding agent doesn&amp;rsquo;t just get the error message. It gets your entire codebase context, recent deployments, related issues, and team patterns. When you trigger an agent-task from your CI pipeline, it&amp;rsquo;s not running generic analysis - it&amp;rsquo;s applying intelligence that already knows your specific architecture, coding standards, and business logic.&lt;/p>
&lt;h2 class="relative group">The Model Selection Catch
&lt;div id="the-model-selection-catch" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-model-selection-catch" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s something important I discovered while testing these tools: you can only choose which AI model to use with the standalone Copilot CLI, not with the agent-task commands.&lt;/p>
&lt;p>The agent-task commands are locked to whatever model GitHub has configured for their coding agent - currently Claude 4 Sonnet as of September 2025. There&amp;rsquo;s no way to switch it to GPT-5 or any other model. The standalone Copilot CLI, on the other hand, lets you pick your model by setting an environment variable before running commands.&lt;/p>
&lt;p>This creates an interesting tradeoff. The agent-tasks give you AI that truly understands your specific project context, but you&amp;rsquo;re stuck with GitHub&amp;rsquo;s model choice. The standalone CLI lets you choose between Claude or GPT-5, but each conversation starts fresh without deep knowledge of your codebase.&lt;/p>
&lt;p>In practice, this means you get context or you get control, but not both. For most workflows, I&amp;rsquo;d choose context over control - having AI that knows your repository is more valuable than being able to switch models. But for complex reasoning tasks where you need GPT-5&amp;rsquo;s capabilities, the standalone CLI becomes the better choice.&lt;/p>
&lt;h2 class="relative group">What the Web Interface Doesn&amp;rsquo;t Want You to Know
&lt;div id="what-the-web-interface-doesnt-want-you-to-know" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-the-web-interface-doesnt-want-you-to-know" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you read GitHub&amp;rsquo;s official documentation about Copilot coding agent limitations, you&amp;rsquo;ll see statements like &amp;ldquo;You cannot change the AI model&amp;rdquo; and &amp;ldquo;You cannot integrate with external systems.&amp;rdquo; Reading this, you&amp;rsquo;d think these are fundamental technical constraints.&lt;/p>
&lt;p>But the CLI releases expose these as design choices, not technical limitations. The agent-task commands let you script everything, monitor progress in real-time, and integrate with any tool that can run shell commands. The standalone Copilot CLI gives you model selection that the web interface deliberately hides.&lt;/p>
&lt;p>This reveals something important about how developer tools get designed. When companies build &amp;ldquo;user-friendly&amp;rdquo; interfaces, they often hide capabilities to avoid overwhelming users. The problem is that hiding complexity also hides possibility. The web interface trains you to think of AI as a black box you occasionally visit, rather than as programmable infrastructure you can integrate into your workflows.&lt;/p>
&lt;p>The CLI approach is different - it makes AI composable. Instead of protecting you from complexity, it gives you the tools to manage complexity. That&amp;rsquo;s the difference between convenient shortcuts and real automation.&lt;/p>
&lt;h2 class="relative group">Real Examples: What You Can Build When Both Tools Work Together
&lt;div id="real-examples-what-you-can-build-when-both-tools-work-together" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#real-examples-what-you-can-build-when-both-tools-work-together" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Once you have both an interactive AI assistant and a way to manage long-running coding tasks, the possibilities get wild. Here are some workflows, from beginner to advanced:&lt;/p>
&lt;h3 class="relative group">Simple Debug Session (Beginner-Friendly)
&lt;div id="simple-debug-session-beginner-friendly" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#simple-debug-session-beginner-friendly" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#!/bin/bash
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>&lt;span class="c1"># Use both tools to debug a failing test&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># First, get quick guidance from Copilot CLI&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">copilot -p &lt;span class="s2">&amp;#34;My test is failing with &amp;#39;connection timeout&amp;#39;. What should I check first?&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Based on the advice, let the agent investigate and fix&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;Test &amp;#39;user-login-test&amp;#39; is failing with connection timeout. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Check database connection, network config, and timeout settings. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Fix any obvious issues you find.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Monitor the progress&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task list
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h3 class="relative group">Smart Performance Monitoring (Using Both Tools)
&lt;div id="smart-performance-monitoring-using-both-tools" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#smart-performance-monitoring-using-both-tools" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#!/bin/bash
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>&lt;span class="c1"># When servers get slow, use both AIs to investigate and fix&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Note: Assumes get_cpu_usage() function is defined elsewhere&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">while&lt;/span> true&lt;span class="p">;&lt;/span> &lt;span class="k">do&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="o">[&lt;/span> &lt;span class="k">$(&lt;/span>get_cpu_usage&lt;span class="k">)&lt;/span> -gt &lt;span class="m">80&lt;/span> &lt;span class="o">]&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="k">then&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;CPU usage high, investigating...&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># First, use Copilot CLI to quickly analyze what&amp;#39;s happening&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">ANALYSIS&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="k">$(&lt;/span>copilot -p &lt;span class="s2">&amp;#34;Help me understand what might cause CPU usage of &lt;/span>&lt;span class="k">$(&lt;/span>get_cpu_usage&lt;span class="k">)&lt;/span>&lt;span class="s2">% in a web app&amp;#34;&lt;/span>&lt;span class="k">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Then delegate the actual investigation to the coding agent&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">TASK_ID&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="k">$(&lt;/span>gh agent-task create &lt;span class="s2">&amp;#34;CPU is at &lt;/span>&lt;span class="k">$(&lt;/span>get_cpu_usage&lt;span class="k">)&lt;/span>&lt;span class="s2">%. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Analysis suggests: &lt;/span>&lt;span class="nv">$ANALYSIS&lt;/span>&lt;span class="s2"> \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Investigate recent deployments and create a fix.&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --model gpt-5&lt;span class="k">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;Created task &lt;/span>&lt;span class="nv">$TASK_ID&lt;/span>&lt;span class="s2"> to investigate. Monitoring progress...&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Watch for completion and take action&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> gh agent-task view &lt;span class="nv">$TASK_ID&lt;/span> --log --follow &lt;span class="p">|&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> grep -i &lt;span class="s2">&amp;#34;pull request&amp;#34;&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> &lt;span class="k">while&lt;/span> &lt;span class="nb">read&lt;/span> pr_line&lt;span class="p">;&lt;/span> &lt;span class="k">do&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;Performance fix ready: &lt;/span>&lt;span class="nv">$pr_line&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> notify-team &lt;span class="s2">&amp;#34;AI created performance fix: &lt;/span>&lt;span class="nv">$pr_line&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">done&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> sleep &lt;span class="m">300&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">done&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h3 class="relative group">Intelligent Code Review Pipeline
&lt;div id="intelligent-code-review-pipeline" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#intelligent-code-review-pipeline" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#!/bin/bash
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>&lt;span class="c1"># Use both tools for comprehensive code reviews&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># When a new PR is created (webhook trigger)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">PR_NUMBER&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="nv">$1&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># First, get quick insights from Copilot CLI&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nv">REVIEW_FOCUS&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="k">$(&lt;/span>copilot -p &lt;span class="s2">&amp;#34;What should I look for when reviewing a PR for &lt;/span>&lt;span class="nv">$PR_TITLE&lt;/span>&lt;span class="s2">? Give me 3 key areas to focus on.&amp;#34;&lt;/span>&lt;span class="k">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Then delegate the actual review to the coding agent&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;Review PR #&lt;/span>&lt;span class="nv">$PR_NUMBER&lt;/span>&lt;span class="s2">. Focus on: &lt;/span>&lt;span class="nv">$REVIEW_FOCUS&lt;/span>&lt;span class="s2">. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Look for bugs, security issues, and maintainability problems. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Add review comments and create follow-up tasks for any issues.&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --model gpt-5
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>
&lt;h3 class="relative group">Development Workflow Orchestration
&lt;div id="development-workflow-orchestration" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#development-workflow-orchestration" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="cp">#!/bin/bash
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="cp">&lt;/span>&lt;span class="c1"># Complete development workflow using both tools&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Daily maintenance routine&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">daily_maintenance&lt;span class="o">()&lt;/span> &lt;span class="o">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Use Copilot CLI to plan what needs attention&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">PRIORITIES&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="k">$(&lt;/span>copilot -p &lt;span class="s2">&amp;#34;Look at our recent commits and issues. What are the top 3 maintenance tasks I should focus on today?&amp;#34;&lt;/span>&lt;span class="k">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;Today&amp;#39;s AI-suggested priorities: &lt;/span>&lt;span class="nv">$PRIORITIES&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Create agent tasks for each priority&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">echo&lt;/span> &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="nv">$PRIORITIES&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span> &lt;span class="p">|&lt;/span> &lt;span class="k">while&lt;/span> &lt;span class="nv">IFS&lt;/span>&lt;span class="o">=&lt;/span> &lt;span class="nb">read&lt;/span> -r task&lt;span class="p">;&lt;/span> &lt;span class="k">do&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="o">[[&lt;/span> -n &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="nv">$task&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span> &lt;span class="o">]]&lt;/span>&lt;span class="p">;&lt;/span> &lt;span class="k">then&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> gh agent-task create &lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="nv">$task&lt;/span>&lt;span class="s2"> - make it production ready&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">done&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Smart test generation from failures &lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">monitor_production_errors&lt;span class="o">()&lt;/span> &lt;span class="o">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> tail -f /var/log/app.log &lt;span class="p">|&lt;/span> grep ERROR &lt;span class="p">|&lt;/span> &lt;span class="k">while&lt;/span> &lt;span class="nb">read&lt;/span> error&lt;span class="p">;&lt;/span> &lt;span class="k">do&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Quick analysis with Copilot CLI&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nv">TEST_STRATEGY&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="k">$(&lt;/span>copilot -p &lt;span class="s2">&amp;#34;How should I test for this error: &amp;#39;&lt;/span>&lt;span class="nv">$error&lt;/span>&lt;span class="s2">&amp;#39;?&amp;#34;&lt;/span>&lt;span class="k">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="c1"># Create comprehensive tests with coding agent&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> gh agent-task create &lt;span class="s2">&amp;#34;Production error: &amp;#39;&lt;/span>&lt;span class="nv">$error&lt;/span>&lt;span class="s2">&amp;#39;. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Testing strategy: &lt;/span>&lt;span class="nv">$TEST_STRATEGY&lt;/span>&lt;span class="s2"> \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Write comprehensive tests to prevent this.&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> --model gpt-5
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">done&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="o">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>The common pattern here? &lt;strong>We&amp;rsquo;re moving from reactive to proactive.&lt;/strong> Instead of fixing problems after they happen, we&amp;rsquo;re building systems that think ahead and improve continuously.&lt;/p>
&lt;p>More importantly, &lt;strong>we&amp;rsquo;re combining quick AI assistance with deep AI work.&lt;/strong> Copilot CLI helps you think through problems fast. The coding agent executes the actual work. Together, they create workflows that are both intelligent and thorough.&lt;/p>
&lt;h2 class="relative group">The Economics Make Sense for Both Tools
&lt;div id="the-economics-make-sense-for-both-tools" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-economics-make-sense-for-both-tools" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s something interesting about the pricing: both tools use your existing Copilot subscription and count against your monthly premium request quota. The specifics matter:&lt;/p>
&lt;p>&lt;strong>Agent-task commands:&lt;/strong> Each task counts as one premium request, regardless of complexity:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># These all cost the same: 1 request each&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;fix typo in README&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;migrate our entire codebase to Python 3.12&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;do a full security audit and fix everything&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Copilot CLI:&lt;/strong> Each interaction (prompt) counts as one premium request:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Each of these is 1 request&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">copilot -p &lt;span class="s2">&amp;#34;help me write a regex&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">copilot -p &lt;span class="s2">&amp;#34;explain this error and suggest fixes&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">copilot -p &lt;span class="s2">&amp;#34;create a complete monitoring dashboard&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Important pricing details:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Premium request quotas vary by plan (check &lt;a
href="https://docs.github.com/en/copilot/about-github-copilot/about-billing-for-github-copilot"
target="_blank"
>GitHub Copilot billing docs&lt;/a>)&lt;/li>
&lt;li>You&amp;rsquo;re not charged per API call or line of code generated&lt;/li>
&lt;li>Complex tasks cost the same as simple ones within each tool&lt;/li>
&lt;/ul>
&lt;p>This pricing model encourages ambitious automation. Don&amp;rsquo;t ration your AI usage. Don&amp;rsquo;t optimize for fewer requests. Build the automation you actually want.&lt;/p>
&lt;p>&lt;strong>Strategic insight:&lt;/strong> Use Copilot CLI for quick decisions and planning. Use agent-tasks for substantial work. This optimizes your premium request budget.&lt;/p>
&lt;h2 class="relative group">Important Limitations and Security Considerations
&lt;div id="important-limitations-and-security-considerations" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#important-limitations-and-security-considerations" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>While these tools are powerful, they come with important limitations and security considerations:&lt;/p>
&lt;p>&lt;strong>Security Risks:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Copilot CLI can modify files and execute commands - only use in trusted directories&lt;/li>
&lt;li>Always review AI-generated code before running it, especially in production&lt;/li>
&lt;li>Agent-task outputs should be reviewed for security vulnerabilities before merging&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Current Limitations:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>No external integrations yet (tools work within GitHub ecosystem only)&lt;/li>
&lt;li>Agent-tasks are repo-bound (no cross-repository context)&lt;/li>
&lt;li>Both tools are in preview and may change significantly&lt;/li>
&lt;li>Limited to GitHub&amp;rsquo;s model selection (you can&amp;rsquo;t use your own AI models)&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Responsible Use:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Don&amp;rsquo;t blindly trust AI outputs - human oversight is essential&lt;/li>
&lt;li>Start with non-critical tasks while you learn the tools&amp;rsquo; behavior&lt;/li>
&lt;li>Monitor your premium request quota to avoid service interruptions&lt;/li>
&lt;li>Be mindful of sensitive data in prompts (logs may be retained)&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">We Just Crossed Multiple Lines We Can&amp;rsquo;t Uncross
&lt;div id="we-just-crossed-multiple-lines-we-cant-uncross" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#we-just-crossed-multiple-lines-we-cant-uncross" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Think about how AI coding tools have evolved, and what GitHub just delivered:&lt;/p>
&lt;p>&lt;strong>Phase 1:&lt;/strong> Autocomplete (AI suggests the next few characters)&lt;br>
&lt;strong>Phase 2:&lt;/strong> Chat (AI answers questions and helps with tasks)&lt;br>
&lt;strong>Phase 3:&lt;/strong> Interactive partnership (Copilot CLI becomes your terminal buddy)&lt;br>
&lt;strong>Phase 4:&lt;/strong> Autonomous delegation (agent-tasks work independently on projects)&lt;/p>
&lt;p>Most companies are still figuring out Phase 2. GitHub just delivered both Phase 3 and 4 at the same time.&lt;/p>
&lt;p>That&amp;rsquo;s not incremental progress. &lt;strong>That&amp;rsquo;s the difference between using AI tools and having AI colleagues.&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Interactive partnership&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ copilot
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&amp;gt; I&lt;span class="err">&amp;#39;&lt;/span>m getting a weird database error. Help me debug it.
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AI walks you through debugging step by step...
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Autonomous delegation &lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">$ gh agent-task create &lt;span class="s2">&amp;#34;Fix the database performance issues we just found&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">AI goes away and comes back with a solution...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>The combination is what makes this significant.&lt;/strong> You can brainstorm with one AI and delegate work to another. You can get instant feedback and long-term project execution. You can think fast and build thoroughly.&lt;/p>
&lt;h2 class="relative group">How Teams Will Actually Work
&lt;div id="how-teams-will-actually-work" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-teams-will-actually-work" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>The most successful engineering teams are going to figure out how to split work between humans and AI effectively, and I think the division is becoming clearer.&lt;/p>
&lt;p>Humans will still own the strategic decisions - architecture choices, priority setting, customer conversations. We&amp;rsquo;re also better at the ethical considerations and creative problem-solving when systems behave in unexpected ways. These require judgment, empathy, and the ability to see broader business context.&lt;/p>
&lt;p>AI, on the other hand, is already excellent at maintaining consistency. It can keep code quality standards across a large codebase, write comprehensive test suites, monitor for security issues, and update documentation as code changes. These tasks require attention to detail and pattern recognition, but not creativity or judgment.&lt;/p>
&lt;p>The interesting middle ground is where human expertise combines with AI execution. Code reviews will likely split this way: AI handles the mechanical checks for style violations and obvious bugs, while humans focus on logic, design decisions, and architectural implications. Planning becomes collaborative too - AI can suggest tasks based on codebase analysis, but humans decide priorities based on business needs.&lt;/p>
&lt;h2 class="relative group">Where This Is Really Heading
&lt;div id="where-this-is-really-heading" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#where-this-is-really-heading" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s the part that gets me excited: we&amp;rsquo;re building systems that can improve themselves. Once AI can write code, test it, deploy it, monitor how it performs, and learn from the results, we&amp;rsquo;re not talking about tools anymore. We&amp;rsquo;re talking about software that evolves on its own.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Imagine AI analyzing its own work&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">gh agent-task create &lt;span class="s2">&amp;#34;Look at all the code changes I&amp;#39;ve made this month. \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Which ones worked well? Which ones caused problems? \
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s2"> Update your approach based on what you learned.&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>That&amp;rsquo;s a feedback loop that gets better over time. The AI learns from its successes and failures, just like a human developer would.&lt;/p>
&lt;h2 class="relative group">What You Should Do Right Now
&lt;div id="what-you-should-do-right-now" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#what-you-should-do-right-now" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Both tools are available today, though they&amp;rsquo;re still in preview status. Before you can use them, you&amp;rsquo;ll need a GitHub Copilot Pro+ subscription, and if you&amp;rsquo;re in an organization, make sure the CLI policy is enabled. Keep in mind that since these are preview features, they may change significantly without notice.&lt;/p>
&lt;p>Getting started is straightforward - update your GitHub CLI to version 2.80.0 with &lt;code>gh --upgrade&lt;/code> and install the standalone Copilot CLI with &lt;code>npm install -g @github/copilot&lt;/code>. But the real strategy is in how you use them together.&lt;/p>
&lt;p>Start with quick wins rather than trying to automate everything at once. Use the Copilot CLI for those daily terminal tasks you&amp;rsquo;re always googling - you&amp;rsquo;ll be surprised how much faster it is than switching to a browser. For agent-tasks, pick one annoying maintenance job you do weekly and delegate that first.&lt;/p>
&lt;p>As you get comfortable, you&amp;rsquo;ll start to notice a natural rhythm emerging. The Copilot CLI becomes your thinking partner for quick questions and planning, while agent-tasks handle anything that takes more than fifteen minutes of sustained work. The real breakthrough happens when you start chaining them together - using insights from the interactive CLI to inform the work you delegate to the coding agent.&lt;/p>
&lt;p>The teams that figure out this combination first are going to operate at a completely different level. They won&amp;rsquo;t just ship faster. They&amp;rsquo;ll build intelligent systems that improve themselves while the team focuses on innovation and strategy rather than maintenance and routine tasks.&lt;/p></content:encoded><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://pinishv.com/articles/github-dual-cli-release-reshaping-development/feature.png"/></item><item><title>When CI/CD Speaks Human: A Friendly Nudge to DevOps (and Developers)</title><link>https://pinishv.com/articles/when-ci-cd-speaks-human/</link><pubDate>Wed, 17 Sep 2025 00:00:00 +0000</pubDate><guid>https://pinishv.com/articles/when-ci-cd-speaks-human/</guid><description>GitHub Next&amp;rsquo;s Agentic Workflows point to a near-future where we describe CI/CD in plain English and compile it to Actions—auditable, safe, and GitHub-native.</description><content:encoded>&lt;p>I spend my days thinking about how to make engineering teams more effective. Whether it&amp;rsquo;s rolling out AI tooling that boosts developer productivity or exploring automation that eliminates the tedious parts of our workflow, I&amp;rsquo;m always looking for that next breakthrough that will let us focus on what actually matters: building great software.&lt;/p>
&lt;p>That&amp;rsquo;s why GitHub Next&amp;rsquo;s &lt;strong>Agentic Workflows&lt;/strong> project hit me like a lightning bolt. This isn&amp;rsquo;t just another automation tool, it&amp;rsquo;s a fundamental shift in how we&amp;rsquo;ll think about CI/CD, repository management, and team coordination.&lt;/p>
&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;">
&lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/XjSl56BX-Z0?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video">&lt;/iframe>
&lt;/div>
&lt;h2 class="relative group">What&amp;rsquo;s the idea?
&lt;div id="whats-the-idea" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#whats-the-idea" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>GitHub Agentic Workflows transforms &lt;strong>natural language markdown files into GitHub Actions&lt;/strong> that are executed by AI agents. You write automation in markdown instead of complex YAML, letting AI-powered decision making handle the details while maintaining GitHub&amp;rsquo;s native security and collaboration model.&lt;/p>
&lt;p>The workflow is straightforward: install the GitHub CLI extension with &lt;code>gh extension install githubnext/gh-aw&lt;/code>, describe your automation in a markdown file with frontmatter specifying triggers and permissions, then compile it to standard Actions YAML with &lt;code>gh aw compile&lt;/code>. The system supports multiple AI engines (Claude, Codex, and others) and maintains security through sandboxed execution with minimal permissions.&lt;/p>
&lt;p>This is explicitly a &lt;strong>research demonstrator from GitHub Next and Microsoft Research&lt;/strong>, not a production product. The goal is to explore &amp;ldquo;Continuous AI&amp;rdquo;, the systematic, automated application of AI to software collaboration, and learn out in the open.&lt;/p>
&lt;p>The design is &lt;strong>Actions-first&lt;/strong> (familiar GitHub execution model) and &lt;strong>engine-neutral&lt;/strong> (swap AI backends as needed). Your markdown source remains the source of truth, while the compiled YAML integrates seamlessly with existing GitHub workflows and governance.&lt;/p>
&lt;h2 class="relative group">How this will transform DevOps teams (if used carefully)
&lt;div id="how-this-will-transform-devops-teams-if-used-carefully" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-this-will-transform-devops-teams-if-used-carefully" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve been watching multiple DevOps teams spend countless hours on repetitive investigative work—debugging CI failures, triaging flaky tests, writing post-mortems that follow the same patterns. Agentic Workflows could automate the tedious parts while keeping humans firmly in control.&lt;/p>
&lt;p>Here&amp;rsquo;s what I&amp;rsquo;m most excited about:&lt;/p>
&lt;p>&lt;strong>Automated CI failure investigation&lt;/strong> — Think &amp;ldquo;CI Doctor&amp;rdquo; workflows that automatically investigate build failures and flakiness, then open Issues with their findings and suggested actions. No more manual time spent on repetitive post-mortem analysis. The AI does the legwork; your team makes the decisions.&lt;/p>
&lt;p>&lt;strong>Effortless status reporting&lt;/strong> — Weekly research reports and daily status updates delivered as scheduled Issues. Better visibility into what&amp;rsquo;s happening across your infrastructure without modifying a single pipeline. The information just appears where your team already looks.&lt;/p>
&lt;p>&lt;strong>Organization-specific guardrails&lt;/strong> — This is crucial. Role-based execution limits, &amp;ldquo;plan→apply&amp;rdquo; workflows with human approval checkpoints, and integrated MCP tools all running in sandboxed, network-confined environments. You get the automation benefits without losing control.&lt;/p>
&lt;p>The key insight: your governance model doesn&amp;rsquo;t change. These workflows compile to standard GitHub Actions, so your existing review processes, permissions, and audit trails remain intact.&lt;/p>
&lt;h2 class="relative group">How this will supercharge Development teams
&lt;div id="how-this-will-supercharge-development-teams" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#how-this-will-supercharge-development-teams" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve watched developers get buried under the administrative overhead of modern development—triaging issues, chasing missing PR details, manually updating documentation that should sync automatically. Here&amp;rsquo;s where I see Agentic Workflows making the biggest difference:&lt;/p>
&lt;p>&lt;strong>Intelligent triage that actually works&lt;/strong> — Workflows that request missing details from issue reporters, automatically categorize and label new issues, and reduce the noise that constantly interrupts focused development time. Finally, a way to maintain issue quality without developers playing 20 questions.&lt;/p>
&lt;p>&lt;strong>PR assistance with real context&lt;/strong> — Code-aware workflows that update documentation when APIs change, check dependencies for known issues, suggest fixes when PR builds fail, and identify opportunities to improve test coverage or performance. Crucially, all delivered through PRs that developers can review and approve—never silent changes to your codebase.&lt;/p>
&lt;p>&lt;strong>Continuous research and knowledge sharing&lt;/strong> — Workflows that create Issues with summaries of relevant trends, new tools, or techniques in your domain. Instead of wondering what you&amp;rsquo;re missing in the ecosystem, the information comes to you where you already work.&lt;/p>
&lt;p>Here&amp;rsquo;s a simple example that captures the magic—an issue clarifier that runs when issues are opened:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-markdown" data-lang="markdown">&lt;span class="line">&lt;span class="cl">---
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">on:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> issues:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> types: [opened]
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">permissions: read-all
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">safe-outputs:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> add-comment:
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">---
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh"># Issue Clarifier
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="gh">&lt;/span>Analyze the current issue and ask for additional details if the issue is unclear.
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>That&amp;rsquo;s it. English instructions that compile to Actions YAML your team can review and govern.&lt;/p>
&lt;h2 class="relative group">Special caution regarding code changes
&lt;div id="special-caution-regarding-code-changes" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#special-caution-regarding-code-changes" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>Here&amp;rsquo;s where I want to be crystal clear: &lt;strong>any workflow that touches your actual codebase must go through pull requests for human review&lt;/strong>. The beauty of this system is that AI agents can suggest changes, improvements, and fixes, but they deliver them through the same PR process your team already trusts.&lt;/p>
&lt;p>I&amp;rsquo;ve seen too many automation projects fail because they bypassed human oversight. The GitHub team got this right—workflows that modify code create PRs, not direct commits. This preserves your team&amp;rsquo;s ability to review, discuss, and reject changes that don&amp;rsquo;t make sense.&lt;/p>
&lt;h2 class="relative group">My pragmatic advice
&lt;div id="my-pragmatic-advice" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#my-pragmatic-advice" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Start small and specific.&lt;/strong> Pick one repetitive task that&amp;rsquo;s eating your team&amp;rsquo;s time—issue triage, status reporting, or CI failure investigation.&lt;/li>
&lt;li>&lt;strong>Security is non-negotiable.&lt;/strong> Use the read-only defaults, explicit tool allow-lists, and human-visible outputs. This is research-grade software; treat it accordingly.&lt;/li>
&lt;li>&lt;strong>Governance doesn&amp;rsquo;t change.&lt;/strong> Because it compiles to Actions YAML, your existing review processes, branch protections, and policies still apply. This is an authoring tool, not a permission bypass.&lt;/li>
&lt;li>&lt;strong>Keep humans in the loop.&lt;/strong> The goal isn&amp;rsquo;t to eliminate human judgment—it&amp;rsquo;s to eliminate human busy work.&lt;/li>
&lt;/ul>
&lt;h2 class="relative group">Why I think this is the future
&lt;div id="why-i-think-this-is-the-future" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#why-i-think-this-is-the-future" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>I&amp;rsquo;ve spent years watching teams struggle with the gap between intent and implementation. Developers know what they want their CI/CD to do, but getting there requires wrestling with YAML syntax, learning platform-specific APIs, and debugging workflows that should just work.&lt;/p>
&lt;p>Agentic Workflows flips this: you describe what you want, and the system handles the how. Your DevOps team keeps control over policies, permissions, and infrastructure. Your developers get to focus on features instead of YAML archaeology.&lt;/p>
&lt;p>Most importantly, everything stays auditable, reviewable, and governed through the same processes your team already trusts.&lt;/p>
&lt;h2 class="relative group">Ready to try it?
&lt;div id="ready-to-try-it" class="anchor">&lt;/div>
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100 select-none">
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#ready-to-try-it" aria-label="Anchor">#&lt;/a>
&lt;/span>
&lt;/h2>
&lt;p>If you&amp;rsquo;re curious (and you should be), the quick start is genuinely quick:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Install the extension&lt;/strong>: &lt;code>gh extension install githubnext/gh-aw&lt;/code>&lt;/li>
&lt;li>&lt;strong>Add a sample workflow&lt;/strong>: &lt;code>gh aw add weekly-research -r githubnext/agentics --pr&lt;/code>&lt;/li>
&lt;li>&lt;strong>Set up your AI secret&lt;/strong>: &lt;code>gh secret set ANTHROPIC_API_KEY -a actions --body &amp;quot;&amp;lt;your-key&amp;gt;&amp;quot;&lt;/code>&lt;/li>
&lt;li>&lt;strong>Run it&lt;/strong>: &lt;code>gh aw run weekly-research&lt;/code>&lt;/li>
&lt;/ol>
&lt;p>Start with something low-risk—issue triage, status reports, or CI failure investigation. Keep approvals enabled, review everything the system generates, and learn what works for your team.&lt;/p>
&lt;p>&lt;strong>Key resources:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Main extension&lt;/strong>: &lt;a
href="https://github.com/githubnext/gh-aw"
target="_blank"
>githubnext/gh-aw&lt;/a>&lt;/li>
&lt;li>&lt;strong>Sample workflows&lt;/strong>: &lt;a
href="https://github.com/githubnext/agentics"
target="_blank"
>githubnext/agentics&lt;/a>&lt;/li>
&lt;/ul>
&lt;p>This is where engineering productivity is heading. The question isn&amp;rsquo;t whether AI will change how we automate our workflows—it&amp;rsquo;s whether we&amp;rsquo;ll be ready when it does.&lt;/p></content:encoded></item></channel></rss>