<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Motty Chen</title>
    <description>The latest articles on DEV Community by Motty Chen (@mottych).</description>
    <link>https://dev.to/mottych</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1157913%2Ffed9a4d5-768a-4dd8-be3a-1dc98330abaa.jpeg</url>
      <title>DEV Community: Motty Chen</title>
      <link>https://dev.to/mottych</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mottych"/>
    <language>en</language>
    <item>
      <title>AI Agents Can Write, Test and Review Code. What's Next?</title>
      <dc:creator>Motty Chen</dc:creator>
      <pubDate>Wed, 11 Nov 2026 21:17:09 +0000</pubDate>
      <link>https://dev.to/mottych/ai-agents-can-write-test-and-review-code-whats-next-49pc</link>
      <guid>https://dev.to/mottych/ai-agents-can-write-test-and-review-code-whats-next-49pc</guid>
      <description>&lt;p&gt;&lt;em&gt;From individual coding agents to governing the entire software-development process.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It wasn't that long ago that we were impressed when AI could complete a few lines of code.&lt;/p&gt;

&lt;p&gt;Now coding agents can do a hell of a lot more.&lt;/p&gt;

&lt;p&gt;They can investigate issues, propose designs, implement changes, write tests, review code, and prepare pull requests.&lt;/p&gt;

&lt;p&gt;We can run multiple agents, use subagents and skills, connect tools through MCP, and automate tasks that used to require constant interaction.&lt;/p&gt;

&lt;p&gt;That's pretty awesome!&lt;/p&gt;

&lt;p&gt;But is this where the story ends?&lt;/p&gt;

&lt;p&gt;I don't think so.&lt;/p&gt;

&lt;p&gt;In fact, after nearly six months of building an orchestration system for my own development work, I think we're entering another stage in the evolution of AI-assisted software development.&lt;/p&gt;

&lt;p&gt;And surprisingly, &lt;strong&gt;the next big challenge isn't necessarily writing better code.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's managing everything that happens around it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with having several capable agents
&lt;/h2&gt;

&lt;p&gt;I started using AI coding agents on real software projects, and I tried anything that was available at the time: Cursor, Windsurf, Claude Code, Kiro, Codex, JetBrains, Copilot, you name it. Now I work mostly with Claude Code.&lt;/p&gt;

&lt;p&gt;Eventually, the agents became capable of doing much more of the implementation work, but I was still coordinating the process, attached to the chat all day long.&lt;/p&gt;

&lt;p&gt;Which agent is working on which GitHub issue?&lt;br&gt;
Which issues depend on another issue being completed first?&lt;br&gt;
Can two agents work concurrently, or are they going to collide over the same resources?&lt;br&gt;
Did the code review fail because the implementation was wrong, or did CI fail because of an infrastructure problem?&lt;br&gt;
Does the design need another round? Is the PR ready to merge? What happens after deployment?&lt;/p&gt;

&lt;p&gt;And... where do I actually need to make a decision?&lt;/p&gt;

&lt;p&gt;I was becoming the glue holding everything together.&lt;/p&gt;

&lt;p&gt;So I figured I'd automate that coordination.&lt;br&gt;
I thought a week or two should probably do it.&lt;/p&gt;

&lt;p&gt;Yeah right :)&lt;br&gt;
  Nearly six months later, I'm still refining what became IssueFlow.&lt;/p&gt;

&lt;p&gt;The interesting part wasn't just connecting coding agents to GitHub.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The difficult part was managing a development process that doesn't always follow the same path.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  A development workflow isn't a straight line
&lt;/h2&gt;

&lt;p&gt;Consider a relatively ordinary development issue.&lt;/p&gt;

&lt;p&gt;It might need requirements analysis, design, design review, approval, implementation, code review, testing, merging and deployment.&lt;/p&gt;

&lt;p&gt;Sounds straightforward, doesn't it?&lt;/p&gt;

&lt;p&gt;Until something doesn't go according to plan.&lt;br&gt;
For example:&lt;br&gt;
A design review may find a problem and send the work back for revision, or rely on code that was not comitted yet.&lt;/p&gt;

&lt;p&gt;A test failure may require implementation rework, and sometimes redesign.&lt;/p&gt;

&lt;p&gt;A CI infrastructure failure should not necessarily send the coding agent back to rewrite perfectly good code. Sometimes GitHub was down, or I simply ran out of budget.&lt;/p&gt;

&lt;p&gt;An issue may depend on another issue, perhaps in a completely different repository.&lt;/p&gt;

&lt;p&gt;Two issues may be ready to run but require exclusive access to the same resource.&lt;/p&gt;

&lt;p&gt;And some decisions genuinely belong to a person.&lt;/p&gt;

&lt;p&gt;For example, I don't want an agent independently deciding to change an important domain model, redesign a critical user experience, or choose a new architectural pattern without involving me. Or worse - get a $2,000 bill increase from AWS.&lt;/p&gt;

&lt;p&gt;I use DDD and CQRS, and some of those choices have consequences well beyond the immediate GitHub issue.&lt;/p&gt;

&lt;p&gt;But at the same time, the goal isn't to interrupt me constantly.&lt;/p&gt;

&lt;p&gt;It's to involve me &lt;strong&gt;where judgment matters&lt;/strong&gt;, with the context I need, while letting the mechanical work continue without me.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this looks like in practice
&lt;/h2&gt;

&lt;p&gt;The following is a real workflow from my IssueFlow development environment.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7rvc1w74mbzt8da6vi31.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F7rvc1w74mbzt8da6vi31.png" alt="A real IssueFlow software-delivery workflow. Multiple stages, conditional routes, recovery paths and human decision points are managed as one development process." width="800" height="571"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The full workflow is admittedly complicated, and it was not created i one day either.&lt;/p&gt;

&lt;p&gt;That's part of the point.&lt;/p&gt;

&lt;p&gt;Software development is complicated. Coding agents help with individual activities, but the process connecting those activities still needs to be managed.&lt;/p&gt;

&lt;p&gt;Here's a smaller section of that same workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8sqqtnpulumrev4gy9s6.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F8sqqtnpulumrev4gy9s6.png" alt="Design and review stages with conditional rework routing and an explicit human approval gate before implementation." width="800" height="553"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Notice the distinction between design review and design approval.&lt;/p&gt;

&lt;p&gt;Design review examines the proposed approach.&lt;/p&gt;

&lt;p&gt;If it finds a problem, the workflow can route the work through design rework rather than blindly continuing.&lt;/p&gt;

&lt;p&gt;Then there's the human gate.&lt;/p&gt;

&lt;p&gt;I get to decide whether the design meets my expectations before implementation proceeds.&lt;/p&gt;

&lt;p&gt;I don't need to be attached to the agent's chat while it performs the other steps.&lt;/p&gt;

&lt;p&gt;And this is just one part of the workflow.&lt;/p&gt;

&lt;h2&gt;
  
  
  From coding-agent orchestration to a development control plane
&lt;/h2&gt;

&lt;p&gt;This led me to think about AI development in a whole different angle. &lt;br&gt;
We started with AI assisting developers in writing code. &lt;br&gt;
Then we moved toward agents that could complete tasks. &lt;br&gt;
Now we have multiple agents working concurrently, with increasingly sophisticated tools, skills and automation.&lt;/p&gt;

