tracelint demo

Deterministic, judge-free analysis of tool-calling agent traces. Hard defects fail CI; events and candidates are shown for review, never asserted — no second model ever judges the trace.

pip install tracelintjudge-freedeterministic
11/11
validation cases pass
7
planted defects caught
100%
robust agent recovery
0%
buggy agent recovery

Validation suite — 11/11 behaved as expected

One planted instance of each defect, clean controls, and legitimate-but-suspicious cases (a real retry, a value transform, a generated key). Each case asserts an expected outcome; the linter must match it.

ResultCaseScenarioExpectedFindings
PASSr1_schema_violation
planted
A tool call whose arguments violate the declared JSON Schema (int, not string).R1 hard_defect
R1+4 suppressed
PASSr2a_tool_error
planted
A tool returns a structured error (HTTP 500) — a hard event.R2a hard_event
R2aR2bR3+3 suppressed
PASSr2b_error_consumed
planted
A value from an errored result is reused as an argument to a side-effecting call.R2b hard_defect
R2aR2b+2 suppressed
PASSr3_hallucination_candidate
planted
An argument absent from provenance, with no schema annotation → candidate.R3 candidate (not hard)
R2aR2bR3+2 suppressed
PASSr3_hallucination_hard
planted
The same absent argument, but the schema declares the field 'provided' → hard_defect.R3 hard_defect
R2aR2bR3+2 suppressed
PASSr4_loop
planted
The agent repeats an identical failing call with no progress → loop candidate.R4 loop candidate
R2aR2aR2aR2bR4R5
PASSr5_redundant
planted
An identical read repeated after unrelated work, with no mutation between.R5 redundant candidate
R5+1 suppressed
PASSclean_control
control
A correct order-cancellation run — the linter must be silent.no active findings
clean+1 suppressed
PASSsuspicious_retry
suspicious
A transient error followed by a successful retry — legitimate, not a loop.no loop, no hard_defect
R2a+2 suppressed
PASSsuspicious_transform
suspicious
A legitimate reformat of a user-provided value (1,234.56 becomes 1234.56).no R3
clean+5 suppressed
PASSsuspicious_generated_key
suspicious
An idempotency key absent from context but declared 'generated' → not flagged.no R3
clean+4 suppressed
hard_defect — structurally-provable defect; fails CIhard_event — a real event (e.g. a tool error)candidate — heuristic signal for review; never fails CI

Recovery scorecard

Each agent is run against injected faults; recovery is scored against a deterministic success oracle, with a 95% Wilson CI.

cancel-if-not-shipped-robust

mode: correctness recovery
timeout3/3 · 100%
CI 0.44–1.00
error3/3 · 100%
CI 0.44–1.00
rate_limit3/3 · 100%
CI 0.44–1.00

cancel-if-not-shipped-buggy

mode: correctness recovery
timeout0/3 · 0%
CI 0.00–0.56
error0/3 · 0%
CI 0.00–0.56
rate_limit0/3 · 0%
CI 0.00–0.56