用户可见结果
父 issue:#3660。依赖 #3663,在 #3661 / #3662 / #3663 已可用的读取、写入和多服务路径上补齐恢复行为。
遇到参数错误、授权失效、限流或超时,系统可以解释停在哪里,按明确规则修正或继续任务,不把失败当成功,也不重复产生副作用。
实施范围
- 收敛强类型错误与执行结果分类:参数可修正、需要重新授权、权限不足、限流、暂时不可用、执行失败、结果不确定。
- 参数错误允许有限次数修正;缺失业务信息向用户澄清;拒绝权限不通过切换账号、来源或 raw proxy 绕过。
- 仅对可安全重试的读取或明确支持幂等的操作重试,遵守下游退避提示、尝试上限和执行期限。
- 写操作发送后的连接中断或超时,先按现有回执/下游可查询结果处理;无法确定时明确报告,不自动重复执行。
- 重新授权后沿用任务的明确服务身份和操作意图继续,重新验证当前权限,不静默切换账号、skill 最新版或操作定义。
- 跨请求恢复事实由既有 actor/分布式机制拥有,内部契约使用 Protobuf;延迟和重试通过事件化 continuation 推进,结果沿同一流式观察主链反馈。
授权缺口恢复边界
默认发现仅展示当前身份可用实例;只有任务所需服务缺失或调用返回明确错误时才进入目标相关诊断。重新授权必须区分应用服务 grant、下游 OAuth scope、资源 ACL 和私有 skill 读取权限,不能把“缺少 skill refs”、所有 403 或节点离线统一解释为需要加权限。
有明确证据时只引导当前任务需要的最小变更;没有证据时报告当前未发现可用连接或原因未核实。不得自动扩大 grant、请求所有服务或借用另一个身份。用户完成所需处理后,重新读取当前实例和已有权限再继续;成功恢复服务权限不代表 skill 读取也自动获得授权。
验收
非目标
增加默认逐次人工审批、承诺外部服务永不失败、或对无幂等支持的第三方 API 承诺 exactly-once。
用户可见结果
父 issue:#3660。依赖 #3663,在 #3661 / #3662 / #3663 已可用的读取、写入和多服务路径上补齐恢复行为。
遇到参数错误、授权失效、限流或超时,系统可以解释停在哪里,按明确规则修正或继续任务,不把失败当成功,也不重复产生副作用。
实施范围
授权缺口恢复边界
默认发现仅展示当前身份可用实例;只有任务所需服务缺失或调用返回明确错误时才进入目标相关诊断。重新授权必须区分应用服务 grant、下游 OAuth scope、资源 ACL 和私有 skill 读取权限,不能把“缺少 skill refs”、所有 403 或节点离线统一解释为需要加权限。
有明确证据时只引导当前任务需要的最小变更;没有证据时报告当前未发现可用连接或原因未核实。不得自动扩大 grant、请求所有服务或借用另一个身份。用户完成所需处理后,重新读取当前实例和已有权限再继续;成功恢复服务权限不代表 skill 读取也自动获得授权。
验收
非目标
增加默认逐次人工审批、承诺外部服务永不失败、或对无幂等支持的第三方 API 承诺 exactly-once。