Skip to content

feat(sessions): let a session message steer the running turn - #116

Merged
ysyneu merged 1 commit into
mainfrom
feat/session-message-steering
Nov 11, 2026
Merged

ysyneu merged 1 commit into
mainfrom
feat/session-message-steering

Conversation

@ysyneu

@ysyneu ysyneu commented Nov 11, 2026

Copy link
Copy Markdown
Collaborator

What

SessionMessageRequest gains Steering (json:"steering,omitempty").

When the session has a turn in flight, the server takes a steering message into that turn at its next step instead of queueing it for a turn of its own. The running turn then answers it, so callers read the answer from the session's event stream rather than from the message's own invocation. The field is omitted when false, so existing requests are byte-identical.

Tests

  • TestSessionsWriteMessageSendsSteering: steering:true reaches the wire.
  • TestSessionsWriteMessageSendsRequestAndDecodesAck: a false value is omitted.
  • make check (fmt, golangci-lint v2.13.0: 0 issues, go test -race ./..., build) passes.

SessionMessageRequest gains Steering. When the session has a turn in
flight, the server takes a steering message into that turn at its next
step instead of queueing it for a turn of its own; the running turn then
answers it, so its answer is read from the session's event stream rather
than from the message's own invocation. The field is omitted when false,
so existing requests are unchanged.
@ysyneu
ysyneu merged commit 8cd8f9e into main Nov 11, 2026
4 checks passed
@ysyneu
ysyneu deleted the feat/session-message-steering branch November 11, 2026 02:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant