@@ -206,11 +206,16 @@ In order. Guardrails are inline so you do not have to hold them in your head.
206206 server rename endpoint is on #5436 . Replace the localStorage-only title with a write and
207207 read through the header endpoint.
208208
209- 5 . ** Build cancel and steer on the existing signal plumbing** (ruling 2.5). Use the Zed
210- protocol shape: cancel the turn, answer every pending permission as cancelled, wait for the
211- harness to settle, then send the new instruction. The kill command and the heartbeat
212- interrupt flag already exist; you are building the dispatch semantics and the surface on
213- top of them.
209+ 5 . ** Build cancel and steer on the existing signal plumbing** (ruling 2.5). For cancel, use
210+ the Zed protocol shape: cancel the turn, answer every pending permission as cancelled, wait
211+ for the harness to settle, then send the new instruction. For steer, read the OpenCode
212+ comparison first (` opencode-comparison.md ` , same folder): their design treats a
213+ mid-turn message as durable data, a per-session inbox row marked "steer" or "queue" that
214+ the loop picks up at safe boundaries, instead of a dispatch-time judgment call. That
215+ pattern is the recommended shape for our steer semantics, because it is exactly what
216+ makes "a new message must never be swallowed by parked work" structural rather than
217+ heuristic. The kill command and the heartbeat interrupt flag already exist; you are
218+ building the dispatch semantics and the surface on top of them.
214219
215220Out of scope for now: session deletion and live mid-turn attach.
216221
0 commit comments