- **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.