Files
ai-workflow-skill/docs/tests/orch/dispatch/dispatch-creates-strict-worktree.md
T

1.6 KiB

Case: dispatch-creates-strict-worktree

用例意义

验证显式 --execution-mode code dispatch 会创建隔离 worktree,并把 workspace 元数据持久化到 attempt 与任务 payload 中。

前置条件

  • TMPDIR/repo 是一个干净的 Git 仓库
  • 仓库内已存在至少一个已提交文件
  • 已存在 run run_blog_worktree_001 与任务 T1

输入

orch --db TMPDIR/coord.db --json run init --run run_blog_worktree_001 --goal "Validate strict 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 --execution-mode code --repo-path TMPDIR/repo --workspace-root .orch/worktrees --body "Implement inside isolated worktree."

预期输出

  • dispatch 退出码为 0
  • data.attempt.base_ref == "HEAD"
  • data.attempt.base_commit 等于仓库当前 HEAD commit
  • data.attempt.branch_name == "orch/run-blog-worktree-001/T1/attempt-1"
  • 返回非空 data.attempt.worktree_path
  • data.attempt.workspace_status == "created"
  • data.message.payload_json.execution_mode == "code"
  • data.message.payload_json.worktree_path 与 attempt 中的路径一致

断言结论

  • code-mode dispatch 会创建真正的隔离工作目录,而不是只记录一组字符串元数据
  • worker 读取任务 payload 时可以拿到同一份 worktree 路径

补充约束

  • 未显式传 --base-ref 且仓库干净时,会默认回退到 HEAD
  • --workspace-root 为相对路径时,会相对于仓库根目录解析