Your issue says it crashes. PatchPilot proves it.
Paste a public GitHub issue link. PatchPilot reproduces the bug in a Docker sandbox and returns a reproduction script, a failing test, and a suggested fix diff, with the captured logs as proof. The lead artifact is the failing test reporters never send.
Public repositories only. Python, JavaScript, and C++ in v1. No accounts, no billing. Jobs run one at a time with a daily cap.
How it works
1. Paste the issue
A public GitHub issue URL. The error signature is extracted before any compute is spent.
2. Watch it run
Setup, then up to six attempts in a capped container: network on to install, network off to run.
3. Read the verdict
Computed from exit codes and log matches, never written by the model. The raw log is one click away.
4. Take the evidence
Copy the reproduction script and the failing test. The fix diff is a suggestion, labeled as one.
Five verdicts, no success theater
A tool that only ever says “reproduced” cannot be trusted. Every job ends in one of five verdicts, including the uncomfortable ones.
The reported error showed up in the sandbox, with the log to prove it.
The bug did not show up here. An honest negative, with everything that was tried.
The environment could not be built, so no attempt was possible.
The issue lacks the error, steps, or expected behavior needed to reproduce it.
A ceiling stopped the job: attempts, time, or the daily job cap.
Sample reports
Real runs from the fixture suite (2026-11-06, Qwen3-Coder): seven of ten curated issues reproduced. These three show the shape of a report, hits and miss included. The case study has the full distribution.
Reproduced: humanize #57
REPRODUCED ValueError: math domain error, matched in the captured log.
Reproduced: pyflakes #764
REPRODUCED TypeError: 'bool' object is not subscriptable.
Not reproduced: pyflakes #744
NOT REPRODUCED Every attempt ran clean. The negative outcome, shown in full.
Trust block
- Nothing is ever posted to your repository. No PRs, no comments.
- Every report discloses that an AI agent produced it, and separates what was verified from what was suggested.
- Untrusted code runs only inside a capped Docker container, destroyed after the job. Job workspaces are deleted after each job.
- Issue text and repo files are treated as data, never as instructions to the agent.
- Reports are kept and removed on request. See the privacy note.
Limits, stated plainly
Three languages (Python, JavaScript, C++). Public repos only. One job at a time, with a daily job ceiling while the demo runs on a small inference budget. A suggested fix is never claimed correct beyond the one verified test transition on its report.