@@ -307,6 +307,30 @@ poll uses
307307needed it ** does not** call ` bridge.syncAgentProgress ` — chrome owns the live
308308clocks.
309309
310+ ### WORKER WAITING strip
311+
312+ While any root worker is parked on ` ask_director ` , a one-row ** WORKER
313+ WAITING** strip sits directly on the prompt box (zone ` worker_wait ` ):
314+
315+ ```
316+ ◆ WORKER WAITING · director reply needed · builder (copy assets): Which destination path should I use? (+1 more)
317+ ```
318+
319+ It names the worker, previews its question, and says the director owns the
320+ reply. It is display only: composer text still goes to the primary director,
321+ and only the director's ` send_input ` to the worker's session answers the
322+ worker. The strip reads the ` agent-ask ` pending snapshot and nothing else
323+ (` src/tui/worker-wait.ts ` , painted by ` paintChrome ` in ` shell/chrome.ts ` ). An
324+ item's identity is ` sessionId + questionId ` , and it leaves only when a later
325+ snapshot omits that identity. Delivering the wake, director inference,
326+ typing, submitting, scrolling, and redraws do not clear it. Session rotation,
327+ stop teardown, and bridge dispose clear it. One question shows at a time,
328+ with ` (+N more) ` for the rest; the displayed identity stays while it is live,
329+ and otherwise the first snapshot entry shows. At narrow widths the question
330+ truncates first, then requester metadata and routing copy shorten, while the
331+ waiting label and the count stay. Primary-session ` ask_operator ` prompts keep
332+ their own overlay and never use this strip.
333+
310334### Transcript spawn_agent rows (history anchors)
311335
312336` runtime-bridge ` paints each ` spawn_agent ` call as a transcript stream row for
0 commit comments