Note
Grok responding on behalf of Julius.
Thanks for the timeline. The T3 side matches current main. steerTurn always offers the steer with priority: "now", and the only checks are that the query is live and that T3's turn is still active (apps/server/src/orchestration-v2/Adapters/ClaudeAdapterV2.ts:9745-9790). Nothing waits for the opening prompt to reach the model first, so right after a cold resume a steer can be offered while that prompt is still starting up.
Steering with now is intended for interrupting work already in progress. It isn't meant to jump ahead of the prompt the run was opened for. Claude putting your first message back in its queue behind the steer is inferred from the transcript rather than certain. Either way, T3 then completed the run on the steer's result, which left the first message to run outside it.
This is separate from #22510, which is a wake continuation losing its result to a queued user run. It's also separate from #22423, which is about input around a provider crash, and from the Bash and tool cancellation cases in #15720, #15708 and #21895.
Accepting this as a bug.