> ## Documentation Index
> Fetch the complete documentation index at: https://docs.twill.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Verification

> Every PR ships with proof: build, tests, lint, runtime checks, and artifacts you can review.

The difference between a diff and a done task is verification. Before opening a PR, Twill checks its own work mechanically — and attaches the evidence so you don't have to take its word for it.

## What gets verified

* **Static checks** — type checking, lint, and a production build, using your repo's own tooling.
* **Tests** — your existing suite runs; new behavior gets new tests when warranted.
* **Runtime behavior** — because tasks run in a [real dev environment](/environment), the agent starts your app and exercises the change: clicking through UI flows with browser automation, calling API endpoints and capturing request/response, inspecting service logs.

"The types pass" or "the diff looks right" doesn't count as verified — the agent is required to observe the change working.

## Proof on the PR

Whatever the verification produced is attached to the pull request:

<Frame>
  <img src="https://mintcdn.com/twill/lDT9bWmueiookMD7/images/pr-with-proof.png?fit=max&auto=format&n=lDT9bWmueiookMD7&q=85&s=fda552bacd8067c277ce28da691c0560" alt="A Twill pull request with test output and screenshots attached" width="1862" height="1728" data-path="images/pr-with-proof.png" />
</Frame>

* Test and build output
* Screenshots of UI changes, before/after when relevant
* Screen recordings of flows (`.mp4`/`.webm`, rendered inline on GitHub)
* Logs from the running services
* A [live preview](/environment#live-previews) link while the task's sandbox is up

## CI auto-fix

If CI fails on a Twill-created PR, Twill notices and fixes it without being asked:

1. GitHub reports a failed check on the PR branch.
2. Twill matches the branch to its task, reads the CI logs, and pushes a fix.
3. CI re-runs. The PR gets a comment tracking each attempt.

Twill makes up to **3 fix attempts** per CI failure; the counter resets after 24 hours. This applies to PRs created by Twill while their task is still active.

<Frame>
  <img src="https://mintcdn.com/twill/lDT9bWmueiookMD7/images/auto-fix-ci.jpg?fit=max&auto=format&n=lDT9bWmueiookMD7&q=85&s=3020af2bd0dd5db7530118e9ff7f5e7b" alt="Twill commenting on a PR that it is fixing a failed CI check" width="1852" height="558" data-path="images/auto-fix-ci.jpg" />
</Frame>
