Skip to content
MirrorFirm

What reset, snapshot and grader hooks would an evaluation harness need?

A harness needs a seeded reset, a pre-run snapshot, a post-run diff, an action log and a grader that emits structured per-check results for each task.

A booking environment that supports repeatable evaluation can expose a small set of hooks.

- `reset(seed, task_id)` restores the starting snapshot for the task, including any injected faults such as a scheduled timeout. - `snapshot()` returns the full record state as Parquet or JSON, taken before and after the run. - `diff(before, after)` lists created, changed and deleted records by table and key. - `action_log()` returns each tool call with arguments, result, error code and order. - `grade(task_id)` compares the diff and log with the answer key and returns per-check results.

Grader output can be one JSON object per task:

- `task_id`, `agent_version`, `seed` - `checks`: a list of `{name, passed, detail}` - `tags`: the failure-mode tags exercised - `unexpected_writes`: records changed outside scope

Write results as JSONL so they can be loaded into a notebook or CI report. For regression testing, fix the seed and the agent configuration, then compare check-level results between versions.

Fault injection should be a task setting, not agent-visible, so the agent meets timeouts and rejections as it would in a live integration. Confirm hook names and return formats against your harness during scoping.

With deterministic reset and structured grader output, you can rerun tasks, compare agent versions and automate regression checks.

Audience:
Agent developers
Content type:
Integration
Buyer question:
How to evaluate it

Content release: r-a220eb6e099b243b

More on Loan booking