aboutsummaryrefslogtreecommitdiffziptar.gz
path: root/docs/orchestrator.md
diff options
context:
space:
mode:
authorgodosa <godosa@godosa.eu>2026-10-07 16:57:32 +0200
committergodosa <godosa@godosa.eu>2026-10-07 16:57:32 +0200
commit61a98e767d7c45fb00b17f969c6fb42d2cbaca48 (patch)
tree284e1c453f28a35ce12ce9f84f2053031b7c1020 /docs/orchestrator.md
parentf23d7d865eb042512ebabad87e89b35b11cc1c64 (diff)
downloadworkflow-61a98e767d7c45fb00b17f969c6fb42d2cbaca48.tar.gz
workflow-61a98e767d7c45fb00b17f969c6fb42d2cbaca48.zip
orch: one stuck task parks itself, lane keeps picking
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JEAjUkQRrCYX5MZhWxdtj2
Diffstat (limited to 'docs/orchestrator.md')
-rw-r--r--docs/orchestrator.md4
1 files changed, 2 insertions, 2 deletions
diff --git a/docs/orchestrator.md b/docs/orchestrator.md
index f878855..f3e1432 100644
--- a/docs/orchestrator.md
+++ b/docs/orchestrator.md
@@ -30,7 +30,7 @@ only in sessions started afterwards: restart it.
Two commands do steps 1-3 and 5-7 (one call each): `wf orch pick <lane> [--id ID] [--recovery WHY]` (stop file,
pick, claim, free worktree, recorded in `.wf/orch/<id>.json`, prints the spawn line and the prompt below) and
`wf orch post <id> <lane> --result "<report result line>" [--commit SHA] [--agent A] [--duration S] [--no-pick]`
-(post-check, merge if needed, leftover commit, orch + cost log lines, then the next pick or `stop lane <lane>: <why>`).
+(post-check, merge if needed, leftover commit, orch + cost log lines, then `alert: …` for a parked task, and the next pick or `stop lane <lane>: <why>` (none, stop file, push-failed, wip, no report)).
The steps they automate:
1. Pick: `wf list --runner --lane <lane>` → first id (lanes: `wf lanes`). Claim: `wf status <id> progress "worker"`. No commit of
@@ -63,7 +63,7 @@ The steps they automate:
| model raised by the worker | continue; next pick spawns it on the new model |
| sliced | next task in the lane |
| done+gate-red <culprit> <fix-id> (async gate red, earlier task's break) | post-check as done; next pick in the lane = the P0 fix (no Done/Model → add them first); never stop the lane |
- | awaiting / handback / post-check red / no report | stop the lane, tell the owner |
+ | awaiting / handback / post-check red | `wf orch post` parks only that task (blocked on its a-id, else `Sessions: owner` + note; handback clears the claim), prints `alert: …`; tell the owner, the lane keeps picking (never wait on the owner while tasks are pickable) |
| wip (after a wrap-up) | stop the lane; reslice or rerun later |
| crashed / killed (no report) | one fresh worker, prompt plus `Recovery: <why>` (it inspects git status, git log master..HEAD, `git diff -- TASKS.md` — often just the claim — and `wf show <id>`), then stop |
7. Log one line per task to `out/wf-orch.log` (git-ignored): time, lane, model, id, outcome, commit, duration.