From 61a98e767d7c45fb00b17f969c6fb42d2cbaca48 Mon Sep 17 00:00:00 2001 From: godosa Date: Wed, 7 Oct 2026 16:57:32 +0200 Subject: orch: one stuck task parks itself, lane keeps picking Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01JEAjUkQRrCYX5MZhWxdtj2 --- docs/manual.md | 4 ++-- docs/orchestrator.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'docs') diff --git a/docs/manual.md b/docs/manual.md index c9f7bd1..3d50ade 100644 --- a/docs/manual.md +++ b/docs/manual.md @@ -122,8 +122,8 @@ switches them to worktree mode (one branch per task, `wf finish` merges it). One After `/clear`, type `/wf-orchestrate` (`go` = start the proposed run without asking, `batch N` = prepare an unattended batch). The orchestrator holds no lane and never reads code. It spawns one fresh `wf-worker` per task (`wf orch pick` / `wf orch post`), one per lane in -parallel, on the task's model, and stops a lane on the first awaiting, handback or red -post-check. Use it when the backlog is runner-ready (section 3) and you want to steer. +parallel, on the task's model, and parks a task that ends awaiting, handback or red post-check +(blocked / `Sessions: owner`, alert) while its lane keeps going. Use it when the backlog is runner-ready (section 3) and you want to steer. ### Overnight: `/wf-pilot` `/wf-pilot [--batch 4] [--lanes a,b] [--for 8h]` in an idle session, which can be one you opened 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 [--id ID] [--recovery WHY]` (stop file, pick, claim, free worktree, recorded in `.wf/orch/.json`, prints the spawn line and the prompt below) and `wf orch post --result "" [--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 : `). +(post-check, merge if needed, leftover commit, orch + cost log lines, then `alert: …` for a parked task, and the next pick or `stop lane : ` (none, stop file, push-failed, wip, no report)). The steps they automate: 1. Pick: `wf list --runner --lane ` → first id (lanes: `wf lanes`). Claim: `wf status 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 (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: ` (it inspects git status, git log master..HEAD, `git diff -- TASKS.md` — often just the claim — and `wf show `), then stop | 7. Log one line per task to `out/wf-orch.log` (git-ignored): time, lane, model, id, outcome, commit, duration. -- cgit