Concepts

Results and evidence

What a completed run gives you, the evidence that comes with it, and why a run WOOL can't confirm fails.

A completed run gives you the result and the evidence WOOL used to confirm it.

Why WOOL checks the result

An agent can report that it submitted a form even if the website didn't accept it, or include a fact in a summary that the page never showed. WOOL checks every run against your prompt and the evidence before it marks the run COMPLETED.

A completed run guarantees three things:

  • The result answers the prompt as written, including the output_schema when you gave one.
  • Every action that changed something on the website is recorded, with evidence that it took effect.
  • Nothing in the result is claimed without something on the website to back it.

The evidence

The execution's result contains an evidence object. The fields below are relative to result:

FieldWhat it holds
evidence.urlsEvery page the run visited.
evidence.side_effectsEvery action that changed something, with what the page showed afterwards.
evidence.verifierWhat WOOL confirmed, and why. Also returned as terminal.reason.

Show it to your users when the stakes warrant it, or keep it with the result so you can answer "what did it do?" later. If a run was asked to change something on the website, read result.evidence.side_effects before any retry to check which actions already took effect.

When WOOL can't confirm the result

The run fails with unverified: the agent finished, but the check couldn't confirm what it claimed. Never treat an unverified run as done. If the failed run includes result, review its final_text and evidence. For a low-stakes task, you can decide whether that unconfirmed result is useful. Otherwise, retry with a more specific prompt or ask the user.

Next steps

Handling failures turns every failure reason into an action for your code. Structured results shows how an output_schema makes the check stricter.