Skip to content

Build1 publisher2 min readPublished

A refund the assistant promised to remember never reached the durable record

Vinoth Govindarajan of OpenAI opens an InfoQ talk with a screenshot where the reply looked healthy and the persistent path never recorded the turn. He argues production agents need one state owner, one commit path and a receipt.

The Engineer · Build desk

Photograph accompanying A refund the assistant promised to remember never reached the durable record
Photo: infoq.com

What happened

  • Vinoth Govindarajan, who works on core data and AI infrastructure at OpenAI, opened an InfoQ talk on agent harnesses with one sentence: "A user saw the reply. The system forgot it happened."
  • His example screenshot shows a user asking an agent to remember a customer refund and the assistant replying that it will remember for the next turn, with no error and no red screen shown to the user.
  • Govindarajan says he did not build OpenClaw and uses it as a public case study because its open harness is visible, applying the same review model to internal systems at OpenAI.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • constraint A team that tracks eval scores has no instrument pointed at whether its delivery path and its persistence path agree, so this class of bug survives every model upgrade.
  • exposure The miss stays invisible to the operator while it happens, and the damage surfaces turns later as a confident answer built on a record missing part of itself.
  • decision Acting on this is schema and plumbing work: naming one owner per fact and routing shared-state writes through a single commit path, ahead of any change to the model.
  • capability A receipt of attempted, approved and committed actions gives an operator something to produce after an incident, which a chat transcript of intentions cannot.

Two edges can disagree. The delivery edge is the channel the user reads, and it returned success. The persistent edge is what the next turn reads back when it rebuilds context. In the OpenClaw case Govindarajan uses, the delivery path looked healthy while the turn was not recorded in the persistent path the future context would depend on, so the next turn reasons over an incomplete record and can still answer confidently [10].

No error fires anywhere in that sequence. A crash gives you a boundary instead: something stopped, you see the error, and you can often replay from the last known good point [8]. "Silent success is worse. It's a lie," Govindarajan said [7].

Each fact gets one owner and one replay path. Shared state gets one mutable commit path, on the grounds that concurrency is fine and accidental interleaving is not. The action gets a record of what was attempted, what was approved and what was committed at the user-visible edge, and that receipt has to be its own record, separate from the transcript [13]. "If your system cannot reconstruct the fact later, it does not really own the fact," he said [14].

Those three rules line up one to one with the three questions he says a system has to answer once it can send a message, update a database or run a workflow: who owned the state, who committed first, who can show what happened [12][1].

The benchmark argument is the part I would keep. "A benchmark can tell you about model behavior. It cannot tell you whether persistent edge and the delivery edge agree," he said [11]. An eval number transfers to this failure only if the harness under test is your harness, with the same memory pipeline, the same commit path and the same ordering rules. Evals score the reply, and the hole is in the write. A test that catches this has to read the durable record back after a turn and rebuild the turn from it.

On frequency the record is thin. The evidence in the talk is one screenshot, one public case study, and a weekend of reading GitHub issues [3][6][9]. The transcript does not report how often this shape occurs relative to hallucinations or crashes [15]. The failure is worth designing against on the strength of how it hides; the talk does not measure whether it outranks the model failures.

Checking your own system is cheap. Without a test that reads back what the agent said it would remember, the miss looks like a working turn.

What to watch

  • Whether the rest of the talk defines the invariants and approval boundaries promised in its title; the transcript supplied breaks off at a heading beginning "The Mod".
  • Whether agent frameworks ship a commit receipt separate from the transcript, so approval is recorded at the boundary instead of inferred from chat logs.
  • Whether OpenClaw's public issues show this class of bug addressed in the harness or handled in prompting.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls
Loading related stories