Summary
Track native/soft active-turn steering as a separate follow-up from mux-owned hard steer.
Context
amux/steer_active_turn is being implemented in the busy-control PR as a mux-owned hard steer: the mux records the control, cancels/supersedes the active turn, and starts a replacement prompt. That gives deterministic peer visibility, replay, and lifecycle ownership.
Some agents can support a softer primitive: inject guidance into the active turn without cancelling it or opening a replacement turn. Hermes has a native non-interrupting steer path in its TUI/gateway runtime, but the ACP surface available to acp-mux does not currently expose a structured native steer capability that can be routed without prompt injection.
Desired behavior
Add explicit soft/native steer support when an agent advertises a compatible capability, for example:
- preserve the current
amuxTurnId and active turn lifecycle;
- do not send
session/cancel;
- do not submit a replacement
session/prompt;
- broadcast/replay an inert mux-owned control event so peers know steering was accepted;
- route the guidance through an agent-native control path instead of plain prompt injection;
- fall back clearly to mux-owned hard steer when soft steer is unsupported.
Non-goals
- Do not make ordinary concurrent
session/prompt bypass the busy gate.
- Do not silently conflate soft steer with hard cancel+replace semantics.
- Do not rely on Hermes-only slash prompt behavior as the durable protocol contract.
Acceptance criteria
- Soft steer is capability/policy gated.
- Tests prove soft steer preserves the existing active turn and does not allocate a new
amuxTurnId.
- Tests prove peers and late joiners see a replayable inert control notification.
- Docs distinguish soft/native steer from mux-owned hard steer and queue.
Summary
Track native/soft active-turn steering as a separate follow-up from mux-owned hard steer.
Context
amux/steer_active_turnis being implemented in the busy-control PR as a mux-owned hard steer: the mux records the control, cancels/supersedes the active turn, and starts a replacement prompt. That gives deterministic peer visibility, replay, and lifecycle ownership.Some agents can support a softer primitive: inject guidance into the active turn without cancelling it or opening a replacement turn. Hermes has a native non-interrupting steer path in its TUI/gateway runtime, but the ACP surface available to
acp-muxdoes not currently expose a structured native steer capability that can be routed without prompt injection.Desired behavior
Add explicit soft/native steer support when an agent advertises a compatible capability, for example:
amuxTurnIdand active turn lifecycle;session/cancel;session/prompt;Non-goals
session/promptbypass the busy gate.Acceptance criteria
amuxTurnId.