The lifecycle of a stored decision seems like an important fourth question alongside where it lives, who reads it, and what it remembers. A rationale can be perfectly accurate when written and still become misleading after the architecture, dependencies, or business constraints change. At IT Path Solutions, we’ve found that durable context becomes much safer when the agent can distinguish between an active decision, a superseded one, and a decision that needs revalidation before reuse. That could make the “why” layer more than historical documentation—it becomes a piece of context with its own validity state. Otherwise, preserving the reasoning can solve one problem while quietly creating another: an agent confidently applying yesterday’s correct reasoning to today’s different system.
The distinction between remembering what happened, where the project is, and why a decision was made is probably the most useful way I’ve seen to think about agent memory.
I also liked the emphasis on the quality of what gets written rather than simply having a bigger memory store. A huge collection of transcripts isn’t very helpful if an agent still can’t understand which decisions are actually important.
The idea of keeping architectural rationale alongside the code in Git feels especially practical for teams, since it makes the “why” reviewable and versioned just like the code itself. Great read!
Watched a sharp left.running walkthrough on this kind of workflow lately. Clean build not hype. https://www.youtube.com/watch?v=Zp_F0BkqSoI
"Every one of these tools lives on the quality of what gets written into it" so true!
Great analysis on project memory for coding agents! The comparison between Claude Code auto memory and MemoryCustodian is very insightful.
Distinguishing between auto-captured session context and intentional architectural rationale is the biggest dividing line here. When tools conflate transient task memory with long-term codebase decisions, context windows get cluttered with ephemeral debugging steps instead of lasting design constraints. Keeping durable project rules separate from rolling execution state makes agent suggestions much more consistent across multi-day tasks.
This is a genuinely useful frame -- asking where it lives, who reads it, and what it remembers before comparing tools by name cuts through a lot of the noise these comparisons usually have. One gap I couldn't find addressed anywhere in the piece, the FAQ, or the spec: all four tools scope rationale to a single repository, but plenty of real decisions span repo boundaries -- a shared platform library's design choice constrains what a dozen downstream consumer repos are even allowed to build, and none of the four seem to have a way to surface or link that upstream rationale into a consumer repo's own context or memory. Drawing on our own multi-repo agent-orchestration work, that becomes a real gap once an org has more than a handful of repos with agents working across them: an agent in the consumer repo has no route to the "why" unless a human manually copies or links it over. Is that a deliberate single-repo boundary for Keep the Why, or just not solved yet?
Julian Neagu
500+ AI tools shipped solo. Founder of VisionVix.
The three-layer split makes a lot of sense. I’ve hit this with agents too — session notes pile up fast, but the decisions that matter are usually the “why”.