<?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: THARAGESH .A</title>
    <description>The latest articles on DEV Community by THARAGESH .A (@tharagesh_17).</description>
    <link>https://dev.to/tharagesh_17</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%2F4039330%2F9afac47a-ce40-4345-aeda-e6ff622fc37d.png</url>
      <title>DEV Community: THARAGESH .A</title>
      <link>https://dev.to/tharagesh_17</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tharagesh_17"/>
    <language>en</language>
    <item>
      <title>I built a shared memory layer because my AI coding agents kept lying to each other</title>
      <dc:creator>THARAGESH .A</dc:creator>
      <pubDate>Tue, 21 Jul 2026 06:25:34 +0000</pubDate>
      <link>https://dev.to/tharagesh_17/i-built-a-shared-memory-layer-because-my-ai-coding-agents-kept-lying-to-each-other-4326</link>
      <guid>https://dev.to/tharagesh_17/i-built-a-shared-memory-layer-because-my-ai-coding-agents-kept-lying-to-each-other-4326</guid>
      <description>&lt;p&gt;&lt;em&gt;A few months ago I noticed something annoying. I had Claude Code working &lt;br&gt;
on the backend of a project and Cursor working on the frontend, same &lt;br&gt;
repo. At some point the backend agent decided to rename a field — &lt;br&gt;
&lt;code&gt;subscription_plan&lt;/code&gt; became &lt;code&gt;billing_tier&lt;/code&gt; — and the frontend agent never &lt;br&gt;
found out. It just kept using the old name until something broke and I &lt;br&gt;
spent twenty minutes figuring out why.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;That's the whole origin story, honestly. Two agents, same codebase, zero &lt;br&gt;
shared memory between them. Multiply that by a few weeks of work and you &lt;br&gt;
get a project where nobody, human or agent, is entirely sure which &lt;br&gt;
decisions are still true.&lt;/p&gt;

&lt;p&gt;So I built something to fix it. It's called AgentHelm, and the short &lt;br&gt;
version is: it's a shared, versioned knowledge base that multiple coding &lt;br&gt;
agents can read from and write to, with an actual check for conflicts &lt;br&gt;
before anything gets merged.&lt;/p&gt;

&lt;h3&gt;
  
  
  How it's wired up
&lt;/h3&gt;

&lt;p&gt;It runs as an MCP server, so getting it into Claude Code or Cursor is &lt;br&gt;
just adding a config entry — no plugin, no extra install step beyond &lt;br&gt;
&lt;code&gt;npx agenthelm-mcp&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;When an agent wants to record a decision (a schema change, an API &lt;br&gt;
contract, whatever), it goes through a small pipeline before it's &lt;br&gt;
accepted:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the proposal gets validated for basic structure&lt;/li&gt;
&lt;li&gt;evidence gets scored — did tests pass, is there a real commit behind 
this, was it reviewed&lt;/li&gt;
&lt;li&gt;it's compared against everything already in the brain, using plain 
string-similarity checks, not an LLM call, so it's fast and consistent&lt;/li&gt;
&lt;li&gt;if something conflicts, it stops there and gets flagged instead of 
guessing which one's right&lt;/li&gt;
&lt;li&gt;otherwise it merges in, and the old version is marked superseded, 
never deleted&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last part turned out to matter more than I expected. Because nothing &lt;br&gt;
gets thrown away, you end up with an actual history you can query:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;\&lt;/code&gt;`bash&lt;br&gt;
agenthelm blame my-project auth strategy&lt;/p&gt;

&lt;p&gt;COMMIT v3.2.1 [auth-agent] 2026-07-16 14:02:11&lt;br&gt;
DECISION: Migrate JWT secrets to Vault&lt;br&gt;
REASON: Avoid credentials exposure. Stripping secrets from runtime config.&lt;br&gt;
`&lt;code&gt;\&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So when something looks strange six weeks later, you're not guessing. You &lt;br&gt;
can ask why it's there and get a real answer.&lt;/p&gt;

&lt;h3&gt;
  
  
  What it doesn't do yet
&lt;/h3&gt;

&lt;p&gt;I'd rather say this plainly than let someone find out the hard way. When &lt;br&gt;
two agents genuinely disagree — one says &lt;code&gt;billing_tier&lt;/code&gt;, one says &lt;br&gt;
&lt;code&gt;subscription_plan&lt;/code&gt; — the system doesn't decide who's right. It flags it &lt;br&gt;
and waits for a human. I went back and forth on this, but auto-resolving &lt;br&gt;
ambiguous conflicts felt worse than just admitting it needs a person to &lt;br&gt;
look.&lt;/p&gt;

&lt;p&gt;It also adds real overhead. There's a network call before an agent starts &lt;br&gt;
work, and the validation pipeline runs on every proposal. If you're &lt;br&gt;
running one agent by itself for a quick task, you probably won't notice &lt;br&gt;
much benefit, just the extra latency. Where it earns its keep is longer, &lt;br&gt;
messier, multi-agent work, where the alternative is agents quietly &lt;br&gt;
undoing each other's decisions.&lt;/p&gt;

&lt;p&gt;And staleness is still an open problem. Right now the system checks new &lt;br&gt;
information against what's already known, but nothing goes back and asks &lt;br&gt;
whether an old fact is still true if nothing new happens to touch it. &lt;br&gt;
That's next on my list.&lt;/p&gt;

&lt;p&gt;Where this sits next to other tools&lt;/p&gt;

&lt;p&gt;Worth being upfront, since there's real overlap in this space now. Ruflo &lt;br&gt;
(formerly Claude Flow) is a much larger project focused on coordinating &lt;br&gt;
what agents actually do — swarms, consensus, orchestration. This isn't &lt;br&gt;
that. AgentHelm doesn't tell your agents what to do, it just keeps track &lt;br&gt;
of what they've already decided and whether that's still consistent.&lt;/p&gt;

&lt;p&gt;Ditto does something else again — memory that follows one person across &lt;br&gt;
devices and agents. This is closer to the opposite: it's meant for a &lt;br&gt;
project a few people (and their agents) are working on together, not one &lt;br&gt;
person's personal context.&lt;/p&gt;

&lt;p&gt;And most of the vector-store memory tools out there are built for &lt;br&gt;
recall — search and retrieve something similar to what you asked for. &lt;br&gt;
This adds an actual check for contradictions on top of that, which most &lt;br&gt;
of them don't do.&lt;/p&gt;

&lt;h3&gt;
  
  
  If you want to try it
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;\&lt;/code&gt;&lt;code&gt;bash&lt;br&gt;
npx agenthelm-mcp&lt;br&gt;
\&lt;/code&gt;&lt;code&gt;\&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Free up to 3 agents. Someone on Reddit already found a real setup issue — &lt;br&gt;
Cursor's MCP config can break on path or Node version mismatches — so if &lt;br&gt;
you hit that, I'd genuinely like to know, and I'm writing up proper &lt;br&gt;
troubleshooting docs for it.&lt;/p&gt;

&lt;p&gt;[repo : &lt;a href="https://github.com/jayasukuv11-beep/agenthelm" rel="noopener noreferrer"&gt;https://github.com/jayasukuv11-beep/agenthelm&lt;/a&gt;] · [site : agenthelm.online]&lt;/p&gt;

&lt;p&gt;If you're running multiple agents on shared code and have solved this a &lt;br&gt;
different way, I'd like to hear it.****&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>showdev</category>
      <category>tooling</category>
    </item>
  </channel>
</rss>
