An AI agent is only as good as what it knows at the moment it runs.
Without memory, every run starts from zero. The agent sees a commit, does its job, and forgets everything. It will flag the same pattern tomorrow that it flagged today. It will never get better at understanding this project, this team, these recurring mistakes.
With naive memory — just appending observations forever — you get the opposite problem. The memory grows, stales, contradicts itself. Old conventions that no longer apply. Patterns from a refactored module that doesn't exist anymore. The agent drowns in its own history and starts making confident decisions based on irrelevant past.
Neither is acceptable for a system meant to run in production, indefinitely, across multiple projects.
Memory should behave like collective human knowledge in a team.
When one developer notices something once, it's a hunch. When three developers notice the same thing independently, it becomes a convention. When nobody has seen it in months, it fades. When the codebase changes and the pattern disappears, the knowledge disappears with it — naturally, without anyone having to manually clean it up.
This is what the scoring system emulates :
- +10 every time an observation is confirmed by any agent on any run
- -1 on every run, regardless — slow, constant decay
- Cap at 100 — no pattern becomes untouchable
- Floor at 0 — death. Clean, automatic, no ghosts.
A pattern that is real and recurring will be seen again and again. It will stay alive. A pattern that was a one-time anomaly will fade within weeks. The memory self-regulates.
This is a critical architectural decision.
Agents are generic. They are templates — SIMILARITY-HUNTER, ERROR-CHECKER, MEMORY-CURATOR — deployed identically across every project. They have no intrinsic knowledge of what they are reviewing.
Projects are specific. Project A has its own stack, its own conventions, its own recurring mistakes, its own history of bad commits. Project B has entirely different ones.
The memory belongs to the project, not to the agent.
When SIMILARITY-HUNTER runs on a project, it loads that project's memory. When it runs on another, it loads that one's memory. Same agent, different context, different intelligence. The agent is the tool. The memory is the knowledge.
This also means memory is owned and auditable by the team working on that project. It is not a black box inside an agent. It is a versioned markdown file, in a git repo, that a human can read, edit, and understand at any time.
Not all knowledge is equal.
Hard memory is written and maintained by humans. Stack conventions, architectural decisions, non-negotiable rules. It does not decay. It is not touched by agents. It is the foundation.
Soft memory is written by agents, curated by MEMORY-CURATOR. Observed patterns, recurring issues, emerging conventions. It lives, scores, and dies on its own. It is the accumulation of machine observation over time.
Agents read both. Agents write only to soft memory. Humans manage hard memory. Neither crosses into the other's territory.
MEMORY-CURATOR is not a reviewer. It does not look at code.
It is the janitor, the librarian, and the statistician of the system — all at once.
It runs periodically. It reads what every agent has observed since its last run. It promotes confirmed patterns, decays cold ones, and deletes dead ones. It keeps the soft memory honest.
Without it, the system accumulates noise. With it, the memory stays lean, relevant, and trustworthy.
It is the least glamorous agent in the system. It is also the one that makes every other agent smarter over time.
After weeks and months of running, the system develops a genuine understanding of each project it monitors.
It knows which parts of the codebase are fragile. It knows which patterns this team tends to miss. It knows what a "normal" commit looks like versus an anomalous one. It knows the difference between a one-time mistake and a systemic problem.
This is not AGI. It is not magic. It is pattern recognition accumulated over time, scored by frequency, kept honest by decay, and made transparent by a simple markdown file anyone can read.
It is what a senior developer does naturally after years on a project — except it never forgets a run, never gets tired, and works across every project simultaneously.
- Memory belongs to the project, not the agent.
- Frequency builds confidence. Absence erodes it.
- No entry is permanent. Everything decays.
- Humans own the foundation. Agents own the accumulation.
- Transparency over magic — memory is always a readable file.