Skip to content

fix(acp): preserve cancellation and scope transport failures - #186

Open
YoungSx wants to merge 9 commits into
mainfrom
fix/acp-cancellation-error-ownership
Open

fix(acp): preserve cancellation and scope transport failures#186
YoungSx wants to merge 9 commits into
mainfrom
fix/acp-cancellation-error-ownership

Conversation

@YoungSx

@YoungSx YoungSx commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

用户取消请求时,网络适配器曾把调用方取消误报为发送故障;取消通知发送失败还可能覆盖用户的取消结果。现在仅该次临时发送失败留在诊断中,真实断连、读流故障和进程退出仍即时上报并清理请求。

请求和取消通知绑定同一个连接身份。旧发送在重连后才结束时,不能向新连接发旧取消;initialize 失败可重试,旧握手晚到也不能覆盖新连接。取消通知使用两秒发送预算,已先到达的正常终态优先。

  • SDK 与 Domain transport 新增带发送选项的默认接口重载,旧源码双参数调用和 1.0.0 预编译 transport 仍可消费新包。
  • 用同一传输状态流标明故障来源,避免读流任务继承 AsyncLocal 后被错误静音;异常实例用于去重。
  • 新增有界 Linux CI 门禁,真实 stdio、WebSocket、HTTP/2 和 SSE 必须全部运行且零跳过;生产 stdio-to-WebSocket bridge 另有要求真实部署地址及子进程记录的门禁。

验证:SDK 556/556;Infrastructure 823 成功、7 项环境/平台跳过;Presentation 取消分类与投影 5/5;真实传输门禁 6/6、零跳过。反向验证撤掉通知发送、取消透传、错误归属保护均失败;旧连接取消探针 2/2 先红后绿。已在 main 4a4e3c53 上重放;当前源码 SDK 格式、分析器、556 个测试和以 1.0.0 为基线的包兼容门禁通过,零警告、零错误。当前提交 675bd2e4 的全部实际 CI 通过(17 项成功、1 项仓库条件跳过),PR 无冲突。Linux 门禁使用官方 --no-ansi,已在 GitHub 强制彩色环境下验证六项全部执行;前一轮 WASM hero-card 门禁失败,当前新提交整套 WASM 门禁已通过。

Refs #148。生产 bridge 缺实际部署环境,尚未验收,因此本 PR 不关闭总单。Windows 条件 GUI 跳过不作为真机验证。SDK README 记录新 transport 接口与验收边界,AGENTS 记录错误和连接归属的通用回归规则。

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vercel

vercel Bot commented Sep 8, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
salmonegg Ready Ready Preview Sep 9, 2026 9:54am UTC

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