Skip to content
MirrorFirm

What evaluation hooks does a sufficiency task pack need: reset, trace and graders?

Details snapshot reset, JSONL trace capture, state diffing, three independent graders and a scripted responder for scoring multi-turn sufficiency runs.

Scoring a sufficiency run works best when the harness records state changes and tool calls, not only the final message. A task pack can expose these hooks.

**Reset.** Each run starts from a snapshot of the case store: cases, documents, messages and status. A `reset(snapshot_id)` call restores it, so runs are independent and comparable.

**Trace capture.** Every tool call is written as JSONL with `run_id`, `step`, `tool`, `arguments`, `result_ref` and `timestamp`.

**State diff.** After the run, compare the final store against the starting snapshot. Expected changes are a status update and zero or one outbound message. Unexpected changes, such as edits to a document record, are flagged.

**Graders.** Three can run independently:

- Decision grader: compares `decision` with gold - Gap grader: compares requested requirement IDs with `unmet_requirement_ids`, reporting missed and extra items - Request grader: checks that the message names each gap and states a reason, using a rubric or a model-based judge that you validate yourself

**Simulated reply.** For multi-turn cases, a scripted responder returns a reply keyed to what was asked, such as supplying only one of two items, so the next step can be scored.

Report each grader separately and keep the trace, so a failed case can be replayed from the same snapshot.

Capturing state changes and tool calls, with graders reported separately, lets any failed case be replayed from the same snapshot and diagnosed.

Audience:
Evaluation teams
Content type:
Integration
Buyer question:
How to evaluate it

Content release: r-a220eb6e099b243b

More on Document sufficiency