Agentic AI debug assistant ยท post-silicon validation

From 1.45 million log lines to a named root cause with the evidence attached.

SVLA-Agent streams multi-source silicon test logs, mines event templates, classifies and de-duplicates failures, clusters recurring families, retrieves similar historical incidents and asks Claude โ€” or a deterministic rule-based agent โ€” to pick the specific root cause and the next experiment to run. Every claim below is measured and reproducible.

Offline by default. Paste your own Anthropic key in the live app to switch the agent to Claude; nothing is stored.

What makes it different

Root cause, not just failure type

Twenty named root causes across six failure families. The agent scores each candidate against the evidence and quotes the tell-tale line that decided it โ€” a slow fan, a refclk warning, a starved QoS credit.

Calibrated confidence

When Claude is wrong its confidence drops to 0.47; the rule-based agent stays at 0.77. A number you can actually triage on.

Streaming and fast

97 MB / 1.45 M events across 700 files parsed, template-mined and classified in 23 s on a laptop, about 64 k events/s, with flat memory.

Privacy first

E-mails, IPs, MACs, serials and credentials are redacted at parse time โ€” before anything is indexed, prompted or written into a report.

Honest evaluation

Retrieval and root-cause metrics use a hold-out split: the index is built from 70% of runs and the rest are scored as unseen incidents. A failure can never retrieve itself.

A team of agents

In multi-agent mode a LangGraph team works each failure: a triage agent dispatches subsystem specialists in parallel, each confined to its own logs and catalogue; a reviewer cross-checks their findings into a causal chain. Single-agent and one-call modes exist too. Every step is recorded and shown in the explorer.

Three front doors

A svla CLI, a FastAPI REST service and a Streamlit dashboard share one pipeline. Pluggable vector store and LLM provider. Docker image built in CI.

The pipeline

Eight stages, each with one job and a typed hand-off. Click a stage.

    Measured results

    Root-cause top-1 accuracy by failure type (Claude agent, held-out failures)

    Out-of-distribution: real supercomputer logs

    Alert tag named per component (BGL, held-out windows, Claude choosing among retrieved tags)

    Recall transfers, precision does not: BGL logs many routine FATAL lines that operators never flagged, so severity alone over-flags on real data. Retrieval generalises โ€” with zero domain knowledge the nearest past windows name the operators' alert tag most of the time, and fail mainly on components with a handful of examples. Claude, choosing among the same retrieved tags, ties the rules on accuracy but abstains more and is better calibrated. Method and per-family breakdown in docs/EVALUATION_OOD.md.

    The synthetic corpus above is closed-world. Each injected failure leaves a root-cause tell-tale 90% of the time; the remaining 10% exercises the retrieval and prior fallbacks, which is where the misses come from. Detection and typing are rule-based against the generator's own vocabulary and are expected to be perfect here โ€” they will not be on real silicon logs. The structure (evidence โ†’ candidates โ†’ calibrated confidence โ†’ actions) is what carries over.

    Report explorer

    Twenty-four bundled runs analysed by the real pipeline. Pick a run to see what the agent saw and what it concluded. For your own logs, use the live app.

    Failures by type across the bundled runs
    Failure families (HDBSCAN within type)

    Root-cause catalogue

    What the agent can name, and the evidence it looks for. The same catalogue is handed to Claude as the allowed answers of a strict tool call.

    Run it on your logs

    Upload run_<id>.<source>.log[.gz] files in the live app, or install the package and point svla process at a directory. Everything runs offline unless you add a key.