- ProviderHistoryCompat с правилом strip-past-reasoning: из прошлых реплик вырезаются reasoning-части
и подписи (reasoning_details), текущий ответ не трогается — Gemini нужны подписи внутри цикла
- Причина: подписи Gemini 3 привязаны к исходному контексту, а из истории вырезаются вызовы инструментов
и в треде смешаны ответы разных моделей — провайдер отвечал ошибкой (finishReason other/error)
- Пустые реплики ассистента из упавших запросов тоже не отправляются
- onError: в лог пишется текст ошибки провайдера
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>