跳转到内容

审批意图与恢复执行

BailingHub 的审批是“工具调用审批意图”,不是替代企业 OA 或业务系统审批。中枢负责暂停调用、冻结参数并接收决定;业务系统负责谁能审、审批流程和恢复前的最终授权。

{
"kind": "tool_approval_request",
"approval_id": 123,
"job_id": "job_...",
"route": "inventory_ops",
"provider": "erp",
"tool": "inventory.adjust",
"scope": "inventory.write",
"risk": "high",
"on_behalf_of": "tenant_1:user_1001",
"args": { "store_id": 8, "sku_id": 10086, "delta": -20 },
"args_hash": "sha256:..."
}
POST /approvals/{approval_id}/decision
{
"kind": "tool_approval_decision",
"schema_version": "bailing.approval-decision.v1",
"approval_id": 123,
"job_id": "job_...",
"request_id": "req_...",
"args_hash": "sha256:...",
"decision_id": "oa:approval:9001",
"decision": "approved",
"approver": "user_2002",
"comment": "OA 审批已通过"
}

只接受 approved 或 denied。decision_id 是业务审批系统的幂等键;args_hash 必须与被冻结的调用一致。

  • 可信主体没有变化或失效;
  • route、工具源和精确 operation 仍被允许;
  • 批准的规范化参数没有漂移;
  • 审批仍在有效期且尚未被消费;
  • 业务系统在写入前再次通过租户、权限和状态校验。

超时不代表工具没有成功。对未知终态先用同一业务幂等键向业务系统核账,不要盲目重放写操作。