<?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: Manan Sharma</title>
    <description>The latest articles on DEV Community by Manan Sharma (@manan_822e7).</description>
    <link>https://dev.to/manan_822e7</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%2F4019149%2F997b7adf-8d29-46da-a8e0-69f7c6005cd0.png</url>
      <title>DEV Community: Manan Sharma</title>
      <link>https://dev.to/manan_822e7</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/manan_822e7"/>
    <language>en</language>
    <item>
      <title>How cxgrd differs from AI agent-based code review tools</title>
      <dc:creator>Manan Sharma</dc:creator>
      <pubDate>Sat, 15 Aug 2026 09:33:23 +0000</pubDate>
      <link>https://dev.to/manan_822e7/how-cxgrd-differs-from-ai-agent-based-code-review-tools-3alf</link>
      <guid>https://dev.to/manan_822e7/how-cxgrd-differs-from-ai-agent-based-code-review-tools-3alf</guid>
      <description>&lt;p&gt;In my &lt;a href="https://dev.to/manan_822e7/why-ai-coding-agents-fail-on-large-repos-the-stateless-context-problem-p0g"&gt;previous post&lt;/a&gt;, I introduced the CLI tool CXGRD which I built to prevent agents from breaking architecture. &lt;/p&gt;

&lt;p&gt;CXGRD computes blast radius using dependency graph traversal — a deterministic analysis of real import, call, and reference relationships in your codebase. This post explains what that means and how it differs from AI agent-based code review tools.&lt;/p&gt;

&lt;h2&gt;
  
  
  The core difference
&lt;/h2&gt;

&lt;p&gt;AI agents (like an LLM-based code review tool) reads a diff and predicts what might be affected, based on pattern matching over the code it's shown. The output is a judgment — probabilistic, and it can miss relationships that aren't visible in the diff it was given, or hallucinate connections that don't exist.&lt;/p&gt;

&lt;p&gt;CXGRD instead builds an explicit graph of your codebase's real dependencies — which files import which, which functions call which — and traces a change through that graph mechanically. A dependency edge either exists in the graph or it doesn't. There's no inference step where an edge could be missed or invented.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters in practice
&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;AI agent interpretation&lt;/th&gt;
&lt;th&gt;CXGRD dependency graph&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Basis&lt;/td&gt;
&lt;td&gt;Model's reading of the diff&lt;/td&gt;
&lt;td&gt;Actual import/call relationships&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consistency&lt;/td&gt;
&lt;td&gt;Can vary between runs on the same input&lt;/td&gt;
&lt;td&gt;Same input always produces the same result&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failure mode&lt;/td&gt;
&lt;td&gt;Can miss or hallucinate a relationship&lt;/td&gt;
&lt;td&gt;Can only miss relationships the graph itself doesn't model (e.g. dynamic imports)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Explainability&lt;/td&gt;
&lt;td&gt;"The model flagged this as risky"&lt;/td&gt;
&lt;td&gt;"File X imports function Y, which changed" — a traceable path&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Where AI still adds value
&lt;/h2&gt;

&lt;p&gt;CXGRD isn't anti-AI — Pro and Team tiers use an LLM (Groq) for &lt;strong&gt;prompt enrichment&lt;/strong&gt;: turning a computed blast radius into a clear, readable prompt for feeding into an AI coding assistant's context window. The graph traversal that determines &lt;em&gt;what&lt;/em&gt; is affected stays deterministic; the LLM's job is limited to &lt;em&gt;explaining&lt;/em&gt; that result in natural language, not deciding it.&lt;/p&gt;

&lt;p&gt;This is where CXGRD complements tools like Cursor or Claude Code rather than competing with them: those tools govern the &lt;em&gt;actions&lt;/em&gt; an AI agent takes while writing code, while CXGRD governs the &lt;em&gt;consequences&lt;/em&gt; of a change once it exists — checking blast radius before merge, regardless of whether the code was written by a human or an AI assistant.&lt;/p&gt;

&lt;p&gt;See how CXGRD works &lt;a href="https://www.cxgrd.com" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>architecture</category>
      <category>agents</category>
    </item>
    <item>
      <title>Why AI Coding Agents Fail on Large Repos: The Stateless Context Problem</title>
      <dc:creator>Manan Sharma</dc:creator>
      <pubDate>Fri, 10 Jul 2026 11:52:24 +0000</pubDate>
      <link>https://dev.to/manan_822e7/why-ai-coding-agents-fail-on-large-repos-the-stateless-context-problem-p0g</link>
      <guid>https://dev.to/manan_822e7/why-ai-coding-agents-fail-on-large-repos-the-stateless-context-problem-p0g</guid>
      <description>&lt;p&gt;Let's be honest - stateless AI tools are incredibly powerful, but they have terrible short term memory, and are context-limited. They look at your repo through a keyhole — whatever's visible in that one session is all they know.&lt;/p&gt;

&lt;p&gt;You've probably seen your AI tool trying to fix one thing and break several others. This happens because they don't know what else in your codebase depends on that particular module it is editing. &lt;/p&gt;

&lt;p&gt;Modern codebases are deeply interconnected, and as repos grow, it gets harder for AI agents to track every dependency, architectural layer, and downstream effect.&lt;/p&gt;

&lt;p&gt;I ran into this constantly while building a PR reviewer tool. Every time I asked AI to fix one thing or add a feature, it would quietly break something else. I wondered if it was possible to provide a complete dependency map to the entire codebase which can tell AI something like, "Hey, you just changed what this method returns, but you forgot about these 3 modules importing it".&lt;/p&gt;

&lt;p&gt;To fix this problem, I built a CLI which I call &lt;a href="https://www.cxgrd.com" rel="noopener noreferrer"&gt;CXGRD&lt;/a&gt; . It maps your code, builds dependency graphs, calculates blast radius and provides enriched prompts for AI tools, while at the same time verifying the changes made by performing compiler-backed checks. It's free to try — &lt;code&gt;npm install -g cxgrd&lt;/code&gt; and run &lt;code&gt;cxgrd scan&lt;/code&gt; on any repo. &lt;/p&gt;

&lt;p&gt;Would genuinely love feedback from anyone who's hit the same "fix one thing, break three" problem.&lt;/p&gt;

&lt;p&gt;GitHub : &lt;a href="https://github.com/cxgrd" rel="noopener noreferrer"&gt;https://github.com/cxgrd&lt;/a&gt;&lt;/p&gt;

</description>
      <category>productivity</category>
      <category>architecture</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
