Developer kit · Python · framework-agnostic · zero dependencies

Your agent passed.The path it took didn’t.

Agents don’t fail like prompts — they fail in the path. A loop that burns tokens. A tool called with hallucinated arguments. A destructive action with no confirmation. A run that costs 10x budget. Grade only the final answer and every one of these passes — until production.

The Agent Reliability Harness scores the whole trajectory — tool choice, arguments, steps, cost, and policy — and returns one honest verdict: SHIP / HOLD / FIX. The CLI fails the build on FIX or a regression, so an unreliable agent can’t ship quietly.

Get the Kit — $149one-time · instant download · zero dependencies · yours to keep
What’s in the kit
Python package — zero dependencies
Worked five-scenario example
Trace schema + adapters
CI workflow + exit codes
Reports: console, JSON, Markdown
pytest suite + docs
CI exit codes
ship = 0 · hold = 0 · fix / regression = 1
01.The Problem

If you can’t evaluate it, you can’t ship it.

Agent evals mostly grade the final answer — so they sail right past how the agent actually behaved. The answer looks right; the agent looped five times, skipped a required step, or deleted a record without confirming to get there. None of it shows up until a customer hits it.

Regular software has a fix: tests that fail the build when a change breaks something that worked. This kit brings that discipline to agent runs — a deterministic battery of trajectory checks and a hard gate, so “it answered correctly in the demo” isn’t your release process.

Silent loops

The answer is right; the agent repeated the same call five times and burned tokens to get there. An answer-only eval scores it a clean pass.

Unsafe paths

A correct outcome reached by deleting a record without confirmation is still an incident. The path, not the answer, is where the risk lives.

10x cost drift

'Correct but ten times too expensive' never appears in a final-answer eval — until it appears on the bill.

02.See It Catch One

Pick a broken agent. Watch the path fail.

Five trajectories — one clean, four broken. Each broken run still passes the success check and fails the path. The per-check verdicts and reliability scores here are the exact output of the shipped example suite. (Simulation, no real agent; it resets on reload.)

Simulation · no real agent

Pick a trajectory — read the scorecard

six evaluators

Repeats the same search five times, then answers.

Verdict: FIX

reliability 0.90 · 1 check failing
task_successgoal met
tool_choicetool usage within expectations
argument_validityall arguments valid
step_efficiency6 steps > budget 5; repeated identical call x5 (possible loop)
cost_budgetwithin budget
policy1 policy upheld

Notice task_success still passes — the agent reached the “right” answer. A final-answer-only eval would call this a win and miss the failure entirely.

This is a simulation — and it resets on reload.

The real harness scores your own agents’ traces across all six evaluators, exits non-zero on a FIX verdict or a regression vs a committed baseline, and drops into CI with the included GitHub Actions workflow. Python, framework-agnostic, zero dependencies.

Get the Agent Reliability Harness — $149
03.What It Checks

Six evaluators across the whole trajectory.

task_success

Whether the goal was actually met — a custom checker or required substrings in the final answer. The one check answer-only evals already do.

tool_choice

Wrong, missing, or out-of-scope tools — checked against allowed / required / forbidden lists, so a disallowed or skipped tool fails the run.

argument_validity

Malformed or hallucinated tool arguments, validated against per-tool JSON schemas. Uses jsonschema if present, a built-in validator otherwise.

step_efficiency

Blown step budgets and loops — repeated identical calls are flagged as a possible loop, the failure that quietly doubles token spend.

cost_budget

Token and dollar budgets — the 'correct but 10x too expensive' failure that never shows up in an answer-only eval.

policy

Safety and behavior rules as code — e.g. confirm before a destructive action, never call tool X. Ships with a confirm-before-delete policy helper.

Each check skips itself when you don’t set an expectation for it — so you grade only what you care about, and a skipped check never inflates or penalizes the score.

04.What's Inside

A complete kit, fully tested, ready for CI.

Python package — zero dependencies

Six evaluators, the Trace/Case/Expect model, runner, report, and a CLI. Runs on the standard library; jsonschema is used automatically if installed.

Worked five-scenario example

One clean run and four broken ones — loop, unconfirmed delete, bad arguments, over budget. Each evaluator catches its problem; the suite lands on FIX.

Trace schema + adapters

Feed it traces from any framework: a JSON loader, an OpenAI tool-call message adapter, and a tiny schema you can map LangGraph / CrewAI logs onto.

CI workflow + exit codes

A GitHub Actions file plus non-zero exit on FIX, below --fail-under, or any regression vs a committed baseline — drops straight into a pipeline.

Reports: console, JSON, Markdown

A readable console scorecard, a JSON report you commit as the baseline, and a Markdown report for PRs — one source, three formats.

pytest suite + docs

23 unit tests covering every evaluator, a README, and an honest note on what it is and isn't. Small enough to read end to end.

05.How It Works

Four steps, then it runs itself.

1
Describe a good run

Per test case, declare allowed/required/forbidden tools, argument schemas, step and cost budgets, and policies. Each check skips itself when you don't set an expectation.

2
Feed it traces

Use the Trace schema, the JSON loader, or the OpenAI adapter. Any framework — you don't run your agent through the harness, you hand it the trace it produced.

3
Get a verdict

Per-check pass/fail, a reliability score, and a SHIP / HOLD / FIX verdict. Export to console, JSON, or Markdown.

4
Gate CI

The CLI exits non-zero on FIX, below --fail-under, or on any regression vs a baseline. Drop in the included GitHub Actions workflow and every PR is checked.

06.Straight Talk

What this is — and isn’t.

This is an offline / CI evaluation harness, not a runtime guardrail: it evaluates traces, it doesn’t execute your tools or agents or sit in the live request path. Pair it with runtime guardrails for defense in depth. It’s deterministic and rule-based by default — reproducible and effectively free, no LLM-judge bill — and you can add a judge to the success check when you want one.

The default thresholds and policies are a sensible starting battery, not a universal standard — tune the budgets and rules to your own risk tolerance. And it grades the trajectory you give it: the quality of the verdict is only as good as the expectations you write. The kit is small enough to read end to end — which matters for a tool that decides what ships.

07.Who It's For

Anyone shipping agents to production.

Agent builders who need to catch loops, unsafe paths, and bad tool calls before users do; platform and ML engineers who want a reproducible eval wired into CI and trended over time; teams shipping agents on a schedule who want a real gate — a verdict and a regression check on every PR; and consultants who want a repeatable reliability harness to evaluate clients’ agents. It’s the fourth gate in the dev-tools line: retrieval, security, regressions, and now agent trajectories.

08.Common Questions

The questions engineers actually ask before wiring it in.

A Python toolkit that evaluates AI agents at the trajectory level — not just the final answer. It checks tool choice, argument validity, step efficiency, cost, and policy across a run, then returns a clear SHIP / HOLD / FIX verdict you can gate CI on.

Python · trajectory evals · CI gate · $149

Stop shipping agents on hope.

Score the whole trajectory and gate every deploy on a verdict you can trust. Python, framework-agnostic, zero dependencies. One-time $149, yours to keep.

Sold by RedHub AI LLC · Secured by Stripe · redhub.ai