背景
AgentRunGAgent 现在对 duplicate start、timeout、missing token、stale request、generator throw、cleanup schedule 等单点场景已经有不少保护。
但 feature/lark-bot 当前更薄的地方,不是单个异常分支,而是:
- run 已 terminal 后再次收到
ready / dropped / failed
- terminal 后再次收到 cleanup / retry / continuation
- late callback / stale signal 到达时是否还会污染最终状态
问题
现在需要把 AgentRunGAgent 的 terminal state 收敛成明确的幂等边界。
否则容易出现:
- duplicate closeout
- duplicate upward notification
- stale signal 影响已完成 run
- terminal 后还继续推进内部状态机
目标
明确并实现 terminal 后的处理规则:
- duplicate terminal signal 不再触发二次 closeout
- stale / late signal 不改动最终结果
- cleanup 在 terminal 后保持 no-op 或显式幂等
- internal retry / continuation 不在 terminal 后继续推进
验收标准
- terminal 后重复
ready 不会再次 closeout
- terminal 后重复
dropped / failed 不会再次改写最终状态
- terminal 后 cleanup 不产生额外副作用
- stale / late signal 被识别并忽略
- 规则足够清晰,可支撑后续定向回归测试
背景
AgentRunGAgent现在对 duplicate start、timeout、missing token、stale request、generator throw、cleanup schedule 等单点场景已经有不少保护。但
feature/lark-bot当前更薄的地方,不是单个异常分支,而是:ready / dropped / failed问题
现在需要把
AgentRunGAgent的 terminal state 收敛成明确的幂等边界。否则容易出现:
目标
明确并实现 terminal 后的处理规则:
验收标准
ready不会再次 closeoutdropped / failed不会再次改写最终状态