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_schemawhen 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:
| Field | What it holds |
|---|---|
evidence.urls | Every page the run visited. |
evidence.side_effects | Every action that changed something, with what the page showed afterwards. |
evidence.verifier | What 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.