Engineering
“Fix it and raise a PR” — and a draft PR arrives.
#paymentspublic channel2 tool calls
A flaky test, a plain request, and a draft pull request at the end of it. The brief is held for a Confirm that names the repository and the change; then a separate container clones the branch, runs the tests, makes the change, runs them again, and opens the PR with the evidence.
Priya10:05 AM
@attest_tag fix the flaky retry-budget test so it stops depending on wall-clock time, and raise a PR
attest_tagApp10:05 AM
- read_thread · 12 messages · the failing run and the test name
- start_fix_job · acme/payments · base main · draft PR
Fix job queued — needs your Confirm (buttons below, expire in 5 min).
- Repo: acme/payments, base branch
main - Change: move the retry-budget test onto an injectable clock instead of real sleeps and elapsed-time assertions, keeping the same coverage
- Acceptance: the suite passes ten runs in a row
- Rule: one new branch, one draft PR. Never a merge, never a push to main.
Waiting on a human
Start a fix job against main
github · acme/paymentsJOB fix/retry-budget-clock → draft PRConfirmed by Priya. clone ✓ · tests baseline ✓ (1 flaky) · fix ✓ · tests ✓ (10/10) · pull request ✓ — draft PR #421 opened; the body carries the brief, the evidence, and the results before and after.
google/gemini-flash5.2k in460 out$0.0031Configure
How the turn went
A brief from the thread, a container with one token, a draft PR.
- 01
The brief is written from the thread
What to change, the evidence gathered — the failing run, the test name, the lines — and what done looks like. It is held like any write, and the card states repository, base branch, change and the rule the worker runs under.
- 02
A container that holds only a token
The worker’s environment carries the job id, the bot’s URL and a single-use token. It claims the spec and the repository token over the API, clones with the token in a header, runs the tests, makes the change, runs them again.
- 03
A draft PR, and one message edited in place
The checklist in the thread is one message, edited as events arrive. The PR body carries the brief, the evidence, the files changed and the tests before and after — with an honest note on top when the tests still fail or none were found.
- 04
Stopping it
stopin the thread,!job cancel, or Cancel in the console end the job; the worker pushes nothing further. Jobs survive a restart, because their state is in the database.
What it needs
The setup, in the console.
What it will not do
Enforced outside the model.
It never merges and never pushes to the base branch. One branch, one draft PR, whatever the brief says.
The repository token is never in argv, the remote URL or on disk inside the worker, and the single-use token expires with the job.
A job starts on a Confirm from a person in the thread — or on an allow rule an admin wrote that clearly covers it, and the reply says which.
Try it
Say it in a channel it is in.
The sentence as it was typed. It works in any channel the bot has been invited to that carries the connection above — no command syntax, no form, and follow-ups in the thread need no mention.
@attest_tag fix the flaky retry-budget test so it stops depending on wall-clock time, and raise a PR
start_fix_job
More in Engineering
Ask the repository a question. Then hand it the fix.
- What changed since Monday, with the commits linked.#payments · what changed in the payments client since Monday?
- The decision, who made it, and a link to where.#payments · what did we decide about retries this week, in three bullets? and who first suggested capping total retry time instead of the count?
- Your own internal API becomes a tool.#ml-internal · what did the extraction of this document cost, end to end?
Bring the channel this would live in.
Sign up, connect the service above in one channel, and type this sentence yourself — or run the same binary on your own infrastructure.