- **New:** `UserMessageQueue` accepts bounded, concurrent user input while an agent loop is running. `WithUserMessageQueue` drains queued messages in FIFO order at provider round boundaries. Automatic loops can continue after a terminal answer when new input is pending. Manual loops carry queued input into the round after tool execution. - Queued messages must use the user role and cannot carry assistant, tool, or injection protocol fields. The engine validates queued content against the selected model before calling the driver. Messages left at the round limit stay queued for a later run. - Replaced the deprecated `common-go/errors` dependency with `ctxerrors/commerr`. Provider-neutral sentinel matching remains unchanged.