Connecting traces
DialogAssert reads execution evidence from the telemetry your platform already emits. It does not require you to duplicate traces into another observability system in order to test your agents, and it never writes to your trace backend.
trace_source: type: jaeger endpoint: https://jaeger.internal/api service: cards-banking-agentSupported sources
Section titled “Supported sources”| Source | Status |
|---|---|
| Jaeger | Verified end-to-end against a live deployment |
| OpenTelemetry collector (OTLP) | Supported |
| LangSmith export | Supported |
| Generic OTel-compatible backend | Supported, dialect detection applies |
Only Jaeger has been exercised against a production-shaped third-party environment. The others are
implemented against documented span shapes. If your backend is not listed, doctor will tell you
what it could and could not read rather than failing silently.
Dialects
Section titled “Dialects”Different frameworks describe the same events differently. Span names, attribute namespaces and payload nesting all vary, and tool arguments are frequently wrapped several layers deep or encoded.
DialogAssert separates the envelope (how a backend transports a span) from the dialect (how a framework names and nests its content), detects the dialect, and normalises before any check runs. See trace dialects.
Correlation
Section titled “Correlation”A single conversation is often distributed across multiple traces, and incoming trace IDs are frequently not propagated. DialogAssert tries, in order:
- An explicit correlation key you configure.
- A detected framework metadata key, such as
langsmith.metadata.trace_id. - A self-recorded turn window — the time bracket DialogAssert observed around each turn it sent.
The strategy actually used appears in the report. A correlation fallback is disclosed rather than hidden, because a weaker correlation strategy means weaker turn attribution.
Completeness
Section titled “Completeness”Before evaluating, DialogAssert records what it managed to observe: whether every turn was attributed, whether tool payloads decoded, and whether results were structured. Checks whose required evidence is incomplete return inconclusive rather than a verdict.