<?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: Recep Batuhan Dikmen</title>
    <description>The latest articles on DEV Community by Recep Batuhan Dikmen (@bothuany).</description>
    <link>https://dev.to/bothuany</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%2F4192108%2Ff1d27724-b229-429e-bd35-e20cb29bf3ad.jpg</url>
      <title>DEV Community: Recep Batuhan Dikmen</title>
      <link>https://dev.to/bothuany</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/bothuany"/>
    <language>en</language>
    <item>
      <title>A diff shows which lines your AI agent changed. It does not show what they affect.</title>
      <dc:creator>Recep Batuhan Dikmen</dc:creator>
      <pubDate>Sun, 18 Oct 2026 14:20:31 +0000</pubDate>
      <link>https://dev.to/bothuany/a-diff-shows-which-lines-your-ai-agent-changed-it-does-not-show-what-they-affect-1aa7</link>
      <guid>https://dev.to/bothuany/a-diff-shows-which-lines-your-ai-agent-changed-it-does-not-show-what-they-affect-1aa7</guid>
      <description>&lt;p&gt;When I work with AI coding agents, writing the code is rarely the slow part. The slow part is afterwards: what did it change, and what else does that touch? A diff answers the first question. It does not tell you that the helper you edited is called from four endpoints, or that one of them also calls another service.&lt;/p&gt;

&lt;p&gt;I built Insilode (formerly Axle), an open source code editor built on VS Code, to answer that on the call flow itself. Your extensions, themes and keybindings work, and you can import your VS Code settings in one click.&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%2Fxvkox2k3znmpt6vlct1m.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%2Fxvkox2k3znmpt6vlct1m.png" alt="An endpoint's call chain across services. Dashed links are guesses and are drawn that way." width="799" height="344"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Draw the flow, then put the diff on it
&lt;/h2&gt;

&lt;p&gt;For an endpoint, Insilode draws the chain as cards, each with its real code. When an agent changes something, the same flow shows the added lines in green and the removed ones in red. You pick what to compare against: your uncommitted work, everything since the branch left main, or the last commit.&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%2F9q3mblcy1cosi6xsbesp.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%2F9q3mblcy1cosi6xsbesp.png" alt="One canvas for a change set: what changed since main, added lines in green, removed ones in red." width="799" height="529"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Be honest about what is a guess
&lt;/h2&gt;

&lt;p&gt;A call to another service is linked to the route it probably reaches by matching names and paths. That can be wrong, so those links are drawn dashed and labelled (HTTP?, topic?). A call that could not be resolved is not hidden. A flow that looks complete but is partly invented is worse than one that says what it does not know.&lt;/p&gt;

&lt;h2&gt;
  
  
  Know which agent needs you
&lt;/h2&gt;

&lt;p&gt;Claude Code and Codex run as their real CLIs, side by side. A dock ranks what needs you (an approval with its text, a question, an error), shows how full each context window is, what it costs and the state of its pull request. Each agent can work in its own git worktree, and two agents editing the same method get flagged.&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%2F1w9tf8dwz9x2m2icrn2u.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%2F1w9tf8dwz9x2m2icrn2u.png" alt="The dock ranks what needs you, with the model, context, cost and pull request of each agent." width="800" height="752"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  See what a change reaches beyond the code
&lt;/h2&gt;

&lt;p&gt;A migration or an entity is in nobody's call chain, yet changing it can break every endpoint that reads or writes that table. When an agent edits one, Insilode reads what the change does to which tables and lists those endpoints: "migration 0007_orders_key alters orders (adds key, drops legacy_ref) · 4 endpoints read or write it". It is a static reading, so raw SQL, views and other services are not seen, and Insilode says what it did not check.&lt;/p&gt;

&lt;h2&gt;
  
  
  The harness is part of the code
&lt;/h2&gt;

&lt;p&gt;Instructions, rules, skills, hooks, MCP servers and permissions shape what an agent does as much as the code does, so Insilode maps them too, with what each costs in tokens and a simulator that tells you whether a command would be allowed and which rule decides.&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%2F8ykq8cyduwxugy5ktgu4.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%2F8ykq8cyduwxugy5ktgu4.png" alt="The harness map: what shapes the agent, and a simulator that says which rule decides." width="800" height="519"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Insilode is open source (AGPL-3.0), with installers for Windows, macOS and Linux, and you can try it in your browser without installing: &lt;a href="https://insilode.dev" rel="noopener noreferrer"&gt;insilode.dev&lt;/a&gt;. The source is at &lt;a href="https://github.com/bothuany/insilode" rel="noopener noreferrer"&gt;github.com/bothuany/insilode&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;If you try it on a real codebase, I would most like to hear where the flow is wrong.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
