<?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: Nirjhar Sarkar</title>
    <description>The latest articles on DEV Community by Nirjhar Sarkar (@kisuke7980).</description>
    <link>https://dev.to/kisuke7980</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%2F4201155%2F6ecbb2eb-8d38-44ce-97b1-ad83abb033ee.jpg</url>
      <title>DEV Community: Nirjhar Sarkar</title>
      <link>https://dev.to/kisuke7980</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kisuke7980"/>
    <language>en</language>
    <item>
      <title>I Built a Go Control Plane That Stops AI Agents From Drowning in Context</title>
      <dc:creator>Nirjhar Sarkar</dc:creator>
      <pubDate>Thu, 22 Oct 2026 19:47:54 +0000</pubDate>
      <link>https://dev.to/kisuke7980/i-built-a-go-control-plane-that-stops-ai-agents-from-drowning-in-context-4mb5</link>
      <guid>https://dev.to/kisuke7980/i-built-a-go-control-plane-that-stops-ai-agents-from-drowning-in-context-4mb5</guid>
      <description>&lt;p&gt;Every AI coding agent has the same bad habit: &lt;strong&gt;dump the whole repo into the prompt and hope.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The result? Slow runs, burned tokens, and confident edits to the wrong files.&lt;/p&gt;

&lt;p&gt;I got tired of it, so I built &lt;strong&gt;AI Workflow V3&lt;/strong&gt;: a single Go binary that decides &lt;em&gt;how much&lt;/em&gt; context an agent actually needs, &lt;em&gt;before&lt;/em&gt; it writes a line of code.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;The one rule: escalate capability, not context volume.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  🧠 How it works
&lt;/h2&gt;

&lt;p&gt;Give it a task, and it runs a deterministic pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Task
 → lane + risk classification   (Answer / Small / Full)
 → hard context budget
 → repo-aware retrieval         (index, BM25, structural, semantic)
 → evidence check               (sufficient / requires_exploration / abstain)
 → bounded context → agent
 → verification → compact handoff
 → verified memory only
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your agent gets a tight brief instead of a haystack:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ai-workflow setup
ai-workflow brief &lt;span class="s2"&gt;"refactor payment retry"&lt;/span&gt; &lt;span class="nt"&gt;--format&lt;/span&gt; prompt
&lt;span class="c"&gt;# agent works...&lt;/span&gt;
ai-workflow verify &lt;span class="nt"&gt;--check&lt;/span&gt; &lt;span class="s2"&gt;"go test ./..."&lt;/span&gt; &lt;span class="nt"&gt;--strict&lt;/span&gt;
ai-workflow memory add &lt;span class="nt"&gt;--type&lt;/span&gt; verified-fix &lt;span class="nt"&gt;--keywords&lt;/span&gt; &lt;span class="s2"&gt;"payment retry"&lt;/span&gt; &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nt"&gt;--summary&lt;/span&gt; &lt;span class="s2"&gt;"retry uses jittered backoff"&lt;/span&gt; &lt;span class="nt"&gt;--file&lt;/span&gt; svc/retry.go
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ⚡ What makes it different
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;📦 &lt;strong&gt;One native binary&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;No Python env. Windows, Linux, macOS, WSL.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔌 &lt;strong&gt;Built-in MCP server&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Plug into Claude Code, Cursor, Codex, Windsurf.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🗂️ &lt;strong&gt;Multi-repo discovery&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Finds nested Git roots and routes retrieval across them.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🚦 &lt;strong&gt;"Should I even edit yet?"&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Evidence states stop agents from guessing when context is thin.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🔒 &lt;strong&gt;Hardened by design&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;No shell execution, bounded output, timeouts, constrained env.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🧾 &lt;strong&gt;Replayable runs&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Hash-chained run journals show why every decision was made.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;✅ &lt;strong&gt;Memory you can trust&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;Only &lt;em&gt;verified&lt;/em&gt; fixes are saved. No junk in, no junk out.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;🛡️ &lt;strong&gt;Supply-chain safe&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;SHA-256 verified installs + GitHub build-provenance attestations.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  🔌 Connect your agent in one line
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add ai-workflow &lt;span class="nt"&gt;--&lt;/span&gt; ai-workflow &lt;span class="nt"&gt;--root&lt;/span&gt; /path/to/project mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your agent then calls &lt;code&gt;brief&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, &lt;code&gt;route&lt;/code&gt;, &lt;code&gt;search&lt;/code&gt;, &lt;code&gt;memory_search&lt;/code&gt;, &lt;code&gt;verify&lt;/code&gt;, and more natively, with no shelling out.&lt;/p&gt;

&lt;h2&gt;
  
  
  🔁 Why a V3?
&lt;/h2&gt;

&lt;p&gt;V2 was Python and proved the idea. V3 is a clean Go rewrite, and it doesn't get to call itself compatible just because features were reimplemented. Every V2 behavior counts as migrated only after a &lt;strong&gt;differential fixture&lt;/strong&gt; proves the same input gives an equivalent result.&lt;/p&gt;

&lt;h2&gt;
  
  
  🚀 Try it in 10 seconds
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/Taki7980/Ai-workflow-V3/main/install.sh | sh
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Windows:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight powershell"&gt;&lt;code&gt;&lt;span class="n"&gt;irm&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nx"&gt;https://raw.githubusercontent.com/Taki7980/Ai-workflow-V3/main/install.ps1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;|&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;iex&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;⭐ &lt;strong&gt;Repo:&lt;/strong&gt; &lt;a href="https://github.com/Taki7980/Ai-workflow-V3" rel="noopener noreferrer"&gt;https://github.com/Taki7980/Ai-workflow-V3&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;MIT licensed. Stars, issues, and brutal feedback welcome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How do you keep your agents' context under control? Drop your approach below 👇&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>go</category>
      <category>softwaredevelopment</category>
    </item>
  </channel>
</rss>
