How ARGUS Works

Catches silent failures in AI agent pipelines before they reach production

Think of it like this: Your AI pipeline is a relay race. Each runner (node) passes a baton (data) to the next. ARGUS is the referee watching every handoff. If a runner passes an empty baton, trips mid-run, or just jogs lazily instead of sprinting - ARGUS sees it, writes it down, and tells you exactly who messed up and why.
STEP 1 - YOUR PIPELINE RUNS
1
Fetch Data
Calls APIs, gets raw data
2
Process
LLM analyzes the data
3
Output
Final result returned
AFTER EACH NODE
STEP 2 - ARGUS CHECKS EVERY OUTPUT (4 layers, cheap first)
1

Heuristic Engine

registry.py + heuristic_engine.py

Pattern matching against 150+ known failure signatures. Like a spell-checker for bad AI outputs - checks for placeholder text, empty results, "I'm sorry" refusals, broken JSON, and more. Also uses embedding similarity to catch paraphrased failures.

FREE CATCHES ~80% INSTANT
2

Anomaly Detector

anomaly_detector.py

Statistical checks - doesn't know what the output means, but knows what it should look like. Catches: output way too short, too repetitive, too generic, wrong structure, empty fields, incomplete reasoning chains.

FREE 8 CHECKS
3

Correlator

correlator.py + inspector.py

Traces blame backward. If Node 5 crashed because of a missing field, the correlator walks back to find that Node 2 was the one that forgot to include it. Points at the real culprit, not the victim.

FREE ROOT CAUSE
4

LLM Investigator

llm_investigator.py

The "expensive last resort." Only called when the above layers find something ambiguous. Uses GPT-4o to explain what went wrong in plain English, and suggests new patterns to catch similar failures automatically next time.

USES GPT-4o ONLY WHEN NEEDED
WHEN LLM FINDS A NEW PATTERN
STEP 3 - LEARNING LOOP (gets smarter over time)
A

LLM spots a new failure pattern

The investigator notices an output like "I cannot provide financial advice" keeps appearing across runs. It suggests a new signature.

"I cannot provide financial advice" (contains_ci)
B

Auto-generalize the pattern

Instead of storing the exact phrase (which only catches that one wording), ARGUS converts it into a smart regex that catches ALL rephrasings.

Before: "I cannot provide financial advice"
After:  (?:cannot|can't|unable to) + (?:provide|give|offer) + (?:financial|investment) + (?:advice|guidance)
C

Cluster with existing candidates

Before adding, ARGUS checks: "Do I already have a similar candidate?" Uses embedding similarity (cosine >= 0.85). If yes, merges the evidence instead of creating a duplicate.

D

You review and approve

Open argus ui → Approvals page. You decide:

Private = only your project uses it   |   Shared = all ARGUS users benefit

E

Pattern catches it automatically next time

The approved regex gets loaded into the heuristic engine (Layer 1). Now all rephrasings are caught instantly, for free, forever. No LLM needed.

PATTERNS LIVE IN THE REGISTRY
STEP 4 - SIGNATURE REGISTRY (3 tiers merged at startup)
📦

Bundled

150+ patterns that ship with ARGUS. Covers common LLM failures, placeholders, errors.

🔒

Private

Patterns you approved from the learning loop. Stored locally in your project.

🌐

Community

Patterns shared by other ARGUS users. Synced from cloud when logged in.

↓ ↓ ↓

registry.py — Merged, deduplicated, regex pre-compiled

All three tiers combined into one fast lookup table. Loaded once, used on every scan.

STEP 5 - SEE THE RESULTS

Terminal

Quick status in your CLI

argus show last
🎨

Web Dashboard

Visual run details, diffs, approvals

argus ui

Replay

Re-run from any node without re-running upstream

argus replay id node