Ficha 6.14 · Límite de tasa de TEO en ejecución (POST /api/teo/ask)
ID de prueba: 6.14 (ítem «límites de tasa en los endpoints costosos»)
Fecha y hora: 2026-10-10 11:54:37 a 11:55:46 (UTC-5)
Ejecutado por: subagente ejecutor-pruebas-trl
Entorno: API directa https://nara-api-wyvw.onrender.com (Render nara-api, 1c-2g). Commit /api/health al inicio y al final: 1f04025720e8a797c724c187554f8f4789aaaafa (sin cambio).
Datos usados: cuenta prueba.clinico@nara.com; 22 peticiones con {"question": ""}. Ninguna llega a la IA.
Verificación previa en el código (1f04025):apps/ai/src/teo/ask/teo-ask.service.ts:73-85: primero requireRoles, luego teoRateLimitOk (l. 81), luego el rechazo de la pregunta vacía (l. 83-85) y solo después llmComplete (l. 115). El gateway (apps/gateway/src/ai/ai.proxy.ts:11-39) solo reenvía. rate-limit.ts: 20 por 60 s por cuenta, en memoria; la petición rechazada no se cuenta.
Procedimiento: login por API, 21 POST seguidos con la cookie nara_sid, espera hasta 65 s después de la 20.ª, 1 POST más. Script teo_rate_limit.js.
Resultado:Pasa (este ítem). 1-20 → 400 «Escriba una pregunta.»; 21 → 429 «Demasiadas peticiones a TEO. Espere un minuto e intente de nuevo.»; 22 (65 s después) → 400: el límite se liberó.
Métricas: ráfaga de 21 en 4,306 s; latencias 186-265 ms; la 22.ª 489 ms. 0 respuestas con model/provider (0 llamadas a la IA). El 429 no trae Retry-After.