Observability: Trace and Probe
Observation splits a run into queryable spans: model calls, tools, agents, approvals, and more. Write failures do not block the main path by default, so telemetry cannot take down a session; list and detail APIs serve the console and troubleshooting.
Probe.start / Probe.end record one observation. Types include generation, tool, agent, approval, span, event, and others. Entry source can distinguish chat / task / command / shell / trigger / summarize, and so on.
flowchart LR Run[Session / trigger run] --> G[generation] Run --> T[tool] Run --> A[agent] Run --> P[approval] G --> Store[(observation)] T --> Store A --> Store P --> StoreGET /observation/traces: filter by session, agent,team_run_id, time, status; detail includes flat list and tree- Additional cost and approval aggregations, plus an Agent Graph view
Observation is not the audit hash chain: the former answers “what happened and how long”; the latter answers “were records rewritten.” Accountability still rests on hash-chain audit.
Related reading: