# Case: `task-add-rejects-spec-sha-mismatch` ## 用例意义 验证 `task add` 在接收 `--spec-file` 与 `--spec-sha` 时,会拒绝内容摘要不匹配的任务定义,避免 task spec 漂移。 ## 前置条件 - 已存在 run `run_blog_007` - 临时目录内存在可读取的 spec 文件 `TMPDIR/task.md` - 调用时传入的 `--spec-sha` 与文件实际 SHA256 不一致 ## 输入 ```bash orch --db TMPDIR/coord.db --json run init --run run_blog_007 --goal "Validate spec sha mismatch" orch --db TMPDIR/coord.db --json task add \ --run run_blog_007 \ --task T1 \ --title "Implement verifier" \ --spec-file TMPDIR/task.md \ --spec-sha deadbeef ``` ## 预期输出 - `task add` 退出码为 `30` - JSON error payload 的 `error.code == "invalid_input"` - `error.message` 包含 `spec-sha does not match spec-file contents` ## 断言结论 - task spec 快照不是“尽力而为”的附带字段;当显式声明 SHA 时,CLI 会把它当成契约校验 - leader 不能在 spec 内容与预期摘要不一致时继续创建 task