Questions and continue
Questions
A step that can't go on without an answer, like implement on a vague issue, asks on your item:
- It writes its questions to
.away/out/questions.mdandaskto.away/out/status, and the chain ends. - awaywork posts them as one comment, marked
— awaywork, on the unit's item from the rule's own tracker (the oneon_donewould move), when that item is yours: your PR, an issue assigned to you, a tracker item. - The unit is skipped as waiting for your answer, under Needs you as
answer question. - A reply ends the wait, and the next run takes the unit with the same rule: within minutes on a
run: soonrule.
The model writes the questions, awaywork the last two paragraphs. On GitHub it shows up as you:
octocat commented
Before I write code for "Add rate limits":
1. Per user or per API key? The issue says "per client", and src/auth.ts has both.
2. Should a burst over the limit get a 429, or wait for the bucket to refill?
Reply here to answer: awaywork's next run takes this up again with your reply.
— awayworkThe result reads asked questions, the report lists them under Questions, and awaywork run prints questions posted on <url>, the comment's URL on GitHub, the item's elsewhere. The next run's item.md has the comment headed awaywork's questions, replies after it; a step that still can't go on asks again.
Details:
- awaywork's own comment bumping
updatedisn't a change. - Any later comment the agent sees ends it, yours or a teammate's: on GitHub an owner's, member's or collaborator's; on a tracker, any comment on an item assigned to you.
- Bots don't (GitHub's bots, Jira's and Linear's apps, Linear's integrations): they show in
item.mdbut the unit keeps waiting. Asana and custom sources don't mark bots, so there an integration's comment ends it. - A comment is awaywork's only when its
— awayworkline comes from your account, so a pasted one doesn't hold your item (Safety). - On an item that isn't yours, a source that can't write (a custom source without
write) on a rule without a thread, or a failed post, the questions stay in the morning report with the reason; the unit is still done. - A step that committed and asks opens a draft (
draft: asked questions) headedStatus: ask, questions on <item>,status=askin the footer, as forcontinue; underpushthe commits go onto your PR. Once answered, the next run goes on with that draft,run: soonincluded. - With no status file awaywork guesses as before: a step that committed went on, so
questions.mdstays inout/, unposted. A word other thandone,askorcontinue, oraskwithoutquestions.md, reads as no file, with a line in the run's log. - A chain that asked doesn't run its rule's
on_done.
Continue
You get one draft PR that grows over several window runs, Status: continue (1 of 3) on top. Under deliver: pr it turns ready for review once done; mark it ready yourself to take it over: a ready PR, or a draft with no status in its footer, waits for review like any awaywork PR.
A step commits what's solid and writes continue to .away/out/status. The chain stops there, so no review or fix runs on half-done work, and publishes what it has. Under draft_pr or pr that's a draft (draft: the agent will continue), the count in its footer:
Export screen
Status: continue (1 of 3): awaywork's next window run goes on here
[...]
---
<!-- awaywork run=20261026-232730 item=github:acme%2Fapi%231%2Fapp status=continue continued=1 head=1f8a2313462c9a1f49af169ae1822d14c8adcde3 from=16548667d8e02a7a03e25135ff6054b195de8e51 -->
Opened by awaywork (run `20261026-232730`): a coding agent worked on this unattended. Review it like any other contribution.The next run that would take the item anyway (window, scheduled or manual, never run: soon) goes on with the draft. Its commits fast-forward onto it, no new PR or suffixed branch, and the new pr.md replaces title and body:
Units 1
item rule skill provider deliver title
1 acme/api#1/app #2 soon implement (built-in) claude pr Export screen
in acme/web
goes on with its draft https://github.com/acme/web/pull/13, which said continue (1 of 3)Once the agent says done (or writes no status file) and verify, the gates and the loops pass on every commit of the draft, a deliver: pr draft turns ready for review; a draft_pr stays a draft, its status line gone. The agent's word can only hold a PR back.
Details:
- awaywork reads the footer back: status, count, the head it pushed, and the commit the draft's commits start after. The visible line is for you; the agent could write a
Status:line itself, but not after the footer. - The run that goes on clones the draft's branch, its prompt saying so, with the last report (or the draft's body, if no run of it is kept on the machine) in
.away/context/previous/report.md. - A chain that committed nothing has no draft, so its questions are posted.
- The footer still holds the draft's dependents back.
- A
run: soonrun skips acontinueasgoes on from <PR> in the next window run. - A report that says
continueposts its result where results go (a report task's,on_done: { comment: result }'s) withStatus: continue (1 of 3), and runs again from it asprevious/report.md, up to the same cap. Clear a capped count withawaywork skip, or by deleting awaywork'scontinueresults on the item. Otherwise it only reports. - A
continuewith nowhere to keep its count (no commits on a new branch, or apush,pending_revieworplanrule) reads as no status file, with a log line. - A chain that says
continueskips its rule'son_donemove: the unit isn't done.
When it won't go on
awaywork goes on only with its own GitHub draft: head where it left it, opened by you, body last edited by you, under 3 continues. Otherwise the report says <why>: finish <PR> by hand, the draft opens without the status line, its questions stay in the report, and the next plan skips the unit:
Needs you 1
acme/web
#7 Export screen finish by hand
awaywork's draft says continue, but it moved from 1f8a231,…The whys: awaywork goes on with its own draft on GitHub only, someone else opened or edited it last, it moved from <sha>, where awaywork left it, it continued 3 times.