&lt;p&gt;I think the next layer is about &lt;strong&gt;managing the entire AI-powered development process&lt;/strong&gt;, across agents, repositories, issues, machines and people.&lt;/p&gt;

&lt;p&gt;This isn't just about running agents in parallel.&lt;/p&gt;

&lt;p&gt;A development control plane needs to manage several things together.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dependencies and concurrency
&lt;/h3&gt;

&lt;p&gt;An epic may contain issues spanning multiple repositories. Some can run independently. Others must wait for prerequisites. And concurrency isn't only about how many agents are available. It's also about whether the work can safely happen at the same time, avoiding unnecessary merge conflicts.&lt;/p&gt;

&lt;p&gt;In IssueFlow, dependencies and concurrency rules are explicit parts of the coordination model, including mechanisms for controlling access to shared resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  Dynamic routing based on what actually happened
&lt;/h3&gt;

&lt;p&gt;Not every issue requires the same stages.&lt;/p&gt;

&lt;p&gt;Issue type, complexity and the evidence discovered during execution can affect what happens next. &lt;/p&gt;

&lt;p&gt;A successful stage might advance the workflow.&lt;br&gt;
A failed review might trigger rework.&lt;br&gt;
An infrastructure problem might require recovery rather than another implementation attempt.&lt;br&gt;
A situation that automation can't safely resolve can be escalated to a person.&lt;/p&gt;

&lt;p&gt;The point is to make those decisions part of the managed process, instead of expecting the developer to notice and coordinate every transition.&lt;/p&gt;

&lt;h3&gt;
  
  
  Agents and processes working together
&lt;/h3&gt;

&lt;p&gt;Not everything in a development pipeline needs another LLM call.&lt;br&gt;
Some steps require reasoning or judgment. Others are deterministic operations.&lt;/p&gt;

&lt;p&gt;A workflow should be able to combine both.&lt;/p&gt;

&lt;p&gt;IssueFlow supports AI-agent frameworks alongside process executors. In my current environment, Claude Code handles agentic work, while other executors handle operations such as source-control merging and workflow utilities.&lt;/p&gt;

&lt;p&gt;The development process decides what should happen. The appropriate executor performs the work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Human gates where they matter
&lt;/h3&gt;

&lt;p&gt;I don't believe the objective should be removing humans from software development.&lt;/p&gt;

&lt;p&gt;I want to remove the mechanical coordination work while preserving the decisions that affect product intent, architecture, quality and user experience.&lt;/p&gt;

&lt;p&gt;And the right human gates aren't always the same for every issue.&lt;/p&gt;

&lt;p&gt;A small documentation change and a major domain-model redesign should not necessarily follow identical approval paths.&lt;/p&gt;

&lt;p&gt;That's why I want the workflow to make human involvement explicit and configurable.&lt;/p&gt;

&lt;h3&gt;
  
  
  Visibility, measurement and learning
&lt;/h3&gt;

&lt;p&gt;There's another part of the problem that becomes important when agents are doing more of the work.&lt;/p&gt;

&lt;p&gt;How do we know whether the development process is actually improving?&lt;/p&gt;

&lt;p&gt;IssueFlow provides visibility into execution, waiting time, failures, throughput and token consumption.&lt;/p&gt;

&lt;p&gt;That helps me investigate bottlenecks and adjust the workflow based on evidence.&lt;/p&gt;

&lt;p&gt;If an agent spends unnecessary time repeating a step, I want to know.&lt;br&gt;
If a stage sits waiting, I want to understand why.&lt;br&gt;
If I change the routing or configuration, I want to be able to evaluate whether the result improved.&lt;/p&gt;

&lt;p&gt;IssueFlow also supports a learning process where agents can propose lessons from their work, while I retain control over which lessons become ongoing rules.&lt;/p&gt;

&lt;p&gt;I don't want every mistake to become another permanent prompt instruction nobody reviews.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep your agents. Add management around them.
&lt;/h2&gt;

&lt;p&gt;One of my important design goals was not to disrupt the development environment I already had.&lt;/p&gt;

&lt;p&gt;I didn't want to replace GitHub, change my IDE, rewrite my prompts, or introduce a new coding-agent subscription.&lt;/p&gt;

&lt;p&gt;IssueFlow adds an orchestration and control layer on top.&lt;/p&gt;

&lt;p&gt;I can continue using my existing tools and workflows.&lt;br&gt;
I also don't have to be sitting in front of the workstation running the agents.&lt;br&gt;
I regularly access the IssueFlow portal through a browser to monitor progress and intervene when needed.&lt;/p&gt;

&lt;p&gt;And because IssueFlow supports MCP, my existing coding agent can help inspect, dispatch and manage workflow operations through its authorized tools.&lt;/p&gt;

&lt;p&gt;In other words, the coding agent can also become an interface to the development control plane.&lt;/p&gt;

&lt;h2&gt;
  
  
  Is this where agentic software development is heading?
&lt;/h2&gt;

&lt;p&gt;I think so.&lt;/p&gt;

&lt;p&gt;And one of the reasons is that coding-agent platforms themselves are investing in more automation, coordination and centralized management.&lt;/p&gt;

&lt;p&gt;To me, that supports the direction of the evolution.&lt;/p&gt;

&lt;p&gt;I'm not arguing that those platforms cannot orchestrate work. They can, and they're improving quickly.&lt;/p&gt;

&lt;p&gt;Nor am I claiming that IssueFlow is the only possible solution.&lt;/p&gt;

&lt;p&gt;What I'm suggesting is that &lt;strong&gt;managing the development process is becoming a problem in its own right&lt;/strong&gt;, rather than just another feature of an individual coding session.&lt;/p&gt;

&lt;p&gt;And that's the problem I've focused on with IssueFlow.&lt;/p&gt;

&lt;p&gt;I've used it to develop IssueFlow itself and Aligned On Purpose, a five-repository leadership alignment platform with augmented AI.&lt;/p&gt;

&lt;p&gt;It works for my development process, and I use it every day.&lt;/p&gt;

&lt;p&gt;But there's still a question I can't answer based only on my own experience:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How well will this approach work for other developers, with different projects, coding agents and ways of working?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's what I'm trying to find out now.&lt;/p&gt;

&lt;p&gt;If you're building real software with AI coding agents, I'd genuinely like to hear how you manage your development process today.&lt;/p&gt;

&lt;p&gt;What happens after an agent finishes its task?&lt;/p&gt;

&lt;p&gt;How do you manage dependencies, code reviews, failed checks, deployment and human decisions?&lt;/p&gt;

&lt;p&gt;And how much of that coordination still depends on you?&lt;/p&gt;

&lt;p&gt;I'm also looking for developers willing to test IssueFlow on their real workflows. I'll personally help with onboarding and would value candid feedback about what works and what needs improving.&lt;/p&gt;

