-
Notifications
You must be signed in to change notification settings - Fork 3k
fix(integration-tests): ack daemon tool-guard handshake in the mock ACP child (#9159) #9161
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
a54a252
fix(integration-tests): ack daemon tool-guard handshake in the mock A…
qwencoder d2b1605
fix(integration-tests): ack session close ext method in the mock ACP …
qwencoder bf40729
fix(integration-tests): keep mock ACP child lightweight and gate its …
qwencoder d522e08
Merge remote-tracking branch 'origin/main' into autofix/issue-9159
qwencoder c43b29d
fix(integration-tests): narrow close-gate comment to what it catches …
qwencoder 3387ac0
fix(integration-tests): name the post-merge E2E workflow in the close…
qwencoder File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[Suggestion] The gate is proven effective (removing the fixture's close handler fails this assertion with
DaemonHttpError: DELETE /session/:id: "Method not found": qwen/control/session/close), but no PR-gated CI job collects this test file, so it only executes in the post-merge/nightlyE2E Testsworkflow. Verified at this commit:e2e.ymlhas nopull_requesttrigger (its own comment says E2E "is NOT in the merge queue"; it runs post-merge onmain, nightly, and on dispatch); the PR-gated no-AK integration gate (test:integration:no-ak:sandbox:nonein the rootpackage.json) is a fixed file list that omits this file; and ci.yml'sintegration_clijob — whosetest:integration:cli:sandbox:nonewould collect it — is gated tomerge_groupand never triggers while no merge queue is configured onmain(the activemainruleset has no merge_queue rule). The comment above claims this gates the ack "in default CI". Concrete cost: a future change that driftsSESSION_CLOSE_EXT_METHODor removes the fixture's close handler leaves every PR check green, merges, and surfaces only at the next post-mergemainE2E or nightly run — the silent-rot window this call is meant to close, displaced to after merge. (Drift still fails loudly there — that is how the original breakage this PR fixes was caught — so this is a placement improvement, not an open hole.) Suggested fix: add./cli/qwen-serve-live-journal-recovery.test.tsto thetest:integration:no-ak:sandbox:nonefile list — the test needs no API key (it drives the mock ACP child), which is the class that gate exists to run at PR time; alternatively narrow the comment to name the post-merge E2E workflow.中文说明
该门控已被证实有效(移除夹具的 close 处理器会使此断言以
DaemonHttpError: DELETE /session/:id: "Method not found": qwen/control/session/close失败),但没有任何 PR 门控的 CI 任务收集该测试文件,因此它只会在合并后/每晚的E2E Tests工作流中执行。已在本提交上核实:e2e.yml没有pull_request触发器(其自身注释写明 E2E "不在合并队列中";仅在main合并后、每晚定时和手动触发时运行);PR 门控的 no-AK 集成门(根package.json中的test:integration:no-ak:sandbox:none)是一份固定文件列表,其中不含该文件;ci.yml 中的integration_cli任务——其test:integration:cli:sandbox:none本会收集它——仅在merge_group事件下运行,而main当前生效的 ruleset 没有 merge_queue 规则,故该任务从不触发。上方注释声称此调用在"默认 CI"中门控该 ack。具体代价:未来若SESSION_CLOSE_EXT_METHOD漂移或夹具的 close 处理器被移除,所有 PR 检查仍将保持绿色并照常合并,问题只会在下一次main合并后 E2E 或每晚运行中浮现——这正是此调用意图关闭的静默腐化窗口,只是被推迟到了合并之后。(漂移在那里仍会响亮地失败——本 PR 所修复的最初破损正是这样被捕获的——因此这是门控位置的改进,而非敞开的漏洞。)建议修复:将./cli/qwen-serve-live-journal-recovery.test.ts加入test:integration:no-ak:sandbox:none的文件列表——该测试不需要 API key(它驱动 mock ACP 子进程),正是该门存在以便在 PR 阶段运行的类别;或者将注释收窄,改为指明合并后 E2E 工作流。— qwen3.8-max via Qwen Code /review (v0.21.11)