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