&lt;p&gt;You can learn more at &lt;a href="https://www.issueflow.cloud" rel="noopener noreferrer"&gt;https://www.issueflow.cloud&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Or just tell me how you're solving the problem. I'm interested in both.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article expands on my original Substack post, &lt;a href="https://issueflow.substack.com/p/ai-agents-can-write-test-and-review" rel="noopener noreferrer"&gt;AI Agents Can Write, Test and Review Code. Now What?&lt;/a&gt;.&lt;/em&gt; &lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>programming</category>
      <category>discuss</category>
    </item>
    <item>
      <title>AI writes the code. Who owns the rest?</title>
      <dc:creator>Motty Chen</dc:creator>
      <pubDate>Wed, 28 Oct 2026 02:26:48 +0000</pubDate>
      <link>https://dev.to/mottych/ai-writes-the-code-who-owns-the-rest-8fj</link>
      <guid>https://dev.to/mottych/ai-writes-the-code-who-owns-the-rest-8fj</guid>
      <description>&lt;p&gt;I ask my coding agent to make a change. A few minutes later, it proudly presents me with code.&lt;/p&gt;

&lt;p&gt;Beautiful. Sometimes genuinely impressive.&lt;/p&gt;

&lt;p&gt;And then comes the part nobody puts in the demo.&lt;/p&gt;

&lt;p&gt;Was that actually the change I wanted? Does it work outside the agent's imagination? Who checks it? And when an unhappy client calls, am I supposed to give them GitHub's phone number? I wanted the text to be more flowing, but didn’t expect a waterfall animation of letters… &lt;/p&gt;

&lt;p&gt;The agent wrote the code. Great. &lt;strong&gt;Who owns everything that happens around it?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is not a theoretical question for me. Before building IssueFlow, I spent a ridiculous amount of time glued to the IDE, chasing agents, checking their work, and figuring out what they meant to do next. Coding was becoming the easy part. I was the unpaid traffic controller. Without the whistle.&lt;/p&gt;

&lt;h2&gt;
  
  
  “Improve the onboarding flow.” Sure. Which part?
&lt;/h2&gt;

&lt;p&gt;I got plenty of requests like that from testers.&lt;/p&gt;

&lt;p&gt;“Improve onboarding.”&lt;/p&gt;

&lt;p&gt;Helpful. Like handing a mechanic the keys and writing “Makes a funny noise” on the repair ticket. Great. Which noise? Engines aren't exactly famous for their silence. I'd probably check whether the radio was tuned to the comedy station first.&lt;/p&gt;

&lt;p&gt;Which screen? What's confusing? Is something broken? What would a better experience even look like?&lt;/p&gt;

&lt;p&gt;I often knew the person who reported it, so I could &lt;em&gt;mostly&lt;/em&gt; guess what they meant. But then I had to open the page, recreate the experience, and translate the request into something a coding agent could actually work with.&lt;/p&gt;

&lt;p&gt;Agents are fantastic at suggesting answers to vague questions. Sometimes they suggest fourteen answers, a product strategy, and a motivational speech you didn't ask for.&lt;/p&gt;

&lt;p&gt;But if we don't know where we're going, producing code faster just gets us lost with better acceleration.&lt;/p&gt;

&lt;p&gt;I don't need a five-page requirements document to change a button. I need to know which button, why we're touching it, and how we'll recognize that we fixed the right problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  The agent can code. Can it make the decision?
&lt;/h2&gt;

&lt;p&gt;Let's say the agent finds two perfectly reasonable ways to implement something. Both compile. Both pass tests. One changes how the product behaves.&lt;/p&gt;

&lt;p&gt;Should it pick one and hope I like surprises?&lt;/p&gt;

&lt;p&gt;Some questions are the agent's homework. In one of my own IssueFlow workflows, an agent got stuck because Jam credentials were missing—even though there was no Jam link in the issue. Apparently, the agent had developed its own very dry sense of humor: it was about to send a human off to fix access to a tool nobody needed.&lt;/p&gt;

&lt;p&gt;Before waking up a human, maybe check whether the thing you're panicking about is even relevant. My dog understands the difference between &lt;em&gt;the doorbell rang&lt;/em&gt; and &lt;em&gt;we need to open the door&lt;/em&gt;. Most of the time.&lt;/p&gt;

&lt;p&gt;But sometimes the choice actually belongs to a person. Maybe it changes the user experience, the scope, or a trade-off only the product owner can settle. Like a table scan that could add $200 to the cloud bill. That is a surprise I'd prefer to approve in advance.&lt;/p&gt;

&lt;p&gt;That's a good reason to stop. Just come with the options and context. Don't show up with “I need guidance” and expect me to conduct a full archaeological dig through the agent's transcript.&lt;/p&gt;

&lt;p&gt;A human approval gate should carry a decision, not simply move the burden to someone with a pulse.&lt;/p&gt;

&lt;h2&gt;
  
  
  And then the code is “done”
&lt;/h2&gt;

&lt;p&gt;Here's my favorite part.&lt;/p&gt;

&lt;p&gt;The agent announces something like: “Task completed successfully. Production ready!”&lt;/p&gt;

&lt;p&gt;Excellent. Did it test the behavior the client complained about? Did the review find another issue? Did the integration actually work? Are we ready to ship?&lt;/p&gt;

&lt;p&gt;Sometimes “done” means “I finished typing.” I also finish building things from LEGO. That doesn't mean the dinosaur has all its legs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftbku6ed9nmahvm2sl2pb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ftbku6ed9nmahvm2sl2pb.jpg" alt="A developer sits at a laptop looking mildly overwhelmed, surrounded by a patient golden retriever, a LEGO dinosaur, and reminders about unfinished work. The laptop announces “Production Ready!” while a nearby checklist shows that planning, review, deployment, and ownership still need attention. A whiteboard illustrates the steps between generating code and delivering working software. The humorous scene reinforces the article's message: AI can write the code, but someone still owns the outcome." width="800" height="418"&gt;&lt;/a&gt;&lt;br&gt;
Tests, reviews, recovery, and release decisions aren't decorations we hang on a pull request afterward. They're part of delivering good software.&lt;/p&gt;

&lt;p&gt;And “try again” is not always a recovery strategy. If the agent keeps repeating the same mistake, giving it more tokens is like asking someone who took a wrong turn to drive faster.&lt;/p&gt;

&lt;p&gt;We should know what failed, what needs to happen next, and what information the next attempt needs. Otherwise I become the person carrying the entire workflow in my head—which was exactly the job I was trying to stop doing.&lt;/p&gt;

&lt;h2&gt;
  
  
  I don't want to babysit agents. I want to own the work.
&lt;/h2&gt;

&lt;p&gt;There's an important distinction here.&lt;/p&gt;

&lt;p&gt;I don't want to approve every comma, ask for a status update every three minutes, or supervise an AI version of a school field trip.&lt;/p&gt;

&lt;p&gt;I &lt;em&gt;do&lt;/em&gt; want to know what we're building, who or what is handling each step, where human judgment matters, whether a failure has been dealt with, and what evidence says we're actually finished.&lt;/p&gt;

&lt;p&gt;That is the problem I am trying to address with IssueFlow: a delivery workflow where stages, routes, human decisions and recovery are explicit, rather than invented on the fly by whichever agent happens to be holding the keyboard.&lt;/p&gt;

&lt;p&gt;I'm not claiming that this magically eliminates defects or cuts delivery cost by some spectacular percentage. I'd want real evidence before saying that. And if it takes another ten dashboards to prove the workflow is working, we've probably created a new problem.&lt;/p&gt;

&lt;h2&gt;
  
  
  So who owns the rest?
&lt;/h2&gt;

