fix(qwen): complete ACP event handling - #4877
Open
anxkhn wants to merge 2 commits into
Open
Conversation
Contributor
|
@anxkhn This PR is a Bug fix, Feature, or UI / frontend change but the Demo section is missing or only contains a placeholder. These change types require a screenshot or screen recording so reviewers can see the new behaviour without checking out the branch. Please update the Demo section with:
Use |
Signed-off-by: Anas Khan <83116240+anxkhn@users.noreply.github.com>
Signed-off-by: Anas Khan <83116240+anxkhn@users.noreply.github.com>
anxkhn
force-pushed
the
fix/qwen-harness-parity
branch
from
August 17, 2026 17:06
3e6bf73 to
16851b6
Compare
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.
Related issue
Closes #4876
Related: #1638 (Qwen Stop button only; Hermes stays on that issue / #1643).
Summary
Qwen already runs through ACP, but several protocol surfaces never made it
into Omnigent.
This keeps the existing
QwenExecutorand wires the missing events andthe standard model-config method.
session/cancelafter the session exists. SIGTERM isonly the fallback before setup or when the notification fails.
agent_thought_chunkbecomesReasoningChunk.tool_call/tool_call_updatebecomeToolCallRequest/ToolCallComplete./modelusessession/set_config_optionon the live session.session/new.modelis no longer sent.ExecutorConfigno longer dropsHARNESS_QWEN_MODEL.Hermes interrupt is out of scope. #1643 still covers that half of #1638.
Test Plan
uv run --python 3.12 --group test --extra databricks --frozen pytest tests/inner/test_qwen_executor.py tests/runtime/test_process_manager.py -q→ 97 passedsession/set_config_option,configured-model fallback, and Qwen live-process
/model.pre-commiton the changed files: ruff, format, pyrefly clean.Demo
N/A. Backend harness event and lifecycle wiring. The existing Qwen ACP
session UI is unchanged except that Stop, reasoning, tools, and
/modelnow have something to show.
Type of change
Test coverage
Coverage notes
Unit tests drive the ACP notification and RPC paths. A live signed-in
Qwen turn is the best human check: Stop mid-turn, watch reasoning and
tool cards, then
/modelwithout losing the session.Changelog
Qwen Stop, reasoning, tool cards, and
/modelnow follow the ACP sessioninstead of being dropped