审批意图与恢复执行
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 必须与被冻结的调用一致。
批准后仍要成立的条件
Section titled “批准后仍要成立的条件”- 可信主体没有变化或失效;
- route、工具源和精确 operation 仍被允许;
- 批准的规范化参数没有漂移;
- 审批仍在有效期且尚未被消费;
- 业务系统在写入前再次通过租户、权限和状态校验。
超时不代表工具没有成功。对未知终态先用同一业务幂等键向业务系统核账,不要盲目重放写操作。