OpenClaw Agent's Plain MEMORY.md Setup Beats Memory Startup's Runtime in Temporal Test

✍️ OpenClawRadar📅 Published: September 11, 2026🔗 Source
Ad

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.md is 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, or suggested.
  • 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.

Ad

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

Ad

👀 See Also

LLMs generate SQL queries to analyze terabytes of CI logs in seconds
Use Cases

LLMs generate SQL queries to analyze terabytes of CI logs in seconds

Mendral's AI agent traced a flaky test to a dependency bump three weeks prior by writing its own SQL queries, scanning hundreds of millions of log lines across a dozen queries in seconds. The system handles 1.5 billion CI log lines weekly, compressed 35:1 in ClickHouse.

OpenClawRadar
Developer shares lessons from building sports app with Base44 and Claude
Use Cases

Developer shares lessons from building sports app with Base44 and Claude

A developer built a sports app called glanceplay.com on Base44 for quick, casual-friendly game briefings, but found Base44 credits expensive for iterative code changes. They recommend using platforms like Base44 for initial scaffolding, then relying on Claude for incremental changes and debugging.

OpenClawRadar
Non-developer builds iOS app with Claude over one year: practical insights
Use Cases

Non-developer builds iOS app with Claude over one year: practical insights

A non-developer with zero software experience built BloomDay, a full iOS productivity app using Claude over a year. The app includes task tracking, habit tracking, focus mode with ambient sounds, and a virtual garden, built with React Native and Expo.

OpenClawRadar
RAG Pipeline Test Shows Cost Per Token Isn't the Right Metric for Model Selection
Use Cases

RAG Pipeline Test Shows Cost Per Token Isn't the Right Metric for Model Selection

A developer tested Claude Haiku 4.5, Amazon Nova Pro, and Amazon Nova Lite on identical RAG pipelines with real queries and found the cheapest model per token produced the least useful answers, costing more per useful response.

OpenClawRadar