aevyra-witness captures what your agent did. It sits at the capture layer of the Aevyra stack:Documentation Index
Fetch the complete documentation index at: https://docs.aevyra.ai/llms.txt
Use this file to discover all available pages before exploring further.
AgentTrace — a flat, ordered list of spans covering
every reasoning step, tool call, retrieval, and sub-agent invocation in
your pipeline. Every other Aevyra tool reads this format.
Three ways to get a trace
Instrument — add@span decorators to your existing Python pipeline.
Zero dependencies, works in any framework:
AgentTrace without changing any agent code:
What’s in a trace
Each node is aTraceNode carrying the span’s name, input, output,
kind (reason, tool, retrieve, agent), tokens used, start/end
timestamps, and an optional prompt_id for Reflex to target.
Why a shared primitive
Verdict scores a trace. Origin attributes a trace’s failure to specific spans. Reflex rewrites the prompt behind those spans. All three need the same representation — that’s whatAgentTrace is.
Without a shared primitive, each tool would have to parse your agent’s
logs in its own way, and none of them would interoperate. With
AgentTrace, you instrument (or adapt) once and every downstream tool
just works.
Quick start
Instrument a pipeline and get your first trace in 2 minutes
Adapters
Import existing logs — OpenClaw JSONL, OpenTelemetry
MCP interceptor
Auto-capture MCP tool calls with no decorators
Trace schema
AgentTrace and TraceNode field reference