Issue clustering runs automatically in the background — there’s nothing to configure. It requires the Pro plan or higher.
How clustering works
A background worker re-runs the same deterministic verdict classifier used on every trace detail page (the one that decides whether a trace ishealthy, degraded, or failed) against recent candidate traces, then groups matches by (verdict level, primary operation, error code, signal). Traces that land in the same group become occurrences of one Issue.
What counts as a candidate
Clustering used to consider only traces where a span errored. It now also considers traces that failed without erroring:- an evaluator scored the trace below its configured threshold — or above it, for evaluators like
toxicityandpii_leakagewhere a high score is the bad one - an evaluator returned a non-passing verdict outright, which is how categorical rubrics (
safe/borderline/unsafe) are judged - a behavioural signal fired — see below
- a tool call was retried, or ran far slower than its siblings
The Issues list
Each row shows:
Click View details to open the Issue detail page for the full sample-trace list and the remediation suggestion feature. View sample trace jumps straight to one real occurrence in the normal flame graph view, so you can investigate the actual failure without leaving the list.
Signals
When a trace fails without erroring, the Cause column names the signal that identified it rather than an error code.user_retry and agent_loop are behavioural signals: observations about how a conversation went, not judgements of what the agent said. A person may rephrase a question for their own reasons, and some agents legitimately call one tool repeatedly. Treat them as evidence worth reviewing, not as proof the agent was wrong. Trace detail labels them Evidence for exactly this reason, and never shows them a pass/fail threshold — there is no rubric they were scored against.toxicity failure and a user_retry observation on chat are different problems and get their own rows, their own occurrence counts, and their own regression datasets.
Resolved vs. dismissed
Both actions remove an issue from the open Issues list — the difference is what they communicate, the same distinction Sentry-style issue trackers draw between the two:
Neither is permanent: if the aggregator detects a fresh occurrence of the same cluster (same verdict level, operation, error code, and signal) after an issue was resolved or dismissed, the issue reopens and reappears in the open Issues list. Resolving an issue you haven’t actually fixed just means it comes back sooner.
Issue detail page
Clicking into an Issue (/{orgSlug}/{projectId}/issues/{issueId}) shows:
- The verdict level, current status, occurrence count, and first/last-seen timestamps
- A link to the associated prompt, if this issue’s traces share one
- Mark resolved / Dismiss actions (same semantics as the list — see above)
- A Sample traces table — up to 10 representative traces from the cluster, each linking out to its full trace detail view
- The Generate suggestion remediation feature, described below
Generate suggestion (remediation)
Requires the Pro plan or higher, same as the rest of the Issues feature.
Two things follow from that check, and both are deliberate:Suggestions are shorter and more specific than they used to be. Statements that cannot be tied to a record in your project are not shown, so text that previously read as confident but rested on nothing no longer appears.Sometimes there is no suggestion at all. Where nothing could be checked against your data you will see “No suggestion: nothing here could be checked against your data” rather than a plausible-sounding guess. A suggestion you cannot verify is worse than none — it costs you the time to act on it and the trust you would have placed in the next one. If a run stops early it is labelled incomplete alongside whatever was verified.
Automatic remediation suggestions
Requires the Pro plan or higher, same as manual Generate suggestion. Free and Solo plan Issues are not auto-analyzed, but you can still generate a suggestion yourself at any time using the manual button above.
Suggestions are text only. Zespan never opens a pull request, edits your prompts, or changes your configuration as part of generating one — you decide what to act on.
Issues feed regression tests
Once an issue has recurred 3 or more times, it’s automatically captured as a test case in a Production Failures dataset — turning your own incident history into a regression suite your CI can replay against a candidate change. See Regression testing from production failures.Next steps
- Traces — the underlying root-cause analysis that powers remediation suggestions
- ZespanPilot — the AI copilot that writes remediation suggestions
- Guardrails — if an issue’s error code traces back to a guardrail violation, promote that violation into a permanent rule
- Datasets — replay recurring issues as regression tests
- Incidents — for anomaly-driven correlation across metrics, rather than verdict-based trace clustering

