A deterministic linter for agent runs — reads the execution trace and flags structural bugs (ignored errors, schema violations, loops) with evidence. No LLM judge.
Hey Product Hunt 👋 I'm Ashwin, maker of tracelint.
This started with a failure mode that kept nagging at me: an agent calls charge_card, the tool comes back with a failure, and the agent just… keeps going and tells the customer their order shipped. The final answer reads perfectly — so the eval suite passes, the LLM-judge nods, and the bug ships anyway. The chat summary looks fine while the run was already wrong.
tracelint checks the run, not the summary. It reads the agent's execution trace — what it actually did — and flags structural defects deterministically: ignored tool errors, schema-violating calls, hallucinated arguments, loops, duplicate side effects (the double-charge). Each finding points at the exact trace lines and returns a CI exit code. No second model ever judges it — for this class of bug a judge is the wrong tool; the defect is decidable by looking at the trace.
The principle that emerged while building it: abstain rather than guess. Only structurally-provable defects fail CI; heuristic signals stay advisory, shown with their evidence; and it always discloses what it couldn't check — so a clean report is honestly clean, not just empty.
It reads OpenTelemetry/OpenInference, LangSmith, Langfuse, and OpenAI traces, and there's a keyless demo to try it in ~1 minute.
Genuine ask: if you build agents, send me one real trace and I'll run tracelint on it and tell you what it finds. I want to know what it catches — and where it falls short.