Skip to content

[bug] BTW 停止第三方后台工作未中断本地执行,结束后仍标记完成 #157

Description

@BegoniaHe

Preflight

  • I searched open and closed Issues and PRs.
  • I tested the current master branch or the exact commit.
  • This report contains no secrets, tokens, or private data.
  • This is not a security vulnerability (those use a private advisory).
  • I filled exactly one of Human note or Agent note, matching who wrote this Issue.

Affected area

Providers / agent runners

What happened

P2 / medium · AUD-20260910-agent-006

第三方 /task stop 通过 ActiveEventRegistry.stop_all 设置 event.stop_event,但已经执行的非流式后台工作不检查停止标志,继续等待并消费第三方结果;dispatcher 仅跳过尚未开始的后续派送。真实 registry、scheduler、WorkLoop 和第三方响应处理器组合实验在停止后仍消费三段响应并记录 completed。独立反证确认:不能保证中断进行中的流式发送,也不能据此断言远端任务是否取消。

Minimal reproduction

启用 BTW/work loop 与第三方 Agent Runner,启动一个会持续返回数据的非流式 /work 任务;执行中发送 /task stop。确定性离线复现:真实 ActiveEventRegistry.stop_all 停止已登记的工作事件,然后让测试第三方 runner 继续返回三段 llm_result,由真实 ThirdPartyAgentSubStage 响应处理器和 WorkLoop 消费。

Expected: 停止请求应中断本地等待/消费、及时关闭执行器并记录 cancelled;远端撤销能力须另行明确,不应误称已撤销远端任务。

Actual: events_stopped=1,event_stopped=true,但之后三段响应全部被消费,最后 state=completed。

Impact: 已开始的第三方后台任务收到停止请求后本地执行仍持续,释放资源被延迟,终态也错误;远端撤销能力须单独核查。

Code evidence

Suggested acceptance criteria

  • 为后台工作注册可取消的请求控制,停止本地执行并关闭生成器、回收资源、记录 cancelled;明确区分本地取消与远端撤销,覆盖运行和排队路径。
  • 在当前真实控制流上增加失败路径组合回归,不能只断言测试替身抛异常或手工设置工作状态。
  • 保持 BTW 默认关闭、现有授权和原请求身份;如调整用户行为,同步中英文文档。

Validation and limits

真实 registry、scheduler、WorkLoop 和第三方响应处理器;第三方远端为可控替身。未测试各服务的远端撤销 API,也不保证已经开始的流式发送会立即停止。

本次审计运行:首轮 BTW/入口/状态/能力路由相关测试 173 passed;Agent、工具、历史、配置与导入边界测试 327 passed;pipeline/WebChat/生命周期测试 108 passed;两套循环选择器测试 3 passed。另运行上述确定性组合探针,并完成独立只读反证。现有测试通过不代表已覆盖此缺陷。未改动产品代码。

已检索全部 61 条 Issue 与 89 条 PR(含关闭/合并状态,审计开始时快照),未发现本缺陷的重复报告。关联已完成的功能跟踪 #125#126#127,以及总跟踪 #122;自动分类器实验 #133#135 不属于此缺陷。

Commit or version

037994ea4c8c289e4d5c8e7611a835ced93eeddd (master)

Environment

Linux,源码 checkout;Python 3.14.6;Node.js v26.8.1。后端探针使用内存/临时目录,不访问开发者数据或真实 IM、付费模型。

Author

Agent

Agent note

Codex 按用户授权结合代码审查与仓库 audit-product 技能报告此问题,并使用独立只读 AI agent 反证。目标是修复 BTW 工作循环的实际行为;涉及路径见上方证据,已运行检查与剩余限制如上。本 Issue 按 bug_report.yml 填写;本次只审计、建单,没有修改产品代码或声称修复已完成。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions