docs(selfop): define bounded outbound recovery and failure diagnostics

This commit is contained in:
2026-10-16 11:05:59 +08:00
parent c446410cb2
commit aa904e4a2d
@@ -12,6 +12,10 @@ Lastleg 维护 `ll_selfop_owner` 和 `ll_selfop_product`,以完整资料 run
## 持续 BUSINESS 自动采集(2026-10-13 最新确认)
2026-10-16 用户确认补齐出库自动恢复:持续 BUSINESS 出库根及其分仓任务遇到普通执行异常、数据库临时锁/连接故障、供应方明确标为可重试的拒绝响应,以及目录重复、条数不符、目录变化或分页总数变化时,首次失败后最多再自动重试3次,分别等待10/20/40秒;以同一任务持久化的 FAILED 次数计数,YIELDED、等待账号间隔不消耗失败次数。第4次失败转DEAD、清空下次重试时间;日计划幂等逻辑不得另建同日根绕过上限。普通异常沿用目录、已验证暂存、归并屏障及任务身份;目录完整性错误仍按原规则清除目录检查点重新校验,不把失败批次直接发布。数据库永久错误、业务身份/范围错误、鉴权、限流、传输结果未知、停止会话和失效租约均不自动绕过保护;库存和资料继续使用原有可重试错误及次数规则。既有DEAD任务不因发布新代码自动复活。
失败尝试在现有 `error_message` 保存有界结构化诊断,包含执行阶段、异常类型、SQLState/数据库错误码(如有)、累计失败次数、重试上限和是否安排重试;不保存原始异常消息、SQL、参数、供应商响应或凭据。采集历史与任务详情沿用现有 `errorCode`/`failureSummary` 返回可读解释,日志按任务号、运行ID、受控诊断和代码栈位置定位。计算/发布异常使用实际调用阶段;采集内部异常使用该尝试最近持久化检查点。实际部署和验证状态仅见工程主契约。
用户随后明确取消 BUSINESS 的22:36:59整体许可截止及现有manual/新根人为会话截止。最新代码目标为所有BUSINESS不因这些截止停采,不以continuous开关决定是否免截止;开关仍控制服务端持续计划。VALIDATION仍有界,短permit有效期、有效lease/fence、匹配非空grant、唯一出口、限流/认证/未知结果保护均保留。已有DEAD不自动复活,消费计数和检查点不重置。下文关于BUSINESS保留冻结根截止的旧要求由本条覆盖;实际环境是否生效仍由工程主契约证据确认。
本节覆盖下文 TEST 仅采七日、禁止自动计划/两个月首采,以及 BUSINESS 必须因整体独占窗口或根总时长到期停采的旧限制;未显式开启持续模式时,有限许可及 VALIDATION 的原门禁继续生效。运行版本、部署状态和已验收证据仅维护工程主契约。