Local-first observability for agent systems

Find what keeps failing.
Turn it into an eval.

Perseval finds recurring failures across agent runs, shows the exact evidence, and turns verified patterns into reviewable regression evals.

Local-firstDeterministic by defaultOpen source
Perseval Failure Inbox ranking recurring failures across runs by severity, trend, examples, and review state
Failure Inbox

Start with recurring failure groups across runs, then open the evidence behind the pattern.

A plausible answer can conceal a broken run.

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.

Trace viewers isolate incidents

One-run-at-a-time debugging makes it hard to see which failures recur across sessions, builds, and agent versions.

Fixes rarely become evals

You find the bug, ship the fix, and three agent versions later it is back, because nothing ever tested for it.

From noisy traces to a decision you can defend.

One investigation loop, four moves. Each one keeps the evidence attached.

01

See

Start with recurring failure groups ranked by severity, recurrence, affected runs, trend, and recovery.

02

Understand

Review the diagnosis, representative examples, and the execution shapes behind the pattern.

03

Verify

Inspect expected versus observed behavior and jump to the exact evidence spans in the full trace.

04

Create

Turn one or several confirmed patterns into a draft eval definition with evidence attached.

From raw traces to reviewable evals.

Find what keeps failing

Automatically analyze finalized traces and group recurring failures by exact signature. Rank them by severity, frequency, affected runs, trend, and recovery.

Deterministic by default

Verify every diagnosis

Inspect expected versus observed behavior, highlighted evidence spans, telemetry gaps, and representative examples before accepting a finding.

Exact evidence and provenance

Create reviewable evals

Generate draft eval candidates from one or several failure groups, complete with cases, proposed behavior, rubric, grader, and evidence packet.

Human approval required

Collect without replatforming

Ingest OTLP/HTTP JSON or protobuf, gzip-compressed payloads, or local trace files. Keep project, environment, build, and session identity explicit.

Local-first ingestion

Explore complex agent runs

Navigate virtualized runs and lazy trace trees. Search errors and inspect agent roles, events, links, attributes, and bounded payload previews.

Built for large multi-agent traces

Compare where runs diverge

Align baseline and candidate execution, preserve both run identities, and move from their common prefix to the first meaningful difference.

Run-to-run clarity
Not yetPerseval creates and reviews eval definitions today. Running the accepted evals is on the roadmap.
Run locally, then start with OTLP or a trace file.

Follow one failure from first trace to accepted eval.

Five stops, one investigation. Project, environment, and build identity carry through every screen, so nothing gets lost between finding a failure and testing for it.

01 / Collect

Start with a named project and a healthy source.

Keep environment, build, and session identity explicit before traces arrive. The Runs view preserves those boundaries when you move between agent versions.

Perseval getting-started screen ready to collect a first trace
Ready workspace Choose a project and confirm the local receiver before the first trace arrives.
Perseval trace sources for the selected project
Trace sources See the effective OTLP endpoint, ingestion state, and project identity in one place.
Perseval run list containing three finalized agent versions
Versioned runs Filter sessions without mixing environments, builds, or different versions of the agent.
02 / Verify

Read the diagnosis next to the rows that produced it.

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

Perseval failure investigation showing a diagnosis and ordered execution evidence
Failure investigation Confirm expected and observed behavior, then follow the highlighted evidence before accepting the diagnosis.
03 / Explore

Keep agent topology and timing intact.

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

Perseval expanded multi-agent trace with planner, browser, tool, and verifier roles
Lazy trace tree Preserve planner, browser, model, tool, and verifier ownership while loading large traces.
Perseval trace timeline showing agent spans and their timing
Loaded timeline Read timing and concurrency without losing the selected span or its agent role.
04 / Create

Turn confirmed groups into eval definitions you can review.

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

Perseval eval candidate preview grouped by source failure
Candidate generation Combine representative failures into an eval proposal instead of selecting traces one by one.
Perseval eval candidate review with evidence provenance
Human review Inspect the proposed behavior, rubric, grader, cases, and provenance before accepting it.
05 / Compare and control

Prove whether behavior actually changed.

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.

Perseval aligned run comparison with an explicit no-divergence result
Run comparison Align a baseline and candidate run and jump directly to their first meaningful divergence.
Perseval editable local workspace and privacy settings
Local settings Control workspace storage, privacy, payload reveal, and optional AI providers locally.

Start with the failure. Keep the trace as evidence.

Conventional trace viewerPerseval
Starting pointChoose one runRanked recurring failures
ScopeOne trace at a timeAcross runs, builds, and sessions
EvidenceManual span searchDiagnosis linked to exact spans
Multi-agent contextOften flattenedRoles and topology preserved
OutcomeInvestigation notesReviewable eval definition

No API key required.

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.

Deterministic detectorsOptional embeddingsVisible model provenanceLocal provider health

Give coding agents structured evidence.

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 →

Built like a database, not a dashboard.

SQLite journalDurable control state and ingestion history
DuckDB projectionsFast analytical views over collected traces
Content-addressed payloadsCompressed storage with bounded reveal
Revision-aware tracesDeduplication, corrected spans, and reopened traces
Preserved contextEvents, SpanLinks, and typed attributes
Visible pipeline healthQueue, journal, projection, and analysis status
Read about storage and privacy →

Debugging your agents shouldn't require an expensive observability platform.

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.

What engineers usually ask first.

Is Perseval another trace viewer?

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.

Does it require an AI provider?

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.

Where does my trace data go?

Perseval is local-first. It uses a durable SQLite journal, DuckDB analytical projections, and compressed content-addressed payload storage in your workspace.

Can it handle multi-agent traces?

Yes. It preserves agent roles, hierarchy, events, links, and typed attributes instead of flattening every participant into one ambiguous list.

Does Perseval run the evals it creates?

Not yet. Perseval currently creates and reviews eval definitions. Execution of accepted evals is on the roadmap.

Find it once. Keep it fixed.