Falha silenciosa na tradução por IA em erros 503 de LLM — sem lógica de nova tentativa
Bug: Quando qualquer provedor de LLM (Mistral, OpenAI) retorna um erro 503, o DiscourseAi::Translation pula silenciosamente a tradução sem tentar novamente.
Exemplo de log:
DiscourseAi::Completions::Endpoints::Mistral: status: 503
{“type”:“unreachable_backend”,“code”:“1100”}
DiscourseAi::Translation: Falha ao traduzir o tópico X para ru
Causa raiz: DiscourseAi::Completions::Endpoints não possui lógica de nova tentativa para erros transitórios de servidor. Isso não é específico de um provedor — o mesmo comportamento foi observado anteriormente com a OpenAI.
Comportamento esperado: Nova tentativa com backoff exponencial em respostas 503/504 antes de marcar a tradução como falha.
Solução proposta: Adicionar lógica de nova tentativa em DiscourseAi::Completions::Endpoints para todos os provedores de forma uniforme.
Isso afeta qualquer instância do Discourse que utilize tradução por IA com múltiplos idiomas.