Telemetry

A3S Code exposes runtime evidence through events, traces, verification reports, and result metadata.

Result metadata

Rust
Node.js
Python
Go
Rust
let result = session.send("Run release checks", None).await?;
println!("{}", result.usage.prompt_tokens);
println!("{}", result.usage.completion_tokens);
println!("{}", result.usage.total_tokens);
println!("{}", result.tool_calls_count);
println!("{:?}", result.verification_summary().status);
println!("{}", result.verification_summary_text());

Traces and verification

Rust
Node.js
Python
Go
Rust
let trace = session.trace_events();
let reports = session.verification_reports();
let summary = session.verification_summary();
let text = session.verification_summary_text();

The Go methods cross the native bridge and therefore return an error; Rust, Node.js, and Python expose these in-process observation getters synchronously.

Streaming events

Streaming returns versioned AgentEvent envelopes. version, type, payload, and optional metadata are the stable lossless fields; text, tool names, tool output, errors, token totals, and verification summaries are convenience projections. Unknown future type values and their payloads remain available to hosts.

Logging

For product telemetry, prefer structured trace events and verification reports over scraping console output.