Skip to main content
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, 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:
A Twill pull request with test output and screenshots attached
  • 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 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.
Twill commenting on a PR that it is fixing a failed CI check