1.4 KiB
1.4 KiB
Case: retry-creates-new-attempt-for-failed-task
用例意义
验证 retry 会在失败任务上创建新的尝试记录,而不是复用旧线程或旧 worktree。
前置条件
- 已创建运行
run_blog_retry_001 - 已创建任务
T1 T1已通过严格 worktree 模式完成首次dispatchworker-a已claim首次尝试线程并通过inbox fail把线程推进到failed- 最近一次
reconcile已执行,使任务状态同步为failed - 已知首次尝试的线程为
OLD_THREAD_ID,worktree 为OLD_WORKTREE_PATH
输入
orch --db TMPDIR/coord.db --json retry --run run_blog_retry_001 --task T1 --body "Retry after fixing the failure."
预期输出
- 退出码为
0 retry.data.task.status == "dispatched"retry.data.attempt.attempt_no == 2retry.data.attempt.thread_id != OLD_THREAD_IDretry.data.attempt.worktree_path != OLD_WORKTREE_PATH- 新 worktree 路径在文件系统上存在
retry.data.previous_attempt.attempt_no == 1
断言结论
retry会为失败任务生成新的执行尝试,而不是把旧尝试重新打开- 对代码任务而言,重试会分配新的 worktree,避免旧失败环境污染下一次执行
补充约束
--to可选;未显式传入时,默认沿用当前任务/尝试的既有分配信息retry支持--body-file,并遵守与--body的互斥规则