041240f7065409fad5141aeed51a72ead2c33d95
The resident dispatch's turn now runs under a steer select: the messages route, after its ingest, signals a per-key interrupt registry, the drop lands at the turn's current await (an in-flight shell command dies with it), the dangling calls close, and the dispatch loops on the same lease — the steered message runs as the next round, same session, same stream. The interrupted turn closes on the stream with turn_done carrying outcome "steered", and the shim's whole and streamed answers both wait through steered end markers for the round that actually replies. The messages route answers 202 the moment the message is accepted; the drain pass runs detached, so a turn's minutes never hold the request open. The web composer leans on that: it never closes for a running turn, the placeholder and the send button say that sending steers, a steered outcome gets its own tone, and the sent-row echo dedup pops a pending list instead of comparing the last item — a steered chain's extra end marker can no longer double the row.
Languages
Rust
74.9%
Kotlin
13.8%
Vue
7.1%
TypeScript
3%
Dockerfile
0.5%
Other
0.6%