Tom Boucher
c6ce110efa
feat(#2092): migrate Qwen Code onto EoS imperative adapter + native subagents + SubagentStart (ADR-1239)
Fold all runtime==='qwen'/isQwen logic branches (skill-priority frontmatter,
branding/path rewrites, legacy commands/gsd cleanup, hyphen-namespace
normalization, RUNTIME_CONTENT_DISPATCH, hooks-surface label) into
descriptor-driven runtime.hostBehaviors on capabilities/qwen/capability.json,
read via _hostBehaviors(). Shared claude/qwen/hermes legacy-migration branches
in install-engine.cts folded to descriptor flags (claude+hermes descriptors
updated; FALLBACK_HOST_BEHAVIORS.claude floored). Byte-identical golden parity
for qwen/hermes/claude(global+local).
UPGRADE 1: native .qwen/agents/*.md subagent projection — new agents
artifact-layout kind + convertClaudeAgentToQwenAgent converter (name +
description + tools YAML block list; color/model dropped). qwen routed onto
the descriptor-driven agents path (_DESCRIPTOR_AGENTS_RUNTIMES).
UPGRADE 2: SubagentStart hook wired into extendedHookEvents + the
descriptor-gated hook-writer loop (activates only for qwen).
Tests: qwen-imperative-reference (adapter/axes/fail-closed/hostBehaviors +
no runtime==='qwen' source-grep across 4 files) + qwen-upgrades (agents file
validity + SubagentStart mirrors SubagentStop, descriptor-gated). Docs matrix
+ how-to updated; changeset added.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10 15:44:19 -04:00
..
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 15:44:19 -04:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00
2026-07-10 17:09:38 +00:00