Skip to content

fix(qwen): complete ACP event handling - #4877

Open
anxkhn wants to merge 2 commits into
omnigent-ai:mainfrom
anxkhn:fix/qwen-harness-parity
Open

fix(qwen): complete ACP event handling#4877
anxkhn wants to merge 2 commits into
omnigent-ai:mainfrom
anxkhn:fix/qwen-harness-parity

Conversation

@anxkhn

@anxkhn anxkhn commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

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 QwenExecutor and wires the missing events and
the standard model-config method.

  • Stop sends ACP session/cancel after the session exists. SIGTERM is
    only the fallback before setup or when the notification fails.
  • agent_thought_chunk becomes ReasoningChunk.
  • tool_call / tool_call_update become ToolCallRequest /
    ToolCallComplete.
  • /model uses session/set_config_option on the live session.
    session/new.model is no longer sent.
  • The process manager no longer respawns Qwen when the model changes.
  • An empty per-turn ExecutorConfig no longer drops HARNESS_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 passed
  • New coverage for cancel, thought/tool events, session/set_config_option,
    configured-model fallback, and Qwen live-process /model.
  • pre-commit on 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 /model
now have something to show.

Type of change

  • Bug fix
  • Feature
  • UI / frontend change
  • Refactor / chore
  • Docs
  • Test / CI
  • Breaking change

Test coverage

  • Unit tests added / updated
  • Integration tests added / updated
  • E2E tests added / updated
  • Manual verification completed
  • Existing tests cover this change
  • Not applicable

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 /model without losing the session.

Changelog

Qwen Stop, reasoning, tool cards, and /model now follow the ACP session
instead of being dropped

@github-actions

Copy link
Copy Markdown
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:

  • A screenshot or screen recording of the change, or
  • A link to a hosted video or GIF showing the new behaviour.

Use N/A only when the change has no user-visible effect whatsoever (e.g. a pure refactor or test-only change). If that's the case, uncheck the relevant type box and check Refactor / chore or Test / CI instead.

@github-actions github-actions Bot added the needs-demo PR needs a demo screenshot or recording label Aug 16, 2026
anxkhn added 2 commits August 17, 2026 22:36
Signed-off-by: Anas Khan <83116240+anxkhn@users.noreply.github.com>
Signed-off-by: Anas Khan <83116240+anxkhn@users.noreply.github.com>
@anxkhn
anxkhn force-pushed the fix/qwen-harness-parity branch from 3e6bf73 to 16851b6 Compare August 17, 2026 17:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-demo PR needs a demo screenshot or recording size/L Pull request size: L waiting-for-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug] Qwen ACP drops cancel, reasoning, tools, and live /model

2 participants