Summary
OpenCode sessions do not currently support steering of an active turn.
Current behavior
When a user sends an immediate steering message while OpenCode is running, Cyrus stops the OpenCode process and resumes the session with the new message.
OpenCodeRunner reports that it does not support streaming input, and attempting to send a streaming message throws an error.
Expected behavior
A steering message should affect the currently running turn without stopping it or starting a replacement turn.
A server-backed OpenCode session may be the right foundation, but the implementation does not need to be prescribed here.
Why this matters
Users are told they can steer active work, but with OpenCode that action currently interrupts the work instead.
Acceptance criteria
- Steering reaches the active OpenCode session without stopping it.
- The running turn can incorporate the new instruction before completing.
- The OpenCode session and its context are preserved.
- Cyrus does not report that the session was stopped unless the user actually requested a stop.
- Stop and cancel continue to work independently.
Validation
Add automated coverage for active-turn steering.
Also run a local F1 test drive using an authenticated OpenCode installation that:
- Starts a long-running OpenCode turn.
- Sends a steering message while the turn is active.
- Confirms the session is not stopped or replaced.
- Confirms that same turn acts on the new instruction.
Include the test-drive commands and relevant session output in the PR.
Related
Identified while validating #1263.
Observed on main at b936752.
Summary
OpenCode sessions do not currently support steering of an active turn.
Current behavior
When a user sends an immediate steering message while OpenCode is running, Cyrus stops the OpenCode process and resumes the session with the new message.
OpenCodeRunnerreports that it does not support streaming input, and attempting to send a streaming message throws an error.Expected behavior
A steering message should affect the currently running turn without stopping it or starting a replacement turn.
A server-backed OpenCode session may be the right foundation, but the implementation does not need to be prescribed here.
Why this matters
Users are told they can steer active work, but with OpenCode that action currently interrupts the work instead.
Acceptance criteria
Validation
Add automated coverage for active-turn steering.
Also run a local F1 test drive using an authenticated OpenCode installation that:
Include the test-drive commands and relevant session output in the PR.
Related
Identified while validating #1263.
Observed on
mainatb936752.