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

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.

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.

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.

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.