Where a turn's user-facing tool logs ride: JSON bytes of
{tool call id: log} in the backend_specific_metadata of the interaction
carrying that turn's tool results. They live there rather than on a port
because that is the one part of an interaction no backend turns into provider
content -- the log must never reach the model, but a conversation replayed
from storage is poorer for its absence.
Where a turn's user-facing tool logs ride: JSON bytes of
{tool call id: log}in thebackend_specific_metadataof the interaction carrying that turn's tool results. They live there rather than on a port because that is the one part of an interaction no backend turns into provider content -- the log must never reach the model, but a conversation replayed from storage is poorer for its absence.