Final answers hide the path
A run can look successful after a bad tool choice, an ignored constraint, or a recovery that only worked by chance.
Local-first observability for agent systems
Perseval finds recurring failures across agent runs, shows the exact evidence, and turns verified patterns into reviewable regression evals.

Start with recurring failure groups across runs, then open the evidence behind the pattern.
A run can look successful after a bad tool choice, an ignored constraint, or a recovery that only worked by chance.
One-run-at-a-time debugging makes it hard to see which failures recur across sessions, builds, and agent versions.
You find the bug, ship the fix, and three agent versions later it is back, because nothing ever tested for it.
One investigation loop, four moves. Each one keeps the evidence attached.
Start with recurring failure groups ranked by severity, recurrence, affected runs, trend, and recovery.
Review the diagnosis, representative examples, and the execution shapes behind the pattern.
Inspect expected versus observed behavior and jump to the exact evidence spans in the full trace.
Turn one or several confirmed patterns into a draft eval definition with evidence attached.
Automatically analyze finalized traces and group recurring failures by exact signature. Rank them by severity, frequency, affected runs, trend, and recovery.
Deterministic by defaultInspect expected versus observed behavior, highlighted evidence spans, telemetry gaps, and representative examples before accepting a finding.
Exact evidence and provenanceGenerate draft eval candidates from one or several failure groups, complete with cases, proposed behavior, rubric, grader, and evidence packet.
Human approval requiredIngest OTLP/HTTP JSON or protobuf, gzip-compressed payloads, or local trace files. Keep project, environment, build, and session identity explicit.
Local-first ingestionNavigate virtualized runs and lazy trace trees. Search errors and inspect agent roles, events, links, attributes, and bounded payload previews.
Built for large multi-agent tracesAlign baseline and candidate execution, preserve both run identities, and move from their common prefix to the first meaningful difference.
Run-to-run clarityFive stops, one investigation. Project, environment, and build identity carry through every screen, so nothing gets lost between finding a failure and testing for it.
Keep environment, build, and session identity explicit before traces arrive. The Runs view preserves those boundaries when you move between agent versions.



Expected behavior, observed behavior, impact, provenance, and the next action stay above the exact rows that established the finding.

Move between a hierarchical tree and the loaded timeline without flattening planner, browser, tool, and verifier roles into one ambiguous list.


Build candidates from representative cases, inspect the proposed rubric and grader, and keep evidence provenance visible before accepting anything.


Align a baseline and candidate run to see exactly where execution diverged, or confirm it did not. Then manage storage, privacy, and AI settings without leaving the app.


Grouping, ranking, and evidence are deterministic. Perseval finds recurring failures without calling a model. Add embeddings, semantic judging, or cohort labels when they earn their cost, with provider, model, and output provenance always on record.
Query projects, runs, failure groups, findings, evidence, trace context, and eval candidates over MCP without scraping the interface or rebuilding context from screenshots.
Explore the MCP tools →Perseval is free and open source. Your traces live in a SQLite and DuckDB workspace on your own machine. No per-seat pricing, no data leaving your laptop, no procurement meeting. Point your OTLP exporter at localhost and start.
No. A trace viewer starts from one run; Perseval starts from the failures that recur across runs and ends with an eval you can review. The trace is the evidence, not the product.
No. Failure grouping, ranking, and evidence work without any model. Embeddings, semantic judging, and cohort labels are optional extras, and every model-generated output records which provider and model produced it.
Perseval is local-first. It uses a durable SQLite journal, DuckDB analytical projections, and compressed content-addressed payload storage in your workspace.
Yes. It preserves agent roles, hierarchy, events, links, and typed attributes instead of flattening every participant into one ambiguous list.
Not yet. Perseval currently creates and reviews eval definitions. Execution of accepted evals is on the roadmap.