A linter for
agent behavior.

Every eval platform tests your agent.
GAMA tests your tests.

pip install gama-ai

How it works

Grounded checks first. The judge only when they can't decide.

GROUNDED schema · exact · tool_call $0.00 PASS final, no model call DONE FAIL → escalate LLM JUDGE may overturn the verdict cost scales with ambiguity, not test count

A pass is final

Deterministic and free.

A failure escalates

The judge is told why, and can overturn it.

A crash is not negotiable

But declining bad input is scored, not punished.

The part nobody ships

A holdout set you can't tune against.

Generated evals refresh as your agent improves. The holdout is created once, and the suggestion engine never sees it.

# evals/
generated.json   refreshes freely
holdout.json     created once

thresholds:
  pass_rate: 0.8
  holdout_pass_rate: 0.7

Receipts

It found a bug in its own author's code.

50%before
100%after

“Those error messages are all reasonable, well-formed refusals for the inputs given. That pattern points at the eval harness rather than at the agent's instructions.”

harness suggest, unedited

Get started

$ pip install gama-ai
$ harness init
$ harness gen-evals
$ harness run
  • No API key for init, run, report
  • Plain JSON in your repo. No database.
  • Exits 1 on regression, so CI fails the build
  • Any language, over stdin or HTTP