Validação de providers externos v1.9.9¶
As únicas credenciais de teste aceitas são SOTUHIRE_TEST_GEMINI_API_KEY e
SOTUHIRE_TEST_OPENAI_API_KEY, lidas temporariamente. O gate verifica somente presença booleana;
nunca imprime, persiste ou repassa o valor para screenshots/logs.
Com ambas presentes, executar pytest -m external_ai e as suites provider-diagnostic,
provider-structured-output e release-smoke com --providers available. Se uma estiver ausente,
as quatro suites são NOT EXECUTABLE (missing opt-in credential), não passadas nem substituídas
por dummy key. Mock, golden local e release-smoke local devem passar independentemente.
Quota/rate/billing/model/network são resultados tipados e sanitizados. Falha de quota corretamente classificada não invalida o caminho local; vazamento de chave, schema enganoso ou fallback silencioso bloqueiam a release.