Skip to content

Comments

feat: integrar scoring intelligence con estructura oficial de dev#27

Open
Leanga87 wants to merge 19 commits intodevfrom
feature/scoring-intelligence
Open

feat: integrar scoring intelligence con estructura oficial de dev#27
Leanga87 wants to merge 19 commits intodevfrom
feature/scoring-intelligence

Conversation

@Leanga87
Copy link
Collaborator

Se integra la rama feature/scoring-intelligence a dev.

✔ Merge realizado desde dev
✔ Estructura alineada a src/data-science/
✔ Pipeline Jenkins ejecutado exitosamente
✔ Lógica inicial de scoring implementada con FastAPI

Listo para revisión.

Copy link
Collaborator

@dzapatasal dzapatasal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hola Leandro, gracias por el avance con la estructura del módulo. He realizado una revisión y, para poder aprobar el merge a dev, necesitamos corregir unos puntos críticos que harán que el sistema falle en el servidor.

He detectado los siguientes bloqueos (puedes ver el detalle abajo):

📝 Reporte PR #27

A pesar de que el health_check de Jenkins fue exitoso, he detectado varios problemas estructurales críticos que impedirán que el código funcione correctamente en un entorno real o de integración. Aquí tienes mi reporte:

🔴 Observaciones Críticas (Bloqueantes)

1. Conflicto de Nombres de Carpeta (Fatal Error)

  • Problema: La carpeta en el disco se llama src/data-science (con guión), pero el código en api.py intenta importar desde src.data_science (con guión bajo).
  • Resultado: Al intentar ejecutar la API, Python lanzará un ModuleNotFoundError. El health_check pasó solo porque no importa la lógica del modelo, solo verifica el entorno.

2. Codificación de requirements.txt

  • Problema: El archivo está guardado con codificación UTF-16LE (probablemente por el editor usado).
  • Resultado: Las herramientas estándar de Linux y Docker esperan UTF-8. Esto causará errores fatales al intentar instalar dependencias en el servidor.

3. Ubicación de Dependencias

  • Problema: Se colocó el requirements.txt de Data Science en la raíz del proyecto.
  • Recomendación: Para mantener la estructura de monorepo, debe estar dentro de src/data-science/requirements.txt. Esto evita conflictos con dependencias de otros componentes.

🟡 Observaciones Técnicas (Mejoras)

  • Generador de Datos (main.py): El script usa TkAgg y plt.show(). Esto hará que falle en Jenkins o en cualquier servidor sin interfaz gráfica. Se recomienda configurar Matplotlib para modo "headless" y usar plt.savefig() para guardar las imágenes en archivos.
  • Código Deprecado: En api.py se usa datetime.utcnow(), lo cual está marcado como obsoleto. Se sugiere migrar a datetime.now(timezone.utc).
  • Calidad de Tests: test_health.py es muy básico. Sería ideal incluir tests que validen realmente la lógica del scoring o los endpoints de la API para asegurar la estabilidad del modelo.

✅ Puntos Positivos

  • La lógica de scoring (LeadScoring) es impecable y sigue fielmente los pesos y penalizaciones del contrato JSON v1.
  • El contrato de entrada/salida en la API es 100% compatible con lo acordado con el equipo de Backend.

Important

Siguiente paso: Por favor, corrige estos puntos en tu misma rama y haz push. Los cambios se reflejarán automáticamente en este PR para una nueva revisión.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants