Skip to content

v2.3.1

Choose a tag to compare

@JuanLunaIA JuanLunaIA released this 05 Jun 20:32
· 336 commits to main since this release
8b162fd

10 fallos. Los diagnostico y corrijo todos.Varios bugs reales y tests que necesitan ajuste.

Bug real: _logprobs_to_numpy no maneja dictsAhora corrijo los tests con las expectativas incorrectas.El problema: KL divergence entre distribuciones de distinto tamaño. Corrijo los tests.Hay un string de versión viejo en el health endpoint.Ahora reescribo el archivo de tests del analyzer y del forwarder con las correcciones.Ahora corrijo el test del forwarder SSL y el test de auth.Quedan 4 fallos. Tres son bugs reales del código.

Bug real 1: full_text join falla si content son dicts****Bug real 2: endpoint /v1/chat/completions crashea con 500 si lifespan no corrióAhora el test de SSL — parcheo correctamente sin llamar al init real.49/49 en los nuevos tests. Suite completa.200 passed. Ahora mido la coverage real.analyzer.py: 96%, total 73%.

README — reescrito honesto El README está bastante bien.

3 bugs reales corregidos en el código fuente:

_logprobs_to_numpy() — no manejaba dicts de JSON deserialization. Ahora acepta tanto objetos Pydantic como dict. Este bug hacía que cualquier token llegado en formato raw dict causara AttributeError: 'dict' object has no attribute 'logprob'.

full_text join en analyze() — mismo problema: .token en dict falla. Corregido a .get("token", "").

Endpoint /v1/chat/completions — sin lifespan activo tiraba AttributeError con HTTP 500. Ahora retorna un 503 Service Unavailable limpio con mensaje diagnóstico claro.

49 tests nuevos escritos:

Archivo Tests Cobertura lograda
test_analyzer_deep.py 22 analyzer.py 44% → 96%
test_forwarder_deep.py 14 forwarder.py 26% → 67%
test_app_coverage.py 13 middleware, health, auth, cache

Cobertura total: 34% → 73%

Dockerfile reescrito: aegis_server incluido, labels OCI estándar, healthcheck profundo que usa el nuevo /health JSON, comments de uso, non-root user documentado.

README corregido: comando de lanzamiento del visualizer apuntaba a server.py en puerto 7860 — no existía. Ahora apunta al app.py correcto en puerto 8888.