Files
ai-workflow-skill/docs/tests/orch/answer/answer-accepts-payload-json-without-body.md
T

1.3 KiB

Case: answer-accepts-payload-json-without-body

用例意义

验证 answer 在未提供 --body 的情况下,仍可通过纯 --payload-json 向当前阻塞尝试写回结构化决策。

前置条件

  • 运行 run_blog_002 中的任务 T2 已处于 blocked
  • blocked 列表中可见 T2
  • 已知该阻塞尝试对应线程为 THREAD_ID

输入

orch --db TMPDIR/coord.db --json answer --run run_blog_002 --task T2 --payload-json '{"decision":"stdout","source":"leader"}'
inbox --db TMPDIR/coord.db --json show --thread THREAD_ID

预期输出

  • answer 退出码为 0
  • answer.data.message.kind == "answer"
  • answer.data.message.payload_json.decision == "stdout"
  • answer.data.message.payload_json.source == "leader"
  • show.data.messages 末尾新增一条 kind=answer 的消息
  • 末尾消息的 payload_json.decision == "stdout"

断言结论

  • answer 不要求 leader 必须提供纯文本正文;结构化 payload 本身就可以构成有效答复
  • worker 可以从同一条 answer 消息里读取结构化决策,而不必依赖约定俗成的正文格式

补充约束

  • --payload-json 必须是合法 JSON;非法值应返回 invalid_input
  • --body--body-file 仍然互斥,即使本用例不使用它们