1.0 KiB
1.0 KiB
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 不一致
输入
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