Skip to content

fix(chat): recover completed steward handoffs after quota restoration - #7994

Merged
loopx-agent merged 2 commits into
mainfrom
codex/steward-completed-metadata-review-20261103
Nov 3, 2026
Merged

loopx-agent merged 2 commits into
mainfrom
codex/steward-completed-metadata-review-20261103

Conversation

@loopx-agent

@loopx-agent loopx-agent commented Nov 3, 2026 •

Copy link
Copy Markdown
Collaborator

原生管家已经完成回答、但交办元数据解析失败时,原回复会停在已完成状态,未提交的交办无法继续处理。现在由原请求的恢复路径核验同次原生结果并私有留存,再复用既有的一次只读格式修复;已送达正文不重复发送,原业务不重跑。

  • 完成状态也能发现未提交的元数据;仅接纳原接收者、顺序和文本证据,未知外层字段、改写目标及工具执行均拒绝。
  • 原生额度耗尽时持久等待,不预占格式修复机会。少量正余额或余额波动不能清除真实配额失败;须观察到配额周期、账户或已知重置边界恢复。
  • 原结果留存在原 Turn 的私有不可变文件中;补存需要当前来源、正常终态、原输入及执行证据和未变化的原 Turn。IO 失败保留原答复与待处理状态。
  • Chat store 的已审查行数上限由 2066 对齐到本次实际 2074;未修改全局规模规则或既有历史债务豁免。

验证:当前主分支整合后的10文件 Python 回归675项通过、1项显式 opt-in真实旧运行时测试未启用;TypeScript47项与 exact-head standard premerge通过。相同独立原 HTTP/Core/模拟提供方用例在当前主分支复现旧缺陷、修复版通过。覆盖额度等待及恢复、原生历史清理、停止/新输入/来源变化、证据冲突、补存 IO 和重复调度。九个变更文件公开边界扫描干净。

本 PR 不证明真实配额已恢复、历史业务已执行或所有界面验收已完成。旧失败及效果未知的请求继续保留,交办仍由原服务按当前权限执行。

Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>

@loopx-agent loopx-agent left a comment

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approval conclusion (author-owned PR; GitHub blocks formal self-approval)

APPROVE — 原生答案已完成但交办元数据未提交时,本次修复能让原请求安全进入既有格式修复路径;原业务及已送达正文均不重复执行或发送。没有发现阻塞此源码修复的缺陷。

Exact head: 472a257
Base: 6a6a859
Reviewer: model_agent; gpt-6.1-sol; OpenAI; runtime_reported; reasoning_effort=max

动机

受影响者是原私聊中的 Antigravity 管家及其原接收 Agent。

原生答案已完成、但文本交办格式错误时,旧路径遗漏该交办;修复后原 worker留存严格原证据,在合格额度恢复后仅执行一次工具禁用格式修复。

原 HTTP/Core/模拟提供方用例产生一次原接收者 Inbox提交,原 Turn/events保持不变,原正文不重复发送。

本次不重放未知效果业务,不唤醒接收者,不切换账户,不新增消费者,也不声称旧消息或真实业务已经全部完成。

真实配额恢复、真实模型格式结果、原接收者业务回传及安装后的 App体验仍需独立验收。

旧路径只识别带特定恢复标记的完成结果;完整正文里的交办格式错误会一直留在“完成”状态。仅增加发现提示不足以处理原生历史清理或真实配额失败。本次沿原 Bot、原来源与原接收者修复,不新增执行者、受众权限或重放业务。

改动思路

事实观察留在原 provider/Chat store,恢复资格由既有 TypeScript owner判断,发送与交办沿原来源和原回执事务执行。

当前 PR边界是原交办元数据的证据保留、额度等待和一次格式修复;真实业务执行与最终回传继续由原 Bot及接收者负责。

Python 只观察原输入、同次执行及正常终态,并按原 Turn 锁不可变留存最小事实。TypeScript 负责完成状态、原回复、接收者/顺序、文本证据和配额资格。既有工具禁用格式修复只允许一次,最终交办仍过原权限与 Inbox owner。
已存在的60秒发现退避继续使用;没有新增忙轮询器或生成式额度探针。

原状态 本次行为
完成正文,交办元数据未提交 核验原证据后进入既有一次格式修复
最近请求真实额度失败,但仍显示少量余额 原请求留存失败周期;不预占格式修复
来源/输入变化、停止、证据不全或格式修复失败 保留待处理;不重跑业务

