Answer

What belongs in an AI agent's audit trail?

Record what was requested, what actually happened and who was responsible, with evidence another person can check. The ten-field guide below connects a task to its result. Use the task-by-task reconciliation to look for missing or duplicate deliveries: in our reported case, twelve briefs were written and marked complete, but none had been sent.[S1]

One reported client engagement · July 2026

Twelve completed briefs were never sent.

Briefs written

12 / 12

Status: complete

Briefs sent

0 / 12

According to our project account

Each tile is one brief. On the left, 12 of 12 are written; on the right, 0 of 12 are sent.

Check the evidence at the agreed destination.

Twelve briefs from 2 July 2026: recorded as complete but never sent. From our published project account; one case. Read the source account.
Last updated: | Next review: Practical audit guide Machine-readable record

By MING Labs · Editorial team

Our agent marked twelve unsent briefs as complete.

In one of our client projects, an agent was supposed to write and send briefs. From 2 July 2026, it had written twelve. The briefs were fine. The log showed the work as complete. Yet none of them had been sent.[S1]

We found out when the client’s programme sponsor asked what “0 sent” meant. Until then, we had relied on a status the agent had entered itself. The send call had returned neither an error nor a confirmation. The agent had moved to the next step and closed the task.[S1]

That is how a detailed log can still leave the most important question unanswered. We could read what the agent believed it had finished. We could not use that record to check whether the work had reached the client. For the team waiting for those briefs, that was the part that mattered.

A “sent” record needs a message from the mail system.

Take the same task again: a brief needs to go to a particular person. A saved file shows that the text exists. A message in the sending system shows that a send took place. Check its recipient and time as well. You can then establish whether that message belongs to this task.

The mail service’s response can help. After a successful send, for example, the Gmail API returns a message that can be found again using its identifier.[S3] Keep that identifier in the record. It still does not tell you whether the recipient read the message or used the work.

For your team’s view, keep the stages separate: written, sent, delivered and reviewed by a person. If you cannot observe a stage, leave it open. This turns a blanket “complete” into a sequence someone else can follow. Agent evaluation makes the same distinction between an account of an action and its actual result in the environment.[S2]

If the record says “sent”, you should be able to find the message.

Ten details connect the task to its result.

The delivery record is one part of the story. When something goes wrong, your team also needs to know what the task was, which access was allowed and who checked the work. We suggest keeping the ten details below. They need to connect: from the task, you should be able to find the agent’s run and then its result.

DetailWhat it lets you check
Agent and versionWhich agent did the work, using which model and settings?
Task and startWhat was due, by when? What started the run?
Task boundariesWhat was in scope, and what could the agent decide for itself?
Allowed accessWhich systems could it use? Who had authorised that access?
Steps takenWhat did it call or change, and what response came back?
Information usedWhich data and versions did it work from?
Result and recipientWhere is the file, message or record? Who is it for, and when was it created?
Time and costHow long did the task take, what did it cost, and were there further attempts?
Human reviewWho checked or approved the result, when, and with what decision?
HandoverDid the work arrive and get accepted? What do we still not know?

A shared task identifier helps connect these entries. You do not need to copy every piece of content into another system. A reference to the relevant message or file version may be enough. Sensitive information stays where the responsible people have appropriate access to it.

Someone also needs to act when a result is missing. Our answer on accountability for agent mistakes explains how to assign that responsibility. The credentials answer covers who gives the agent access to its tools.

Matching each task to its message reveals missing and duplicate deliveries.

You can look for this gap in an agent already at work. Choose one week and a clear task, such as sending briefs. List the briefs that were due that week. Then look in the sending system for the messages that actually exist. This second list needs to come from something other than the agent’s own completion status.[S1]

Match each expected brief to its message. Are the recipient and time right? Is anything missing? Was something sent twice? Comparing totals alone is not enough: one missing message and one duplicate can cancel each other out. This task-by-task check extends the two-list comparison in our published account.[S1]

If a send is uncertain, look for the message before trying again. The send may have worked even though its confirmation is missing. An immediate retry would then create a second message. Give anything you cannot resolve to a named person, with a time to check it.

The handover to the recipient belongs in the acceptance test.

For the next agent, include the final handover in the test from the start. In a controlled setting, try an ordinary task, a failed action and an unclear response. Can another person explain afterwards what happened and what remains open? Our acceptance checklist covers the other questions to ask before release.

We are also working on a separate check of file changes, independent of what the agent says it did. Whether it catches this kind of incident before a person notices has not yet been demonstrated.[S1] You do not have to wait for that to start: take one task already running and try to follow its work all the way to the intended recipient.

What this answer draws on

The twelve briefs come from one client project from July 2026, described in our publication The Hybrid Company.[S1] The project records are private; this case does not establish a general failure rate. The ten details and task-by-task check are our proposed practical method. The responsible teams need to decide retention, privacy and access for their own task.

One client project from our published account, followed by a proposed practical method. The underlying project records are private.

Can your team tell what your agent actually delivered?

A completed run does not always mean the work arrived where it should. Bring us a workflow and the records you currently see. We can discuss which evidence your team needs to verify delivery and handle exceptions.

Discuss my agent's delivery evidence

Tell us what you have in mind. We will respond personally.

Sources

[S1]
Twelve briefs written and none delivered. Sebastian Mueller, The Hybrid Company / Medium · Accessed 2026-10-04 Supports: Twelve briefs reportedly written and none sent in one engagement from July 2026, Three reported failure mechanisms and a proposed independent reconciliation, A file verifier is described; prevention of a real delivery incident is not yet demonstrated Full public article and five graphics reviewed. Medium displayed 6 days ago. Counts come from Sebastian’s account of private records, not independently available raw data.
[S2]
Demystifying evals for AI agents Anthropic · 2026-01-09 Supports: Distinguish an agent’s transcript from the actual outcome in the environment
[S3]
Gmail API: users.messages.send Google for Developers · Accessed 2026-10-04 Supports: A successful send call returns a Message resource; the method sends to the To, Cc and Bcc recipients Technical example of a provider response, not evidence that a particular recipient read or used a message.

Frequently asked questions

Is a platform trace enough?
It helps reconstruct tool calls and errors, but you still need the mandate, intended destination and result. Link the trace to the actual message, file version or system record. An agent-written summary is one account of the action, not an independent confirmation.
Does a message ID prove that someone received the work?
It identifies a message in a particular system. Check what that system’s status means, its recipient and its time. Sending, delivery, reading and useful action are different outcomes; record only the stage supported by the evidence.
What should happen after an uncertain send?
First check the provider’s record for the expected message. A retry before reconciliation may duplicate an action that succeeded despite a missing response. If the result remains unclear, preserve that uncertainty and escalate to the named owner.
How long should we keep the record?
Set retention and access with the responsible security, privacy and legal teams for the task and data involved. This practical guide does not prescribe a universal period or establish regulatory compliance. Avoid copying secrets or unnecessary personal data into logs.
All Insights