Repository navigation
Recover already admitted Steward continuations after a lost acknowledgement - #8402
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
loopx-agent
left a comment
There was a problem hiding this comment.
Reviewer: model_agent, gpt-6.1-sol, OpenAI, runtime_reported, reasoning_effort=max
Approval conclusion (author-owned PR; GitHub blocks formal self-approval)
动机 / Motivation
管家的续作已经完成,但入队确认丢失后,原 Lark 会话可能只看到失败通知。对照重放:保留恢复预留和已完成续作,Core 与 Lark 仍指向旧失败 Turn,且旧原生证明已不可读。当前提交能认回同一个续作,保留失败通知,并回送一次最终答复。本次覆盖实际 Core、文件存储和 Lark 投递路径,使用本地合成 provider。真实 Lark 账号和打包候选仍需发布资格验证。
改动思路 / Approach
沿用 Core 的预留和 TypeScript 的来源绑定,只修复已入队续作的关联。Python 按预留的 client id 查已存在的 Turn;类型规则核对原失败身份、版本、会话、消息、来源和附件。首次准入仍需原原生证明,认回结果仍需当前来源和权限验证。没有新增消费者、队列、投递协议或模型调用。
具体改动 / Changes
评审 92271fe,基线 c44eb15,5 个路径,+64/−17。对照原会话续作契约:admitted-turn-readback、source-and-identity-fences 和 one-original-return 已复测;packaged-provider-qualification 单独验收。
关键代码讲解
- Core 读取预留 能发现没有 numbered retry 标记的旧预留。TS 校验 只认确定的 client id 和同一失败 Turn、版本、会话、正文、来源;旧行缺省来源时只接受原 Lark 默认值。
- 已有恢复执行器 仍重验当前 binding 和原始消息。已有 admitted id 时读回该 Turn,复用 Lark 投递,不再次入队。
对主干的风险 / Risks
两版各 12 个独立实际入口对照。普通文本和富文本输入的基线都保留 1 条失败通知、0 条最终答复,并再次尝试读取旧证明;候选仍保留同一通知,向原会话投递 1 次原结果,不查询旧证明,也没有新增模型启动。重复扫描无新投递。改动原消息、用错误的 canonical origin 或失败 Turn、以及只有预留没有入队记录,都不会回送答复或启动模型;仅有预留的路径仍需要原证明。
我的整体评价 / Verdict
认可当前提交。70 项 Python 恢复用例、63 项 TS 测试、类型检查及标准预合并检查通过。补充套件另通过 152 项 Lark 用例,随后主动停止,未声明全套通过。2.3.0 文档中的两项补充对应已经合入的 #8394、#8387,18 项双语启用说明通过文档门。独立重放未向真实 Lark 发送消息,也未启动付费模型或发布候选。
English verdict: APPROVE. The exact admitted Steward Turn is recovered and delivered once after a lost acknowledgement, with the original failure and source fences preserved and no duplicate model work.
2.3.0 的完整回归捕获了管家续作确认丢失。旧失败请求的恢复预留已写入,续作已由原队列执行完成,Core 和 Lark 的记录却仍指向旧 Turn。恢复读回再次要求旧原生证明,当旧证明不可用或会话在读回期间推进时,原答复可能无法送回。
Core 现在读取同一恢复预留对应的已入队 Turn。既有 TypeScript owner 校验会话、失败 Turn、版本、固定 client id、原文、来源和附件。原渠道仍须通过当前来源验证,之后只修复关联并回送已有结果。已入队 Turn 沿既有路径复用。
审查提交为
92271fe114916428be6fd36558bb7a93fbe49da8,基线为c44eb156d947198b9b5e36e1f9444afbbf9b205b。请核对旧预留的关联恢复与新工作准入边界,并独立复现失败通知与原结果各自的读回。发布仍以同一候选的完整资格检查为准。