Begin with one question that can change the review outcome
“Summarize this run” is too broad. Better questions are “did the agent validate the changed code after its last edit?”, “did this MCP tool access paths outside the declared scope?”, or “which phase explains the latency regression?” The question determines which commands, file effects, network destinations, token/time summaries, and process relationships belong in the artifact.
Keep the raw session immutable while you reduce it
Treat the saved AgentSight database or source trace as the reference record and derive a smaller artifact from it. Record the AgentSight version, product/source commit when relevant, repository revision, task boundary, and time window. Reduction should never rewrite the original run because a reviewer may need to verify a summarized claim against the underlying event sequence.
Use three layers: observed, derived, inferred
Observed facts are direct records such as a process start, exit code, path operation, network destination, or captured model request. Derived facts are deterministic summaries such as total tokens, grouped file paths, or semantic flamegraph categories. Inference is the human conclusion that a retry caused a delay or a path access was unnecessary. Label these layers instead of presenting every sentence as equally certain.
For code review, preserve the validation chain
Keep the commands that changed or generated the patch, failed validation that caused retries, the final successful validation, and any edits made after that validation. Include the relevant file scope and unexplained external activity. The artifact should make it possible to answer whether the final tree was actually tested without forcing the reviewer to inspect thousands of unrelated events.
For security review, preserve authority and side effects
Keep the tool or extension identity, the authorized task, child processes, external paths, remote destinations, and privilege-relevant actions. A normal cache write can be omitted or grouped once understood; an unexplained credential path or remote service should remain visible. The purpose is not to maximize event count but to preserve the chain from authority to effect.
Redact content without erasing the structure needed for review
Prompts, responses, headers, source snippets, home paths, user identifiers, and network payloads may be sensitive. Replace unnecessary values with stable placeholders while preserving timestamps, event type, process relationship, path class, domain class, sizes, exit status, and other structure needed to support the decision. Do not publish raw AgentSight databases by default.
Preserve negative uncertainty explicitly
“No event was observed” is not the same as “the event did not happen.” State the recording scope and relevant capture limitations, especially for runtime/TLS compatibility and activity outside the selected process family. If a finding depends on absence, rerun with a targeted probe or another data source before turning the absence into a strong claim.
A good artifact ends with unresolved questions and a reproduction path
List what the artifact establishes, what remains inferred, and what a reviewer should run next if they disagree. Include the command used to record the task, the report or query that produced the summary, and stable identifiers or timestamps for the original session. The artifact is successful when it makes review faster without preventing a skeptical engineer from going back to the source.
$ sudo agentsight record -- codex
$ agentsight report audit --json > audit.json
$ agentsight report export -o review-run.json
$ agentpprof --view files -o files.svg