Files
ai-workflow-skill/docs/tests/orch/dispatch/dispatch-rejects-dirty-repo-without-base-ref.md
T

1.0 KiB

Case: dispatch-rejects-dirty-repo-without-base-ref

用例意义

验证 strict worktree dispatch 在仓库存在未提交修改且未显式指定 --base-ref 时,会拒绝继续执行。

前置条件

  • TMPDIR/repo 是一个 Git 仓库
  • 仓库工作区存在未提交变更
  • 已存在 run run_blog_worktree_002 与任务 T1

输入

orch --db TMPDIR/coord.db --json run init --run run_blog_worktree_002 --goal "Validate dirty repo rejection"
orch --db TMPDIR/coord.db --json task add --run run_blog_worktree_002 --task T1 --title "Implement backend" --default-to worker-a
orch --db TMPDIR/coord.db --json dispatch --run run_blog_worktree_002 --task T1 --repo-path TMPDIR/repo --workspace-root .orch/worktrees --strict-worktree

预期输出

  • dispatch 退出码为 30
  • JSON 错误码为 invalid_state
  • .orch/worktrees/run_blog_worktree_002/T1/attempt-1 不应被创建

断言结论

  • strict 模式不会隐式吞掉未提交工作区状态
  • 当 leader 依赖脏工作区时,必须显式给出 --base-ref