EvalSutra AI
Grade a recorded agent trace against rules you wrote first.
Evidence-first, keyless, offline agent evaluation CLI plus 18 portable agent skills. It grades recorded observations. It does not run the agent and does not call a model. npm published 0.3.0 on 2026-11-07. The git package.json on that day said 0.3.1.
- Offline
- 18 skills
- 11 assertions
- npm latest
- [email protected]
- GitHub version
- 0.3.1
- Licence
- Apache-2.0
- Language
- Node.js
- Weekly downloads
- 0
- GitHub stars
- 0
Live npm weekly downloads and the latest npm version, plus GitHub stars and the package.json version, fetched 2026-11-07 20:26 UTC. Cached 10 minutes. Weekly downloads cover 2026-10-31 to 2026-11-06, not a lifetime total.
Use it when
- 1
You have a recorded agent run (final output, tool calls, latency) and want a pass, fail, or inconclusive result.
- 2
You want a release gate of NO_GO, REVIEW, or GO_CANDIDATE from evidence, not from a model opinion.
- 3
You want portable evaluation skills inside Claude Code, Cursor, Codex, Gemini CLI, or GitHub Copilot.
What it does, and what it does not
Read this before the guide. A limit here is a limit of the tool.
Does
- 11 deterministic assertions, as listed in the README: equals, normalized_equals, contains, not_contains, regex, json_has_keys, required_tools, forbidden_tools, tool_order, max_steps, max_latency_ms.
- Statuses are pass, fail, inconclusive, error, skipped, or not_supported. Missing evidence is inconclusive, never a pass.
- The README says model_judge and unverified_claim sources cannot prove a pass.
- Release gate values are NO_GO, REVIEW, and GO_CANDIDATE. compare returns PASS, FAIL, or INCONCLUSIVE.
- 18 agent skills. The README says only the file copy is tested. Live editor discovery is not verified.
- The README says the grader had 0 false positives and 0 false negatives on 36 known-answer cases, and that the data is synthetic.
Does not
- It does not run your agent and does not call any model. The README says GO_CANDIDATE is not "safe to ship".
- Not implemented, per the README: live agent runner, sandbox, server, dashboard, SARIF, OpenTelemetry, Promptfoo, Inspect AI, Harbor, MCP Inspector adapters, a calibrated LLM judge, audit-plugin, and JSON Schema files.
- The README says skill discovery inside live Cursor, Codex, Gemini CLI, and Copilot is unverified.
- No network, no telemetry, no account, and 0 runtime dependencies, as stated in the README.
- No regulatory compliance is claimed. The README says trademark clearance for the name has not been performed.
- The GitHub Pages URL returned 404 on 2026-11-07. This page is the explanation.
Claims above are from the project pages and are attributed as stated there. They are not independently verified here.
How a run moves
From the EvalSutra README. npm published 0.3.0 on 2026-11-07. The git package.json the same day said 0.3.1. It grades a recording. It does not run the agent.
-
1. Input
A recorded run
Final output, tool calls, and latency. Not a live agent, and not a model call.
-
2. Check
11 assertions
Rules you wrote first: equals, contains, tools, order, steps, latency, and the other README names. Missing evidence is inconclusive, never a pass.
-
3. Status
Six labels
pass, fail, inconclusive, error, skipped, or not_supported. model_judge and unverified_claim sources cannot prove a pass.
-
4. Gate
Then stop
NO_GO, REVIEW, or GO_CANDIDATE. You also get report.html, report.md, report.json, and junit.xml.
How to read the result
Wording is from the project page or README and is attributed as stated there. It is not independently verified here.
Commands and notes
-
npx [email protected] demothe README lists demo as a command. -
evalsutra run --suite suites/demo.json --observations examples/demo-observations-bad.json --out artifacts/badthe README shows this demo exiting 2 with gate NO_GO. -
evalsutra install --ide cursor --project .also claude, codex, gemini, copilot. Dry-run first. The README says it writes only inside the project. - Exit codes in the README: 0 ok, 1 error, 2 NO_GO or regression or audit fail, 3 REVIEW or inconclusive, 4 invalid evidence.
Guide
How to use the result. GitHub is the source repository. npm is the install.
What it grades
From the EvalSutra README. npm published 0.3.0 on 2026-11-07. The git package.json the same day said 0.3.1. The GitHub Pages site returned 404.
- It grades recorded observations: final output, tool calls, and latency. It does not run the agent.
- Missing evidence is inconclusive, never a pass. A model opinion cannot prove success.
- The README's bad-demo case fails because a forbidden tool, read_private_key, was called and a canary leaked. The latency case is inconclusive because no latency was recorded.
- You get report.html, report.md, report.json, and junit.xml.
- Needs Node.js 20 or newer. The README says 0 runtime dependencies, no API key, no account, and no network.
Assertions, statuses, and the gate
- 11 assertions: equals, normalized_equals, contains, not_contains, regex, json_has_keys, required_tools, forbidden_tools, tool_order, max_steps, max_latency_ms.
- Statuses: pass, fail, inconclusive, error, skipped, not_supported.
- model_judge and unverified_claim sources cannot prove a pass.
- Gates: NO_GO, REVIEW, GO_CANDIDATE. GO_CANDIDATE means the recorded evidence met your thresholds. It is not "safe to ship".
- compare returns PASS, FAIL, or INCONCLUSIVE.
- Exit codes: 0 ok, 1 error, 2 NO_GO or regression or audit fail, 3 REVIEW or inconclusive, 4 invalid evidence.
The 18 skills
The README says install writes only inside the project, never overwrites, and refuses symlink escapes. Only the file copy is tested.
- prime plans and holds a conservative gate. bench builds suites. truth checks trusted references.
- trace checks tool calls, order, and permissions. task checks the end state, not a polished reply.
- guard builds synthetic injection and secret-handling tests. robust covers timeouts, retries, and recovery.
- drift compares a baseline with a candidate. port checks IDE and OS compatibility.
- judge holds rubrics and must not pass alone. cost tracks latency, tokens, and units.
- data covers provenance, licence, and leakage. arena is a paired comparison. explain gives a root cause with evidence.
- audit checks grader validity. verify is an independent re-run. report writes the reports. pluginwatch is a static plugin review.
Not built, and not verified
- Not implemented: live agent runner, sandbox, server, dashboard, SARIF, OpenTelemetry, Promptfoo, Inspect AI, Harbor, MCP Inspector adapters, a calibrated LLM judge, audit-plugin, and JSON Schema files.
- Unverified: skill discovery inside live Cursor, Codex, Gemini CLI, and Copilot, and Linux or macOS results beyond the public CI history.
- The README says the grader had 0 false positives and 0 false negatives on 36 known-answer cases, the audit is a self-check, and the data is synthetic.
- No regulatory compliance is claimed. Trademark clearance for the name has not been performed.
Questions
Does EvalSutra run my agent?
No. The README says it grades recorded observations (final output, tool calls, latency) against rules you wrote first. It does not run the agent and does not call a model.
Does GO_CANDIDATE mean I can ship?
No. The README says GO_CANDIDATE means the recorded evidence met your thresholds, not that the agent is safe to ship.