billing-workerBILL-219
Sentry alert
invoices.Generate is timing out: context deadline exceeded, 1,840 events since Monday's deploy.
Fig. 2 A run on billing-worker, started by a Sentry alert. Hold Approve to open the pull request.
Readread_issue
Orrin starts from the report: the stack trace, the logs around it, the issue's thread and how many people it affects.
Find the causegit_log
It walks the commits since the error first appeared and names the one that introduced it, with the lines that matter.
Reproducerun_tests
It writes a failing test that shows the bug, using your test runner, before it changes a line of your code.
Fixedit_file
It makes the smallest change that turns that test green, on its own branch, in the style of the files around it.
Verifyrun_tests
It runs the whole suite, and your linters and type checks, in a sandbox that is deleted when the run ends.
Askcreate_pull_request
It stops, shows the diff and its reasons, and waits. Nothing is opened until a person approves it.
Orrin can read and test without asking. Anything that leaves its branch, or reaches past the folders, commands and secrets you gave it, stops for an approval. Merging is always yours.
| Action | Default |
|---|---|
| Read code, issues and logs | Allowed |
| Run your test and lint commands | Allowed |
| Edit files on its own branch | Allowed |
| Open a pull request | Asks first |
| Use a secret or a new command | Asks first |
| Touch a folder outside the project | Asks first |
| Merge into a protected branch | Never |
GitHub on every plan. Sentry, Linear and Slack on Team. Every integration on Enterprise.
A fresh sandbox per run
Each run gets an isolated machine with no network beyond your package registry. It is deleted when the run ends.
Your cloud, if you need it
On Enterprise, sandboxes run in your own AWS or Google Cloud account, and no code leaves it.
A record of everything
Every command, file read and approval is in the run's history and the audit log, for as long as you keep them.