2
1 Comment

My AI agent quoted a client a price we killed months ago. So I built Engram.

A few weeks back, one of my AI agents quoted a client a price we had retired months earlier. It wasn't a hallucination. The dead number was sitting right there in my notes, and the agent's search ranked it above the current one, because a retired price list uses the word "price" just as often as a live one.

That was the moment I stopped trusting bolt-on "agent memory" and built my own.

Engram is an open-source, self-hosted memory layer for AI agents. It's an MCP server plus a dashboard over a plain folder of markdown files. Your agents (Claude Code, Cursor, Codex, whatever speaks MCP) read and write notes through one endpoint, the files are the source of truth, and git is the database. No vector store, no black-box "memories" you can't read.

The core idea, and the thing I'd genuinely love feedback on, is what I call authority-aware search. Normal search ranks by how well text matches your query and has no notion of which note is still true. So Engram gives every note an authority from its folder and frontmatter (locked, current, superseded, archived) and ranks by relevance x authority. A superseded note sinks below the live one, and every search result tells the agent how much to trust it. That one change is what stopped my agents from quoting dead data.

A few other things that came out of running it with several agents at once:

  • Every write is committed to git, attributed to the exact agent or human who made it. The dashboard doubles as an audit trail with per-file diffs, so I can see what changed and roll it back.
  • Per-agent tokens are read-only or read-write. A teammate's agent gets a read token and physically cannot touch the vault.
  • It reads any existing Obsidian vault as is, and draws a knowledge graph.

It's MIT, one Docker container, deploys to Railway or Render or any box with a volume.

Repo (deploy buttons in the readme): https://github.com/rwnalds/engram

The closest tools I found are hypermnesic and basic-memory, both git-backed markdown memory. The difference with Engram is the dashboard, the authority ranking, and the per-agent access control, rather than a headless server.

I'm still early and figuring out whether the authority-ranking idea generalizes past my own vault. If you run agents that keep resurfacing stale context, I'd really like to hear where this holds up or breaks for you.

posted to Icon for group Developers
Developers
on July 11, 2026
  1. 1

    What I like here is that you treated the failure as an interpretation problem rather than a retrieval problem.

    The agent already had the right information. It just couldn't distinguish between "historically true" and "currently true." That feels like a more fundamental issue than memory quality, and it's probably going to matter in a lot more agent workflows than pricing.

Trending on Indie Hackers
5 days post-launch: Top 50 on Product Hunt, zero signups, and why I think that's actually fine User Avatar 135 comments The feature you're most sure about is the one you should question first User Avatar 122 comments I built an AI fitness coach, then realized AI was only solving half my funnel User Avatar 70 comments I let 3 LLMs argue on the famous AI "Car wash: Walk or Drive" problem to prove a point. User Avatar 50 comments I built a macOS app to make mobile E2E testing less awful User Avatar 45 comments 641 downloads, 2 sales, and I still don't know why User Avatar 40 comments