Start by separating approval from memory.
The approval itself can be a short tap, reply, or confirmation. The replay room is the durable context that lets the operator, the agent, and a future reviewer understand the decision without reconstructing the whole session from raw logs.
The minimum viable replay room
A useful replay room starts with six objects: the agent request, the proposed action, the evidence bundle, the human response, the consent boundary, and the outcome. Without those pieces, the system can still claim that a person approved something, but it cannot confidently explain what the person believed they were approving.
For a text-message AI assistant, the request might be short enough to fit in SMS. The replay room should preserve the broader context that did not fit in the message: screenshots, document excerpts, payment amount, recipient, deadline, and rollback instructions.
Request
Write the agent request in human language. Avoid only storing internal tool names or opaque traces.
Evidence
Attach the artifacts the operator relied on: screenshots, diffs, extracted text, source links, and risk notes.
Boundary
Record what the approval allows, what it does not allow, and when the permission should expire.
Implementation checklist
- Create a stable approval id before asking the human.
- Snapshot the evidence bundle at the moment of approval.
- Store the exact human response, channel, and timestamp.
- Summarize the consent boundary in plain language.
- Link any browser cache, file diff, or generated output.
- Write a resume instruction for the next agent run.
What not to store alone
A bare event log, isolated SMS reply, or database boolean is too thin for high-value delegation. It may tell you that approval happened, but it does not tell a future agent whether a similar action is safe, whether the user was approving one item or a category, or whether the evidence has since changed.