跳转至

结果与状态

结果描述当前证据,而不是客户端希望发生的事情。业务任务终态、产物质量、审核结论与费用状态可以分别变化。

状态

status 语义 需要的数据
succeeded 本动作承诺的结果已得到确认 data;写入还需原操作引用
pending 已确认接收,尚未达到终态 operation、当前业务状态及观察入口
blocked 本次请求在前置检查阶段被阻止,未执行领域副作用 error 与可执行的解决方向
failed 动作已确认失败;是否已发生部分效果由领域数据说明 error;有已接收操作时保留引用
partial 聚合目标中只有部分达到约定结果 成功与失败的逐项 data
cancelled 本动作取消已被服务端确认 data 说明已发生效果及取消范围
unknown 客户端无法判断原操作结果 operation、result_unknown 错误与恢复入口

AXI-RESULT-001:实现必须按可观察证据选择状态;接收、排队、HTTP 成功或安装完成不得被当作业务目标已完成。unknown 不得被改写成可安全重发的 failed。

AXI-RESULT-002:写入的非 blocked 回执必须保留原操作引用;partial 必须暴露逐项结论;结果不得把技术成功、质量通过和费用结算合并成未经验证的单一成功标记。

最小结果与验证范围

action 和 contract_revision 指明本次动作合同。context 指明已验证范围。data 承载领域结果,例如:

{
  "document": {"id": "doc_contract_001", "revision": 8, "review_state": "approved"},
  "verification": {"decision_recorded": true, "content_quality": "not_evaluated"}
}

这是结果的业务 data,完整回执见成功示例。记录了审批决定不代表系统已经重新阅读并确认文档质量。

客户端认知状态

stateDiagram-v2
  [*] --> Ready: 对象、输入及授权明确
  Ready --> Blocked: 前置拒绝
  Ready --> Submitted: 提交固定输入与键
  Submitted --> Pending: 确认接收
  Submitted --> Unknown: 无法确认结果
  Pending --> Unknown: 观察中断
  Unknown --> Pending: 查明原操作在途
  Unknown --> Verified: 查明原操作终态
  Pending --> Verified: 得到明确终态
  Verified --> [*]: 报告成功、失败、部分或取消
  Blocked --> [*]

该图不定义各领域的生产状态机。恢复可以改变客户端认知,但不得凭空逆转领域事实。终态回执和迟到的在途消息发生竞争时,客户端应按原操作的有效版本处理,不能用旧消息覆盖新终态。