What You’ll See
Once it’s on, every PR with a build gets one comment that updates as new commits land (or, if you’ve configured it that way, the same block on the PR description instead). It includes:- A verdict per build target — Passed, Failed, or Inconclusive
- Passed: The agent exercised the change on a device and saw the expected behavior.
- Failed: The agent observed the app and the change looks broken (or a required check failed).
- Inconclusive: Nothing useful was observed — for example the device never started, or setup blocked the run before the change could be exercised.
- A short write-up of what was exercised and what the app did
- Screenshots of the moments that matter
- A link to the full session recording — no login required
- A View proof logs link, so you can watch the device live while the run is in progress
Getting Started
- Connect your repo via the Revyl GitHub App
- Turn on Proof of Changes through the dashboard or enable
pr_review.proof_of_changesin the project’s.revyl/config.yaml:
build.profiles.
On your next pull request, Proof of Changes runs automatically.
The Revyl agent uses a bounded excerpt of the author-written portion of the
pull request description as supporting context for the change’s intent,
expected behavior, and proposed test plan. The diff and your configured
always_verify checks remain authoritative.
If you cannot install the Revyl GitHub App or you use a different SCM, you can use the Proof of Changes via Cursor Cloud guide to set up Proof of Changes without the App.
Authentication and Session Prep
We recommend bypassing authentication so each run starts from a signed-in state. Set this up with thesession.auth_bypass field in your config.
To run a script before the device session starts — for example, seeding test
data — use the session.before_script field.
Advanced Configuration
You can set additional configuration parameters from the PR-review settings dashboard, or underpr_review.proof_of_changes in .revyl/config.yaml.
By default, proof runs execute on the Revyl agent. To follow a run as a
Cursor Cloud Agent thread instead, connect a
Cursor Cloud integration and set
harness.kind to cursor. After publishing or committing that policy, run
revyl config authorize-cursor-proof.
See the full
pr_review field reference on the
GitHub integration page.