Events
All trace events inherit fromBaseEvent and carry core identifiers:
run_idstep_idinvocation_idgroup_hashstep_nameeventtimestamp
StepEvent with event values:
"start""end""error"
Tracer
Tracer is the coordinator that:
- Emits events to sinks
- Computes input hashes (optionally after redaction)
- Applies snapshot policies
get_default_tracer() and override it via set_default_tracer(...).
Sinks and formatters
Sinks receive events and decide where to send them (console, file, external service). Formatters convert events into readable strings or structured payloads. Coevolved includes a simple default formatter and supports per-type formatting. Built-in sinks live undercoevolved.base.sinks:
ConsoleSink(coevolved.base.sinks.console)JSONLSink(coevolved.base.sinks.jsonl)
Snapshot policy
SnapshotPolicy controls whether Coevolved captures input/output snapshots in trace events.
Common settings:
- Errors-only (default): capture input snapshot only on error
- Capture everything: input on start, output on end, input on error