Preserve the test contract with the trace
A useful evidence bundle begins with the question the run was meant to answer. Include the route identifier, start and goal, allowed actions, success predicate and termination rules. Add build and map identifiers, agent configuration, platform and relevant world-state inputs. Without that context, an apparently blocked character might be correctly refusing an unavailable interaction, waiting for a scheduled event or pursuing a different destination.
Give every run a stable identifier and use it across telemetry, video and report attachments. Record the harness version as well as the game version. A change in the runner’s success tolerance can alter reported outcomes without any product change. Keep the original failing artifacts intact and attach reduced reproductions separately so investigation does not overwrite the evidence that first revealed the issue.
Use a shared time reference
Log meaningful events against a consistent clock or simulation tick. Path requests, path responses, input commands, interaction events, world-state changes and termination should be orderable. For distributed tests, document clock alignment and any uncertainty. Wall-clock timestamps alone may not reveal whether a door became traversable before or after the agent attempted to pass through it.
OpenTelemetry offers concepts for correlating traces and events across systems; a game-specific harness can borrow those ideas without adopting an external service. Chrome Trace Event format and the Perfetto project provide other useful references for timeline inspection. Choose a format your team can retain and inspect locally. The important property is correlation, not the name of the visualization tool.