Repository navigation
Conversation
Contributor
Author
|
CI follow-up for
Could a maintainer rerun the failed Linux unit-test job? Keeping this draft focused on #12957; no unrelated cleanup changes or extra push have been made. 中文说明
请维护者协助重跑失败的 Linux 单元测试任务。此草稿继续聚焦 #12957,没有加入无关清理改动,也没有额外 push。 |
…led-grants-12957-update # Conflicts: # packages/cli/src/serve/hosted-workspace-tool-turn.ts
Collaborator
🩺 serve daemon A/BBuilt the PR base vs this PR head
|
| field | PR base (before) | this PR (after) |
|---|---|---|
activeWorkStaleMs |
5 |
4 |
— Qwen Code · serve A/B
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this PR does
Stops renewing a Hosted Shell publication once the original execution has authoritatively settled, while retaining its binding until receipt acceptance so failure cleanup still works. Each renewal pass attempts all live bindings before reporting failures with their publication IDs. A renewal already in flight when settlement is observed can finish without producing a misleading warning; genuine renewal failures still block dispatch.
Why it's needed
A slow Session receipt leaves the settled execution in the batch's bookkeeping. The publication service correctly rejects renewal of settled executions, but the client previously kept renewing them and logged a misleading warning. The first rejection also prevented queued publications later in the same pass from being renewed.
Reviewer Test Plan
How to verify
Evidence (Before & After)
N/A for visual evidence: internal Hosted lifecycle behavior, no TUI layout change. With the final regression tests on unchanged base 8eaaa13, seven cases fail and the cleanup-preservation case passes. Settled publications are renewed, delayed receipts produce spurious warnings and skip queued grants, and genuine per-binding errors stop the renewal pass. The exact same eight cases all pass with the fix. After the fix, all 581 Hosted CLI tests (15 files) and 1,927 managed-runtime core tests (34 files) pass, 2,508 in total. Full build, full typecheck (4 GiB Node heap), bundle, repository-wide lint:ci, changed-file Prettier, diff whitespace checks, and the serve-fast-path bundle closure check also pass.
Tested on
Environment (optional)
Debian 13, Node.js 24.19.0, repository-pinned pnpm 11.24.0. Usage statistics and OTel are disabled with QWEN_USAGE_STATISTICS_ENABLED=false and QWEN_TELEMETRY_ENABLED=false. The component tests exercise the actual Hosted turn coordinator and local Session/harness persistence with controlled Broker and publication-service fixtures. Only interval timers are advanced. The global qwen CLI is unavailable in this environment.
Risk & Scope
Linked Issues
Fixes #12957. Follow-up to merged #12894.
中文说明
本 PR 的改动
在原始执行被权威地确认 settled 后,停止续期对应的 Hosted Shell publication,同时保留其 binding 直到回执接纳完成,确保失败清理仍能工作。每轮续期都会尝试所有仍有效的 binding,然后携带 publication ID 报告失败。在观察到 settled 时已经发出的续期请求,即使随后失败也不会产生误导性告警;真实的续期失败仍会阻止派发。
为什么需要
Session 回执提交缓慢时,已 settled 的执行仍保留在批次的记录中。publication 服务按设计拒绝对已 settled 执行续期,但客户端此前仍持续请求续期并输出误导性告警。第一次拒绝还会阻断本轮后续排队 publication 的续期。
Reviewer 测试计划
如何验证
证据(修改前与修改后)
不适用可视化证据:这是内部 Hosted 生命周期行为,不涉及 TUI 布局变化。将最终回归测试运行在未修改的基线 8eaaa13 上,七项失败、清理行为保留测试通过。已 settled 的 publication 仍被续期,延迟回执产生误报告警并跳过排队 grant,而单个 binding 的真实错误也会终止本轮续期。相同的八项测试在应用修复后全部通过。修复后,581 项 Hosted CLI 测试(15 个文件)和 1,927 项 managed-runtime core 测试(34 个文件)全部通过,合计 2,508 项。完整 build、完整 typecheck(4 GiB Node 堆)、bundle、全仓 lint:ci、变更文件 Prettier 检查、diff 空白检查以及 serve-fast-path bundle 闭包检查均通过。
已测试的平台
环境(可选)
Debian 13、Node.js 24.19.0、仓库固定版本 pnpm 11.24.0。测试通过 QWEN_USAGE_STATISTICS_ENABLED=false 和 QWEN_TELEMETRY_ENABLED=false 关闭使用统计与 OTel。组件测试使用真实的 Hosted turn 协调器和本地 Session/harness 持久化,Broker 和 publication 服务由可控 fixture 提供。只推进 interval 定时器。此环境没有全局 qwen CLI。
风险与范围
关联 Issue
Fixes #12957。作为已合入 #12894 的后续修复。