&lt;p&gt;Not every decision needs a human. And not every decision should be quietly delegated to an agent either.&lt;/p&gt;

&lt;p&gt;The builder still owns the outcome—even if an agent writes the code, another reviews it, and a third writes an enthusiastic summary of how well everybody did.&lt;/p&gt;

&lt;p&gt;The trick is letting them do useful work without losing track of the actual job.&lt;/p&gt;

&lt;p&gt;In IssueFlow, I define the prompts, the guides, and the boundaries for when an agent should wake me up—and when it should let me enjoy the new game on my phone.&lt;/p&gt;

&lt;p&gt;I eventually built myself a three-stage escalation ladder, with me at the top. By the time an issue reaches me, I want to know what happened, what the options are, and what decision I actually need to make.&lt;/p&gt;

&lt;p&gt;I don't need another agent telling me it's confused. I already have enough confusion of my own.&lt;/p&gt;

&lt;p&gt;The point isn't to make the agents think exactly like me. It's to let me stop thinking for all of them.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>AI writes the code fast. The expensive question is what happens after something fails</title>
      <dc:creator>Motty Chen</dc:creator>
      <pubDate>Wed, 21 Oct 2026 02:30:42 +0000</pubDate>
      <link>https://dev.to/mottych/ai-writes-the-code-fast-the-expensive-question-is-what-happens-after-something-fails-5167</link>
      <guid>https://dev.to/mottych/ai-writes-the-code-fast-the-expensive-question-is-what-happens-after-something-fails-5167</guid>
      <description>&lt;p&gt;AI coding agents can implement a change ridiculously fast.&lt;/p&gt;

&lt;p&gt;That's cool.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But the party is not over yet.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In my own IssueFlow workflow, implementation is only one stop. A normal production path can still include validation, security review, code review, UI/UX review, documentation, merge, merge validation, E2E against the deployed code, and cleanup.&lt;/p&gt;

&lt;p&gt;And before implementation, there may already have been design, design review, and a human design approval.&lt;/p&gt;

&lt;p&gt;This was not imposed on me. I built it this way on purpose. Fast code is nice. Code that is actually what I meant, fits the architecture, follows the standards, survives the real product, deploys correctly, follow my crazy quality requirements, and does not create the next fire is nicer.&lt;/p&gt;

&lt;p&gt;The problem is what happens when one of those stages turns red.&lt;/p&gt;

&lt;h2&gt;
  
  
  “It failed” is not enough information
&lt;/h2&gt;

&lt;p&gt;Take merge.&lt;br&gt;
Thee are millions (almost) reason it can fail:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A merge can fail because there is a real conflict.&lt;/li&gt;
&lt;li&gt;It can fail because CI is red.&lt;/li&gt;
&lt;li&gt;It can fail because a required check never ran.&lt;/li&gt;
&lt;li&gt;It can fail because GitHub is rate limiting us, a runner is having a bad day, or the infrastructure is unavailable.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those are very different problems.&lt;/p&gt;

&lt;p&gt;IssueFlow already had a failure-reason vocabulary before this week. That lets me say things like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;merge conflict&lt;/strong&gt; → resolve the conflict (back to implementation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;real validation failure&lt;/strong&gt; → rework the code (back to implementation)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;checks timeout&lt;/strong&gt; → retry the merge&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;infrastructure fault&lt;/strong&gt; → wait/retry instead of rewriting code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;design no longer fits&lt;/strong&gt; → go back to design.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That part is useful, but it is not the change I am excited about.&lt;/p&gt;

&lt;p&gt;The harder question comes &lt;strong&gt;after recovery&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  The harder question comes after recovery
&lt;/h2&gt;

&lt;p&gt;Suppose a merge conflict sends the issue to implementation for conflict resolution.&lt;/p&gt;

&lt;p&gt;Great. The conflict is fixed.&lt;/p&gt;

&lt;p&gt;Now what?&lt;/p&gt;

&lt;p&gt;Do I send it through validation again?&lt;br&gt;
Security review?&lt;br&gt;
Code review?&lt;br&gt;
UI/UX review?&lt;br&gt;
Every single stage?&lt;/p&gt;

&lt;p&gt;Well, sometimes the answer is yes. &lt;/p&gt;

&lt;p&gt;But! Sometimes that is just burning time and tokens to prove something we already know. And that is where it hits my sleep time and my pocket.&lt;/p&gt;

&lt;p&gt;The same thing happens with a security finding.&lt;/p&gt;

&lt;p&gt;Imagine security review says a dependency needs to be updated. The agent updates the library.&lt;/p&gt;

&lt;p&gt;Do I need to re-check product intent?&lt;br&gt;
Probably not if the product behavior did not change.&lt;/p&gt;

&lt;p&gt;Do I need security and affected tests again?&lt;br&gt;
&lt;strong&gt;Absolutely.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Or maybe the rework touched only test code. Does that invalidate the UI review that already passed? Maybe not.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A failure reason tells me why the stage stopped. It does not necessarily tell me which parts of the remaining workflow still add evidence.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy22l98ohgo247lrsa3r2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fy22l98ohgo247lrsa3r2.png" alt="Comparison between static recovery, which replays implementation, validation, security review, code review, UI review and merge after a merge conflict, and evidence-aware recovery, which resolves the conflict and returns directly to merge." width="800" height="594"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Static workflows know a lot at the beginning
&lt;/h2&gt;

&lt;p&gt;When an issue enters IssueFlow, the workflow can route based on things like complexity, issue type, environment, priority, role, and other dimensions.&lt;/p&gt;

&lt;p&gt;That is already useful.&lt;/p&gt;

&lt;p&gt;A chore does not need the same path as a large feature. An epic child does not need the same entry path as a standalone issue. A production lane can demand more validation than another lane and deployment is different.&lt;/p&gt;

&lt;p&gt;But software has an annoying habit of teaching us things &lt;strong&gt;after&lt;/strong&gt; we start. I know this problem since the 90's...&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Implementation may discover that the approved design no longer fits the current codebase.&lt;/li&gt;
&lt;li&gt;A backend-looking change may turn out to affect the UI.&lt;/li&gt;
&lt;li&gt;A security fix may change only a dependency.&lt;/li&gt;
&lt;li&gt;A rework pass may touch only tests.&lt;/li&gt;
&lt;li&gt;A merge problem may turn out to be nothing more than GitHub having a bad afternoon.&lt;/li&gt;
&lt;li&gt;Or an issue may simply have gone stale because the product moved on.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Those facts do not exist when the issue first enters the workflow.&lt;br&gt;
But the agent that just handled that stage - knows!&lt;/p&gt;

&lt;h2&gt;
  
  
  Let the workflow learn while it runs
&lt;/h2&gt;

&lt;p&gt;I recently added a mechanism to IssueFlow that lets a stage set or change a routing dimension while the issue is already running.&lt;br&gt;
That new dimension becomes part of the routing state for the issue.&lt;/p&gt;

&lt;p&gt;Later routing decisions can use it.&lt;/p&gt;

&lt;p&gt;That sounds like a small detail, but it changes how I think about recovery.&lt;/p&gt;

&lt;p&gt;The stage is not inventing a new workflow. The allowed dimensions, values, routes, and stages are still defined by the workflow owner.&lt;/p&gt;

&lt;p&gt;The difference is that the workflow can now update its understanding of the work when new evidence appears.&lt;br&gt;
So the system can distinguish between:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why did this stage fail?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;and:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What did we learn that should change what happens next?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That second question can shorten the route.&lt;br&gt;
It can also make the route stronger.&lt;/p&gt;

&lt;p&gt;If implementation discovers unexpected UI impact, I may want to &lt;em&gt;add&lt;/em&gt; a UI/UX review that was not previously relevant.&lt;/p&gt;

&lt;p&gt;If the design has gone stale, I may want to go all the way back to design and approval.&lt;/p&gt;

&lt;p&gt;If a dependency was updated after a security finding, I may want security and affected validation again, but not product-intent review.&lt;/p&gt;

&lt;p&gt;The goal is not “skip more stages.”&lt;/p&gt;

&lt;p&gt;The goal is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Run the stages that still add evidence.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9dhgc0kevnzgb8iaeqib.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F9dhgc0kevnzgb8iaeqib.png" alt="Examples of new evidence changing routing: stale design routes to redesign, UI impact adds UI review, test-only changes repeat relevant validation, dependency updates repeat security checks, infrastructure failures retry, superseded work becomes not needed, and product ambiguity brings in a developer." width="800" height="594"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sometimes the correct route is no route at all
&lt;/h2&gt;

&lt;p&gt;There is another case I run into more often than I expected: the issue should not continue at all!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An issue can become stale.&lt;/li&gt;
&lt;li&gt;Another change may already have solved it.&lt;/li&gt;
&lt;li&gt;The original requirement may no longer fit the product.&lt;/li&gt;
&lt;li&gt;Or it may turn out to be outside the scope of what this workflow should do.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is why IssueFlow has &lt;strong&gt;NOT_NEEDED&lt;/strong&gt; as a first-class outcome in addition to PASSED and FAILED.&lt;/p&gt;

&lt;p&gt;A NOT_NEEDED result can carry reasons such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;superseded&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;obsolete&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;already done&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;out of scope&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That matters because “failed” means the intended work still needs to happen but something stopped us.&lt;/p&gt;

&lt;p&gt;“Not needed” means continuing the work may itself be the mistake.&lt;/p&gt;

&lt;p&gt;Sending a superseded issue back through implementation is not recovery.&lt;br&gt;
It is just a very sophisticated way to waste money.&lt;/p&gt;

&lt;h2&gt;
  
  
  This is mostly an efficiency problem for me
&lt;/h2&gt;

&lt;p&gt;I am building all of this because the economics started bothering me.&lt;/p&gt;

&lt;p&gt;The code itself can be produced very fast.&lt;/p&gt;

&lt;p&gt;Then I watch the rest of the machine spend time validating, reviewing, retrying, waiting, rebuilding context, and occasionally asking me questions where my contribution is approximately &lt;strong&gt;zilch&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;At one point my rough mental split felt close to 50/50: creative implementation effort on one side, validation/recovery/administration on the other.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;That is not a benchmark. I am now measuring it properly.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But it was enough to make me ask whether the workflow was doing too much work simply because that was the path it had always taken.&lt;/p&gt;

&lt;p&gt;And yes, there is a token bill attached to that.&lt;/p&gt;

&lt;p&gt;Some days I look at the wasted retries and think I could probably buy another computer if I could just get back the money spent proving the first computer did not need to do anything.&lt;/p&gt;

&lt;h2&gt;
  
  
  Human attention is part of the routing problem too
&lt;/h2&gt;

&lt;p&gt;I like building software.&lt;/p&gt;

&lt;p&gt;I do not particularly enjoy babysitting a merge job because GitHub decided this was a good moment to have a bad day.&lt;/p&gt;

&lt;p&gt;And, given the choice, I would rather spend that time with my wife.&lt;/p&gt;

&lt;p&gt;That does &lt;strong&gt;not&lt;/strong&gt; mean I want humans removed from the process.&lt;/p&gt;

&lt;p&gt;Quite the opposite.&lt;/p&gt;

&lt;p&gt;I want the developer involved when the developer has something valuable to add.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bring me in when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the design no longer makes sense&lt;/li&gt;
&lt;li&gt;product intent is ambiguous&lt;/li&gt;
&lt;li&gt;a security trade-off needs judgment&lt;/li&gt;
&lt;li&gt;the UI behavior is questionable&lt;/li&gt;
&lt;li&gt;a risk decision needs an owner&lt;/li&gt;
&lt;li&gt;or the issue may no longer be worth doing.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Please leave me alone when:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the runner needs a retry&lt;/li&gt;
&lt;li&gt;GitHub is rate limiting us&lt;/li&gt;
&lt;li&gt;a known recovery pattern has already been codified&lt;/li&gt;
&lt;li&gt;or the system already has enough evidence to choose the next safe step.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The ideal path is not zero human involvement.&lt;/p&gt;

&lt;p&gt;It is &lt;strong&gt;human involvement exactly where judgment changes the outcome&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I want to measure next
&lt;/h2&gt;

&lt;p&gt;The dynamic-routing mechanism is shipped.&lt;br&gt;
The efficiency improvement is still a hypothesis.&lt;/p&gt;

&lt;p&gt;I want to measure whether it actually reduces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;repeated stages after narrow rework;&lt;/li&gt;
&lt;li&gt;total agent tokens per accepted change;&lt;/li&gt;
&lt;li&gt;elapsed time from implementation to accepted result;&lt;/li&gt;
&lt;li&gt;retries by failure category;&lt;/li&gt;
&lt;li&gt;validation/administration share of total spend;&lt;/li&gt;
&lt;li&gt;and low-value developer interruptions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And I need to watch the other side too.&lt;/p&gt;

&lt;p&gt;If the workflow gets cheaper because I skipped useful evidence, that is not optimization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That is just a cheaper bug.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The quality bar stays.&lt;/p&gt;

&lt;p&gt;The question is whether the path to that quality bar can get smarter as the workflow learns.&lt;/p&gt;

&lt;h2&gt;
  
  
  The question I keep coming back to
&lt;/h2&gt;

&lt;p&gt;AI has made code generation fast enough that the expensive part is easier to see.&lt;/p&gt;

&lt;p&gt;It is not always writing the code.&lt;/p&gt;

&lt;p&gt;It is deciding what to do with the evidence that arrives afterward.&lt;/p&gt;

&lt;p&gt;Retry?&lt;br&gt;
Rework?&lt;br&gt;
Redesign?&lt;br&gt;
Repeat validation?&lt;br&gt;
Add a review?&lt;br&gt;
Skip a review whose evidence is still valid?&lt;br&gt;
Stop because the issue is no longer needed?&lt;br&gt;
Or bring in a developer because this is finally the point where human judgment matters?&lt;/p&gt;

&lt;p&gt;Now I have a new level of freedom and need to experiment and optimize, so the question i am asking myself is:&lt;br&gt;
&lt;strong&gt;When one of the agent stages fails, which parts of the remaining path still add evidence?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>An agent can suggest a lesson. Should it become a rule?</title>
      <dc:creator>Motty Chen</dc:creator>
      <pubDate>Tue, 13 Oct 2026 16:53:40 +0000</pubDate>
      <link>https://dev.to/mottych/an-agent-can-suggest-a-lesson-should-it-become-a-rule-2nl7</link>
      <guid>https://dev.to/mottych/an-agent-can-suggest-a-lesson-should-it-become-a-rule-2nl7</guid>
      <description>&lt;p&gt;If you are running an agentic workflow for coding, I am pretty sure you already know that -  sometimes an AI coding agent can get stuck for a stupid, boring reason.&lt;/p&gt;

&lt;p&gt;For example, in a recent run of my own workflow, an agent failed because it was missing Jam credentials. I use Jam to report bugs and provide a link and the MCP to the triage agent to help it understand the bug, but this run failed even though there was no Jam link to investigate. If anyone with a common sense would have worked on this issue (i.e. a human) they wouldn't worry about it, but the agent does unless you tell it: Before worrying about access, you needed to check if that access is even relevant.&lt;/p&gt;

&lt;p&gt;So in this specific instance the agent stopped, raised a huma-gate, and waited for direction. Once I responded, I would expect the agent to remember that decision... That is the sort of correction I want the next agent to use. But turning every correction into a permanent instruction creates another problem: a growing pile of rules, with nobody checking whether they still belong.&lt;/p&gt;

&lt;p&gt;Since I am the one building IssueFlow, this was a practical workflow problem for me. Here is how I approach it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Start with a specific mistake
&lt;/h2&gt;

&lt;p&gt;“&lt;em&gt;Be more careful&lt;/em&gt;” is not much of a lesson. It gives the next agent no useful test.&lt;/p&gt;

&lt;p&gt;“&lt;em&gt;Do not block on missing Jam credentials when the issue has no Jam link&lt;/em&gt;” is more concrete. It names the condition and the action to avoid.&lt;/p&gt;

&lt;p&gt;The important question is whether the proposal captures something useful beyond one task. A workaround for a single issue should not quietly become a rule for every future run. &lt;/p&gt;

&lt;h2&gt;
  
  
  A proposal is evidence, not an instruction yet
&lt;/h2&gt;

&lt;p&gt;The solution I was after is a balance between being too specific and too broad. I didn't want to send an agent a pile of 200 rules with every prompt. Those will get lost in the sea of instructions, not to mention token cost. &lt;/p&gt;

&lt;p&gt;In IssueFlow, agents can submit &lt;em&gt;learning proposals&lt;/em&gt;. A librarian agent collects, combines, and generalizes them into readable &lt;em&gt;candidate rules&lt;/em&gt;, with the actual agent instructions attached.&lt;/p&gt;

&lt;p&gt;The IssueFlow operation (a human, lol) reviews both parts: what the rule means, and what the agent will be told to do. I can approve it, edit it or reject it.&lt;/p&gt;

&lt;p&gt;That was an important part I did not want to skip. An agent can draw the wrong lesson from a failure just as easily as it can draw the wrong conclusion while coding. “This failed once” does not automatically mean “never do this.”&lt;/p&gt;

&lt;p&gt;A useful rule should explain the mistake it addresses, the condition where it applies, and the behavior it asks for. It should leave enough evidence to check the reasoning.&lt;/p&gt;

&lt;h2&gt;
  
  
  Choose where the rule belongs
&lt;/h2&gt;

&lt;p&gt;The next part in the learning system design was: which agent should even get those rules. For example, a lesson from 'design-review' does not necessarily belong in 'cleanup'. A rule about implementation does not need to take space in every unrelated stage.&lt;br&gt;
Proposals are being received from a specific agent at a specific stage, and when the librarian works on those learning (generalize, consolidate), it does it for each agent separately.&lt;/p&gt;

&lt;p&gt;IssueFlow review process lets me choose specific stages or make a rule general. The stage labels make that scope visible, and I can adjust it.&lt;/p&gt;

&lt;p&gt;This is a small decision with a real purpose: keep an instruction close to the work where it matters. More prompt text is not automatically more guidance.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fctyp04lazympsyf4q7u1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fctyp04lazympsyf4q7u1.png" alt="Agent proposes a lesson; librarian organizes it; human approves, edits or rejects it and chooses stages; usage and retirement proposals inform later review." width="800" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep reviewing the rules
&lt;/h2&gt;

&lt;p&gt;Approval is not the end of the process. I wanted to measure the effectiveness of each rule.&lt;/p&gt;

&lt;p&gt;Agents report when they use a rule. The librarian can use that history to identify rules not reported as used for a long time, and then suggest retiring the rule. I can also retire a rule manually.&lt;/p&gt;

&lt;p&gt;Not only does rule approval matter. Rejection has a purpose too. When I reject a proposal with a reason, that reason is recorded and used by the librarian when it handles similar proposals later. Otherwise, I could spend a whole week just rejecting the same idea in a slightly different hat.&lt;/p&gt;

&lt;p&gt;Note: the usage reports are signals to investigate. They are not treated as proof that the agent followed every instruction, or that a particular mistake would certainly have happened without it. &lt;/p&gt;

&lt;h2&gt;
  
  
  Learning needs human judgment too
&lt;/h2&gt;

&lt;p&gt;What I learned after implementing the self-learning system is that this provides a way to maintain instructions. It is not a promise that agents stop making mistakes, but it does help eliminate many of the recurring problems from real-life experience.&lt;/p&gt;

&lt;p&gt;The goal is: make a useful correction available to later work, keep its scope clear, and give people a way to remove advice that no longer helps. Major learning finds its way to the prompt and is retired as a rule.&lt;/p&gt;

&lt;p&gt;That leaves a question I’m still interested in: how much instruction should survive from one task to the next?&lt;/p&gt;

&lt;p&gt;If you use coding agents, how do you handle that today? Do you keep adding instructions, or do you also review and remove them?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.issueflow.cloud/#demo" rel="noopener noreferrer"&gt;Watch the short IssueFlow workflow demo&lt;/a&gt;. It shows a design approval and an unexpected decision during a real run. (The learning process described here is a separate part of the product)&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>productivity</category>
      <category>discuss</category>
    </item>
    <item>
      <title>My AI marketing agent reviewed my coding agent</title>
      <dc:creator>Motty Chen</dc:creator>
      <pubDate>Wed, 07 Oct 2026 22:30:12 +0000</pubDate>
      <link>https://dev.to/mottych/my-ai-agent-needed-another-ai-agent-apparently-were-doing-this-now-2g5e</link>
      <guid>https://dev.to/mottych/my-ai-agent-needed-another-ai-agent-apparently-were-doing-this-now-2g5e</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fovrcyfrfdx0ushh14rer.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fovrcyfrfdx0ushh14rer.png" alt="An agent needs an agent" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I asked an AI agent to help me market IssueFlow. It ended up reviewing designs from my coding agents—and catching problems in how we planned to measure signups, useful activity, and payments.&lt;/p&gt;

&lt;p&gt;That wasn’t quite the marketing help I had pictured. But here we are.&lt;/p&gt;

&lt;p&gt;I use ChatGPT to help manage the campaign: find the right people, explain the product, and help bring in customers. Ideally while I’m doing my full-time job and building two products.&lt;/p&gt;

&lt;p&gt;Looking at my calendar, then at my wife, the obvious conclusion was: “I could use some help.”&lt;/p&gt;

&lt;p&gt;So we started running ads.&lt;/p&gt;

&lt;p&gt;Then my marketing agent pointed out something inconvenient: clicks are nice, but what happens afterward?&lt;/p&gt;

&lt;p&gt;Did someone sign up? Did they complete a useful workflow? Did they become a paying customer?&lt;/p&gt;

&lt;p&gt;Fair questions. Answering them properly needed changes inside IssueFlow.&lt;/p&gt;

&lt;p&gt;So I asked the marketing agent to create the development issues. IssueFlow—which I also use to develop IssueFlow—picked them up. Its configured agents started working through triage, design, and design review.&lt;/p&gt;

&lt;p&gt;Then the first design reached an approval gate.&lt;/p&gt;

&lt;p&gt;That’s when things got interesting.&lt;/p&gt;

&lt;h2&gt;
  
  
  The requester became the reviewer
&lt;/h2&gt;

&lt;p&gt;Normally, I review the work at that gate.&lt;/p&gt;

&lt;p&gt;This time, the marketing agent had written the issues. It knew what it needed and why. So I explicitly authorized it to review the designs and approve them—or send them back.&lt;/p&gt;

&lt;p&gt;I delegated that decision for these specific issues. The system didn’t quietly decide that human approval was an outdated concept.&lt;/p&gt;

&lt;p&gt;Now we had one agent requesting a feature, other agents designing it, and the requesting agent checking whether the proposed solution actually solved its problem.&lt;/p&gt;

&lt;p&gt;An agent needed an agent.&lt;/p&gt;

&lt;p&gt;We had recreated a small software team. Thankfully, nobody scheduled a recurring alignment meeting.&lt;/p&gt;

&lt;h2&gt;
  
  
  A passing design review wasn’t enough
&lt;/h2&gt;

&lt;p&gt;The first issue covered signup tracking.&lt;/p&gt;

&lt;p&gt;Its design had already passed an automated review. But when the requesting agent checked it against the original requirements, it found gaps.&lt;/p&gt;

&lt;p&gt;How would the website pass the visitor’s identity and session information to the portal? What should happen if an event was sent, but delivery couldn’t be confirmed? How would later activity stay connected to the original visit?&lt;/p&gt;

&lt;p&gt;One subtle problem concerned time.&lt;/p&gt;

&lt;p&gt;The design used the time when information was handed over. The reviewer needed the timing tied to the actual visitor session.&lt;/p&gt;

&lt;p&gt;Those sound similar until someone leaves a tab open, returns later, and your neat little assumption starts doing interpretive dance.&lt;/p&gt;

&lt;p&gt;The agent sent the design back with specific corrections.&lt;/p&gt;

&lt;p&gt;An honest confession: I wouldn’t have caught all of this myself. I know how IssueFlow handles, well… issue flow. The details of connecting it to marketing platforms are a different area.&lt;/p&gt;

&lt;p&gt;The revised design fixed several problems. The marketing agent accepted those changes, kept the remaining concern open, and requested another focused revision. IssueFlow routed the work through its design-rework stage.&lt;/p&gt;

&lt;p&gt;Eventually, the design reached a point the requester could approve.&lt;/p&gt;

&lt;p&gt;What mattered was that the feedback stayed with the work. The next review could focus on what had changed instead of starting the whole explanation again.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most useful questions were about what the numbers meant
&lt;/h2&gt;

&lt;p&gt;The next two issues covered activation and payments.&lt;/p&gt;

&lt;p&gt;For activation, one proposed interpretation could count breaking a request into smaller child issues as meaningful progress.&lt;/p&gt;

&lt;p&gt;But that wasn’t what we wanted to measure.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Creating more work is not the same as completing useful work.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If it were, my to-do list would be our most successful customer.&lt;/p&gt;

&lt;p&gt;The requesting agent pushed back: activation should reflect a successful workflow outcome. Splitting a request into pieces wasn’t enough.&lt;/p&gt;

&lt;p&gt;At this point, I was watching agents discuss what “useful” actually meant. A surprisingly familiar software-development conversation.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh9n40aldgxg59wqenvgh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fh9n40aldgxg59wqenvgh.png" alt="The review: creating more tasks isn’t the same as delivering useful work" width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The payment design raised another question.&lt;/p&gt;

&lt;p&gt;Suppose you can verify a payment, but you haven’t finished checking the earlier payment history. Can you call it the customer’s &lt;strong&gt;first&lt;/strong&gt; payment?&lt;/p&gt;

&lt;p&gt;You know money arrived. You don’t necessarily know it was the first time.&lt;/p&gt;

&lt;p&gt;That distinction matters when you’re counting new paying customers.&lt;/p&gt;

&lt;p&gt;The revised design kept those facts separate instead of turning uncertainty into a confident-looking number.&lt;/p&gt;

&lt;p&gt;There were also corrections around consent and recovery. Analytics needed to respect consent, and a measurement failure shouldn’t prevent the customer’s actual workflow from succeeding.&lt;/p&gt;

&lt;p&gt;These weren’t just code-style preferences. They were decisions about whether the implementation would still mean what we originally asked for.&lt;/p&gt;

&lt;h2&gt;
  
  
  Approval still wasn’t a magic wand
&lt;/h2&gt;

&lt;p&gt;Once the designs were approved, implementation continued.&lt;/p&gt;

&lt;p&gt;And later checks found more problems.&lt;/p&gt;

&lt;p&gt;Code review caught implementation defects. Validation exposed missing test evidence. Related changes needed to be brought together so they would work correctly.&lt;/p&gt;

&lt;p&gt;IssueFlow routed work back for corrections as those checks required.&lt;/p&gt;

&lt;p&gt;A design gate doesn’t make everything afterward correct. It gives the work a clearer direction. Later checks still have a job to do.&lt;/p&gt;

&lt;p&gt;All three issues eventually completed, and their code reached a successful production deployment.&lt;/p&gt;

&lt;p&gt;Even then, we couldn’t announce, “Measurement solved!”&lt;/p&gt;

&lt;p&gt;Configuration and verification that the events were actually received and processed remained separate work.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Shipped code and a verified customer journey are different milestones.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That’s a distinction I want both the system and the people using it to keep making.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I’d keep—and what I’d improve
&lt;/h2&gt;

&lt;p&gt;I build IssueFlow, so this isn’t an independent customer review. It’s an account of using the product to develop the product.&lt;/p&gt;

&lt;p&gt;And it wasn’t frictionless.&lt;/p&gt;

&lt;p&gt;Some reviews required too much reading. A short summary of “what you asked us to fix, what changed, and where the evidence is” would have made the decision easier.&lt;/p&gt;

&lt;p&gt;Still, three things were useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The requester checked the meaning of the work.&lt;/strong&gt; A technically reasonable design could still measure the wrong thing.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Feedback stayed with the issue.&lt;/strong&gt; Revisions could address specific concerns without losing the earlier decisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Approval had a clear scope.&lt;/strong&gt; I chose which decisions to delegate. That didn’t remove the need for later checks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I didn’t personally type every review response. I decided who could make those decisions for this work.&lt;/p&gt;

&lt;p&gt;That’s the control I care about: being able to delegate execution and judgment deliberately, with clear boundaries and a record I can inspect.&lt;/p&gt;

&lt;p&gt;Also, apparently, having an AI agent discover the timeless software-development experience of saying:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;That’s close. But it isn’t quite what I asked for.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Some things really do survive every technology shift.&lt;/p&gt;

&lt;h2&gt;
  
  
  Want to see the workflow?
&lt;/h2&gt;

&lt;p&gt;This short demo follows a &lt;strong&gt;separate IssueFlow issue&lt;/strong&gt;. It shows a planned design approval, an unexpected agent question, and the recorded decision that lets work continue.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.issueflow.cloud/#demo" rel="noopener noreferrer"&gt;Watch our short demo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;If you’re building with coding agents, who checks that “done” still means what you originally wanted?&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;I’m the developer behind &lt;a href="https://www.issueflow.cloud/" rel="noopener noreferrer"&gt;IssueFlow&lt;/a&gt;, a workflow orchestration tool for AI coding agents. It helps automate the development process while keeping human judgment where you want it. This story comes from using it to build IssueFlow itself.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>programming</category>
      <category>devops</category>
      <category>productivity</category>
    </item>
    <item>
      <title>AI Made Me Faster at Building—But It Also Gave Me More to Supervise</title>
      <dc:creator>Motty Chen</dc:creator>
      <pubDate>Fri, 25 Sep 2026 15:34:06 +0000</pubDate>
      <link>https://dev.to/mottych/ai-made-me-faster-at-building-but-it-also-gave-me-more-to-supervise-l22</link>
      <guid>https://dev.to/mottych/ai-made-me-faster-at-building-but-it-also-gave-me-more-to-supervise-l22</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F81rec50wej6ojgjj4nat.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F81rec50wej6ojgjj4nat.png" alt="IssueFlow - My Story" width="800" height="336"&gt;&lt;/a&gt;&lt;br&gt;
I did not set out to build Issue Flow as a product.&lt;br&gt;
I built it because I was frustrated...&lt;/p&gt;

&lt;p&gt;In September 2025, I was developing a large product while working a demanding full-time job. This is a product I was planning to build for a long tine, but never had the bandwidth. AI had opened up a new kind of possibility: I could make meaningful progress in the limited time I had outside work. With an IDE, a chat interface, and early coding agents, I started building piece by piece.&lt;/p&gt;

&lt;p&gt;But as development accelerated, a different problem appeared.&lt;br&gt;
The agents could help write code. They could help investigate. They could help with individual tasks.&lt;br&gt;
What they could not do was run my entire development process in a way I trusted. With over 35 years in IT, I have my quality requirements I did not want to compromise on.&lt;br&gt;
I tried the tools that were emerging at the time: Copilot agents, Cursor, the Kiro, and others. Each solved part of the problem. But none gave me what I actually needed: a way to orchestrate work from ideation through deployment, while involving me only when my judgment was truly needed. Later, when the product was testable, the problem increased - bug reports came with very vague language, so I had to replicate them one by one to recreate the issue myself.&lt;/p&gt;

&lt;p&gt;I did not want to spend my limited time babysitting prompts.&lt;br&gt;
I wanted to decide where the human checkpoints belonged. I wanted agents to keep moving through clear work and call my attention when there was a decision, a blocker, a quality concern, or a meaningful tradeoff.&lt;br&gt;
That was the beginning of Issue Flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  The real problem was not code generation
&lt;/h2&gt;

&lt;p&gt;When people talk about AI-assisted development, the conversation often centers on how quickly an agent can generate code.&lt;br&gt;
That matters. But once you are working on a real product, code generation is only one small part of the process.&lt;/p&gt;

&lt;p&gt;Someone still has to understand an issue. Someone has to determine which repository owns it. Someone has to investigate the root cause, consider dependencies, sequence work, validate the result, and decide whether it is ready for production.&lt;/p&gt;

&lt;p&gt;New features came with their own challenges: intent alignment, business value, multi-repo coordination, understanding the persona, and other challenges the AI could not do on its own - not at the quality I needed.&lt;/p&gt;

&lt;p&gt;For a builder with limited time, this coordination becomes the bottleneck.&lt;br&gt;
At first, I created something simple for my own workflow: a way to orchestrate agents around the steps I was already taking. I designed it to stay flexible because I knew my process would evolve as the product evolved.&lt;br&gt;
And it did.&lt;/p&gt;

&lt;p&gt;The early versions had plenty of problems. Agents could crash. Detecting a completed task was not always reliable. Capacity management was inconsistent. Each failure exposed another part of the workflow that needed to become more resilient.&lt;br&gt;
By May 2026, I realized I needed to take it seriously as a product in its own right.&lt;/p&gt;

&lt;p&gt;I gave it a name: Issue Flow.&lt;/p&gt;

&lt;h2&gt;
  
  
  From vague report to production
&lt;/h2&gt;

&lt;p&gt;The need became even clearer when my original product, Aligned on Purpose, reached the stage where testers could use it.&lt;br&gt;
Testers reported issues from their own perspective, as they should. But a report such as “this screen is not working correctly” does not tell a developer whether the problem lives. Is it in the frontend, the backend, an API contract, or a different repository altogether?&lt;br&gt;
I found myself doing so much manual research that it sometimes felt faster to test the whole product myself.&lt;br&gt;
So I expanded Issue Flow.&lt;/p&gt;

&lt;p&gt;It could take a vague issue, gather available evidence such as screenshots, network activity, and logs, determine the likely root cause and responsible repository, and create the appropriate sub-issues. It could account for dependencies and concurrency before moving work into the system.&lt;/p&gt;

&lt;p&gt;Over time, it became a workflow that could take a bug report or enhancement from the initial description toward production, while bringing me in only where I could contribute real value.&lt;br&gt;
&lt;strong&gt;That distinction matters.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The goal is not to remove humans from development. The goal is to make human involvement intentional.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Control without constant supervision
&lt;/h2&gt;

&lt;p&gt;As Issue Flow became more capable, I ran into another challenge: cost.&lt;br&gt;
More automation meant more work could move at once. More work meant more token usage. Eventually, a quota limit could stop a workflow in the middle of its progress.&lt;/p&gt;

&lt;p&gt;So I added another layer of orchestration: choosing models based on issue complexity, recognizing quota limits, and switching to another available agentic framework when appropriate.&lt;br&gt;
Issue Flow is not meant to lock people into one AI provider or one way of working.&lt;/p&gt;

&lt;p&gt;Whether someone prefers Gemini, Copilot, Claude, Cursor, OpenCode, or another framework, they should be able to design a workflow that matches how they work. They should be able to define their own quality gates, approval points, escalation paths, and budget controls—without maintaining a maze of configuration files.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building the product with the product
&lt;/h2&gt;

&lt;p&gt;Today, I use Issue Flow to build Aligned on Purpose.&lt;br&gt;
I also use Issue Flow to build Issue Flow itself.&lt;br&gt;
That is the most meaningful validation I could ask for. What started as a personal solution for building alongside a full-time job has become a product for other developers and teams facing the same reality.&lt;/p&gt;

&lt;p&gt;AI can make us dramatically faster.&lt;br&gt;
But speed alone is not the answer.&lt;br&gt;
The real opportunity is to build workflows where quality stays protected, budgets stay visible, and people are involved exactly where their experience and judgment matter most.&lt;br&gt;
That is why I built Issue Flow.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>productivity</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
