From a stack trace to a draft pull request.
What happens when an error arrives
An event lands on the ingest endpoint and is grouped into an issue. The issue is scored for fixability. Above the project's threshold, a fix run starts: the agent reads a context bundle, states a root cause, proposes a plan you can edit, writes a patch behind a confidence gate, and opens a draft pull request against the branch you nominated.
The agent reconstructs the sequence, not just the throw
A stack trace tells you where a program died. Breadcrumbs tell you what it was doing first. The context bundle carries both, which is how a race condition becomes legible instead of looking like a random null.
- t+0msPOST /api/session — token refresh begins
- t+31msconcurrent request reads session.user
- t+34msrefresh invalidates the old session
- t+35mssession.user is undefined — TypeError thrown
The five steps of a fix run
Scan
scanThe issue is scored for fixability. Runs start only above the project's threshold.
Root cause
root causeThe agent reads the context bundle and states, in one sentence, what is actually wrong.
Plan
planA change plan, before any code. You can edit it, or reject it, before a line is written.
Patch
patchThe plan becomes a diff. Confidence below threshold pauses the run instead of guessing.
Draft PR
draft PRA draft pull request, with the root cause in the description. You review and merge.
What it does not do
- It does not merge. Every pull request arrives as a draft. A human reviews it, runs the tests, and merges it. There is no setting that changes this.
- It does not execute your code. No container runs your test suite against the patch today. Sandboxed fix validation is the next item on the roadmap, and until it ships the agent is reasoning, not verifying.
- It does not fix everything. The fixability score exists because most production errors are not the kind an agent should touch. A run that does not start is the system working.
Frequently asked questions
How does an AI agent fix a production error?
It reads a context bundle — the stack trace, the in-app frames, the source around them, the breadcrumbs and the commits that recently touched those lines. From that it states a root cause, proposes a change plan, writes a patch, and opens a draft pull request. A human reviews and merges. The agent never merges.
What stops it from opening a pull request full of nonsense?
Two gates. A fixability score decides whether a run starts at all, and a run only begins above the project's threshold. Then every step of the run emits a confidence score; below the threshold the run pauses and waits for a human rather than proceeding on a bad root cause.
Can I edit the plan before it writes code?
Yes. The plan is a separate step from the patch, precisely so you can correct it, or reject it, before a line of code is written. Correcting a plan is cheaper than reviewing a wrong diff.
Does the agent run my tests against the patch?
Not yet. Sandboxed fix validation — running your test suite against the patch in a container — is the next thing on the roadmap. Today the agent reasons about the code and you run the tests, which is why the pull request arrives as a draft.
What happens if a fix run crashes halfway through?
Each step is a checkpoint. A run that dies during the coding step resumes at the coding step, with the root cause and the plan it already produced, rather than starting over and paying for the same tokens twice.