orch: require explicit dispatch execution mode

This commit is contained in:
2026-03-20 19:27:30 +08:00
parent 7840b2767f
commit 5859ff219e
43 changed files with 277 additions and 312 deletions
+8 -8
View File
@@ -27,7 +27,7 @@ All examples assume:
orch --db TMPDIR/coord.db --json run init --run run_blog_001 --goal "Build blog MVP" --summary "Public blog plus admin CRUD"
orch --db TMPDIR/coord.db --json task add --run run_blog_001 --task T1 --title "Implement retry policy" --summary "Add retry policy to HTTP client" --default-to worker-a
orch --db TMPDIR/coord.db --json ready --run run_blog_001
orch --db TMPDIR/coord.db --json dispatch --run run_blog_001 --task T1 --body "Implement retry handling for the HTTP client."
orch --db TMPDIR/coord.db --json dispatch --run run_blog_001 --task T1 --execution-mode analysis --body "Implement retry handling for the HTTP client."
inbox --db TMPDIR/coord.db --json claim --agent worker-a --thread THREAD_ID
inbox --db TMPDIR/coord.db --json update --agent worker-a --thread THREAD_ID --status in_progress --summary "Implementation started"
orch --db TMPDIR/coord.db --json reconcile --run run_blog_001
@@ -71,12 +71,12 @@ orch --db TMPDIR/coord.db --json task add --run run_blog_002 --task T1 --title "
orch --db TMPDIR/coord.db --json task add --run run_blog_002 --task T2 --title "Build frontend" --summary "Implement frontend flows" --default-to worker-b
orch --db TMPDIR/coord.db --json dep add --run run_blog_002 --task T2 --depends-on T1
orch --db TMPDIR/coord.db --json ready --run run_blog_002
orch --db TMPDIR/coord.db --json dispatch --run run_blog_002 --task T1
orch --db TMPDIR/coord.db --json dispatch --run run_blog_002 --task T1 --execution-mode analysis
inbox --db TMPDIR/coord.db --json claim --agent worker-a --thread THREAD_BACKEND
inbox --db TMPDIR/coord.db --json done --agent worker-a --thread THREAD_BACKEND --summary "Backend complete"
orch --db TMPDIR/coord.db --json reconcile --run run_blog_002
orch --db TMPDIR/coord.db --json ready --run run_blog_002
orch --db TMPDIR/coord.db --json dispatch --run run_blog_002 --task T2
orch --db TMPDIR/coord.db --json dispatch --run run_blog_002 --task T2 --execution-mode analysis
inbox --db TMPDIR/coord.db --json claim --agent worker-b --thread THREAD_FRONTEND
inbox --db TMPDIR/coord.db --json update --agent worker-b --thread THREAD_FRONTEND --status blocked --summary "Need logging decision" --payload-json '{"question":"stdout or stderr?"}'
orch --db TMPDIR/coord.db --json reconcile --run run_blog_002
@@ -101,11 +101,11 @@ orch --db TMPDIR/coord.db --json status --run run_blog_002
- 依赖门控和 blocked-answer 机制在同一个 run 中可以顺序衔接
- `answer` 不直接改 task 状态;真正的状态恢复仍依赖 worker 继续推进线程并由 `reconcile` 采集
## case: strict-worktree-dispatch-to-cleanup
## case: code-mode-dispatch-to-cleanup
### 用例意义
验证代码任务的 strict worktree 路径能从 dispatch 一直走到 cleanup,确保隔离工作区既会被创建,也能在完成后被移除。
验证代码任务的 `execution-mode code` worktree 路径能从 dispatch 一直走到 cleanup,确保隔离工作区既会被创建,也能在完成后被移除。
### 前置条件
@@ -115,9 +115,9 @@ orch --db TMPDIR/coord.db --json status --run run_blog_002
### 输入
```bash
orch --db TMPDIR/coord.db --json run init --run run_blog_worktree_001 --goal "Validate strict worktree dispatch"
orch --db TMPDIR/coord.db --json run init --run run_blog_worktree_001 --goal "Validate code-mode worktree dispatch"
orch --db TMPDIR/coord.db --json task add --run run_blog_worktree_001 --task T1 --title "Implement backend" --default-to worker-a
orch --db TMPDIR/coord.db --json dispatch --run run_blog_worktree_001 --task T1 --repo-path TMPDIR/repo --workspace-root .orch/worktrees --strict-worktree --body "Implement inside isolated worktree."
orch --db TMPDIR/coord.db --json dispatch --run run_blog_worktree_001 --task T1 --execution-mode code --repo-path TMPDIR/repo --workspace-root .orch/worktrees --body "Implement inside isolated worktree."
inbox --db TMPDIR/coord.db --json claim --agent worker-a --thread THREAD_ID
inbox --db TMPDIR/coord.db --json done --agent worker-a --thread THREAD_ID --summary "Backend complete"
orch --db TMPDIR/coord.db --json reconcile --run run_blog_worktree_001
@@ -133,7 +133,7 @@ orch --db TMPDIR/coord.db --json cleanup --run run_blog_worktree_001 --task T1 -
### 断言结论
- strict worktree 不是单次 dispatch 细节,而是完整 attempt 生命周期的一部分
- `execution-mode code` worktree 不是单次 dispatch 细节,而是完整 attempt 生命周期的一部分
- `cleanup` 的目标是已完成或废弃的工作区,不应误删仍在活动中的执行目录
## case: council-review-end-to-end