You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: batch question delivery and fold open questions into Send
A reviewer can fire several questions before the agent comes back, but
each await delivered exactly one event — the rest sat queued with
nothing telling the agent to return, so it appeared stuck.
One await now drains every queued question into a single event: the
new `questions` array carries them in arrival order and the singular
`question` field (the oldest) stays for compatibility, so a lone
question reads uniformly as a one-element array. Send flushes queued
question events — superseded by the round — and ReviewResult gains
`openQuestions`: every still-unanswered question (same answered
heuristic the UI uses), built with the same payload constructor as
/api/ask so the shapes can't drift. The contract adds the loop rule:
after handling any event, await again immediately — more may already
be queued. Batch-drain safety rests on a documented invariant: a Send
flushes all queued questions before enqueuing its review, so a review
can never sit between two queued questions.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015jcfPg9g4TTWQksf8vhHps
0 commit comments