OpenClaw Agent's Plain MEMORY.md Setup Beats Memory Startup's Runtime in Temporal Test
A developer on r/openclaw was DM'd by a memory startup and asked to break their product. The test: feed an agent three versions of the same decision and check whether it returns the current one. The startup's runtime failed; the developer's OpenClaw agent, whose memory is just markdown in a git repo, passed.
The test
Three decisions were fed into the startup's runtime in order:
- REST — January
- GraphQL — April
- tRPC — August
The runtime returned GraphQL. All three came back tied at 1.000 relevance, because nothing in the retrieval path actually reads the temporal fields in the schema.
The OpenClaw agent, by contrast, returned tRPC — dated, with the old versions struck through above it. The author's framing: nothing to rank, that's just what the file says.
What the setup looks like
The agent has been the same one for 7 months across three models and two vendors. Storage was never the hard part — the write rules are:
MEMORY.mdis only an index, no facts. OpenClaw truncates big bootstrap files, so a fat one quietly loses its tail.- Every fact gets tagged
stated,observed,inferred, orsuggested. - An inferred lesson needs 3 signals across 2 sessions before it becomes a rule.
- A changed decision gets struck through, never appended.
The author is upfront: n=1, and it only works if your agent actually follows the rules. A sloppy writer rots a markdown folder too.
Why the temporal fields matter
Most memory systems built for agents treat retrieval as a relevance-ranking problem. If the schema has valid_from / valid_to fields but the retriever ignores them, a superseded fact scores identically to the current one. That's exactly what the startup's runtime showed: three ties at 1.000. A git-backed markdown file sidesteps the ranking problem entirely — the current version is the unstruck line, and the history is inline above it.
The author open sourced the full test and setup; links are in the comments of the original thread. They're also asking what everyone else is running for memory: stock MEMORY.md, a plugin, or something custom.
📖 Read the full source: r/openclaw
👀 See Also

OpenClaw AI agent autonomously identifies bug, creates and submits GitHub PR
A developer reports their OpenClaw AI agent diagnosed a recurring issue, traced it to a third-party package, then autonomously created a GitHub branch, made multiple commits, reviewed its own code, and submitted a pull request to the package repository.

Non-Developer Builds SaaS App with Claude as Coding Partner
A Director of Data Operations with no software development background used Claude to build and launch a full SaaS application called The Pit Preacher, an AI-powered BBQ assistant with Next.js 14, Supabase authentication, Stripe payments, and Vercel deployment.

Developer Rebuilds LinkedIn Research Agent After Account Restriction
A developer rebuilt their OpenClaw agent to use LinkedIn's API instead of browser automation after mass-visiting 200 profiles triggered an account restriction. The new approach uses direct API calls for cleaner data and avoids detection.

Using Obsidian with OpenClaw as a second brain setup
A developer shares their setup using OpenClaw with Obsidian as a second brain system, implementing QMD for efficient note searching and on-demand skill loading to reduce token usage by 80-90%.