Why does a trace look normal when a tool returns stale data?

Because every step in the trace did exactly what it was supposed to do. The tool call went out, came back with a success status and a well-formed payload, and the agent read that payload and used it the way it always does. Nothing in the trace’s shape says the data was old rather than current: a stale price, a cached inventory count, or a cursor from an hour ago passes the same schema checks fresh data would.

The staleness lives in the tool or the system behind it, not in the call. A cache that didn’t invalidate, an upstream job that stopped running, or a connection quietly serving a snapshot all produce a response that is syntactically perfect and factually wrong. Catching it means checking the data’s age or comparing it against a source of truth, not reading the trace, because the trace has nothing to disagree with itself about.

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