What does a production span carry that a dataset row cannot?

A production span carries context nobody writes into a dataset row by hand: session.id, deployment.environment.name, and the exact tool call, gen_ai.tool.name plus the arguments it actually ran with, not a stand-in for one. A hand-built eval case can approximate a prompt and an expected answer, but it can’t manufacture those fields, because they only exist because a real request happened at a real moment inside a real deployment. That’s what makes production traces catch regressions a static dataset can’t: they carry the conditions a failure happened under, not just the text that was said. It’s also why they’re evidence rather than examples. When something goes wrong, the trace is what a root cause analysis points back to; a dataset row assembled ahead of time was never anchored to an actual event.

keep reading

More on this.

Two ways to run Tessary.

Tessary is an open-source agent reliability platform. Cloud and self-hosted run the same workflow on the OpenTelemetry traces your agent already emits.

Tessary Cloud

We host it for you. Send your first trace with nothing to deploy and no model key.

what's includedper organization
traces
10,000 per calendar month
stored trace data
1 GB
retention
30 days
model credit
$10, one-time, for triage and root-cause analysis
credit card
not required

Self-hosted Tessary

Run the open-source code on your own infrastructure with one command. Add your own model key for triage and root-cause analysis.

Self-host Tessary for me by following https://github.com/tessaryai/tessary/blob/main/setup.md

docker compose -f oci://docker.io/tessaryai/tessary:compose up -d -y