表为此 exact head 的源码控制流说明,不充当执行证据。已知 JSON 文本 brief 仅转为原证据字符串,未知外层权限字段拒绝;格式结果不能改目标或 context。共有523增/47删,九个文件;复用一个完成事实投影、一个既有格式 owner 和原回执事务。Chat store 行数基线2066→2074与实际八行增长一致,未放宽全局规模规则。

规范映射

spec_ref: docs/architecture/rfcs/app-conversation-and-async-inbox-v0.md
spec_revision: 6a6a859
L28-L30:原 Python IO/TS 决策分工保留。
L67-L77:原请求、原 Turn 及模糊回执不被重写或盲重发。
L92-L101:每次按原来源与当前 binding/队列重新核验。
L270-L285:原正文不重复投递;格式修复不重新执行原业务。
L103-L105:真实安装、配额恢复及 App/接收者业务验收仍是独立未闭范围。

验证与反证

  • 当前主分支整合后的10文件 Python 回归:675项通过、1项跳过;TypeScript47项通过。
  • 精确 head 的 standard premerge通过,含 RFC双语、规模/语义词汇及风险 canary;CQR按当前 Goal配置关闭。独立底层规模扫描的旧 oversized Todo函数在当前 base同样存在,由原 premerge规则判为既有 advisory。
  • 同一原 HTTP/Core/模拟提供方用例(fixture SHA cd97471722d987c6e09f3d0a44d670c9d8f819547f2aace0a5c0c03975ec9f88)在当前 base仅因完成交办未返回而失败,在此 head通过。
  • 强反例覆盖原生历史在额度等待后清理:原 worker已留存证据,余额波动不恢复;合格周期恢复后仅一次工具禁用格式请求、一次原接收者 Inbox提交。
  • 停止/新输入/来源漂移、缺失锚点、原证据冲突、未知外层字段、目标/context改写、工具步骤及 IO失败均被覆盖;原 Turn/events和正文次数保持断言。
  • 九个变更文件公开边界扫描干净;全局 check仍有两个既存私有 Goal的 canonical authority错误,未冒充整体健康。没有查询、轮询或等待CI。

具体改动

  • native adapter复用一份最小完成事实投影;额度读取只调用原生只读 RPC,不发送生成探针,也不保存原账户标识。
  • external conversation bridge在当前来源/队列/Turn fence内补存原结果,失败只报告错误类型;当前来源随后再次核验。
  • Chat store补存要求原完成快照及 upstream invocation一致,私有文件继续不可变;普通运行中捕获保持原流程。
  • TypeScript owner严格限定 completed invalid metadata、原接收者/顺序及 context;已知文本 JSON brief只成为证据字符串。
  • 新增原 HTTP/Core负例、存储围栏及配额周期验证;原单次 formatter、正常 Inbox权限 owner和60秒退避继续复用。

对主干的风险

新的 completed路径可能接触旧持久记录,因此缺失锚点、非正常最终步骤、被修改正文或当前来源不符一律保留。缓存事实不是活跃状态或授权;失败 Turn仍要求 live/latest原证据。正余额可能与实际硬配额失败并存,故余额波动不能触发执行;配额观察未知也不能花掉一次格式修复。旧 formatter失败与效果未知的发送继续保留原回执,不构成再执行许可。实际模型恢复与真实 App投递尚未证明,本次批准只覆盖此完整源码链。一个真实 launchd升级测试为显式 opt-in且未配置所选旧 Core,已跳过并保留缺口;其他675项通过。

我的整体评价

本次源码修复是独立可用的增量,保持默认路径与权责归属,未建立第二队列或执行权。真实配额恢复、真实模型格式结果、原接收者业务回传、安装后的体验仍待原服务验收;其他旧失败或效果未知的请求继续保留,不能据此结项。

English verdict: APPROVE. The original worker retains qualified completed metadata, waits through a verified quota epoch and reuses one tools-disabled format review. It preserves original request authority, unknown failures and delivery receipts. Real model quota recovery and business completion remain separate acceptance work.

@loopx-agent
loopx-agent merged commit cf9b20c into main Nov 3, 2026
25 of 32 checks passed
@loopx-agent
loopx-agent deleted the codex/steward-completed-metadata-review-20261103 branch November 3, 2026 14:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant