Documentación Técnica de Evolución

Evolución Técnica y Próximos Pasos

Análisis detallado sobre la hoja de ruta arquitectónica y funcional del proyecto Clean Marvel Album

16
Puntos de Mejora
82-118h
Esfuerzo Estimado
92%
Cobertura Objetivo
SENIOR
Nivel de Ingeniería

Alta Prioridad

✅ Refactor Application Layer (Comics)

Lógica de generación extraída a GenerateComicUseCase. El controlador es ahora un Skinny Controller. Se ha logrado un desacoplamiento total de la orquestación, cumpliendo con el SRP (Single Responsibility Principle).

✓ Done
Completado
Arquitectura

✅ Refactor a Application Layer + Filesystem

Implementación de UploadAlbumCoverUseCase con abstracción de FilesystemInterface. Código desacoplado del disco local, preparado para AWS S3 y testeado con dobles de prueba.

✓ Done
Completado
Alta Disponibilidad

✅ Cliente LLM Desacoplado

Interfaz ComicGeneratorInterface implementada. OpenAIComicGenerator es ahora un adapter intercambiable. Permite sustituir OpenAI por Claude, Gemini o Llama sin modificar la lógica de negocio (Dependency Inversion).

✓ Done
Completado
Testabilidad
4

Escalabilidad RAG: Vector DB (Enterprise)

Transición de JSON a base de datos vectorial (Qdrant/Pinecone). Caso de uso Legal: permite procesar terabytes de jurisprudencia y contratos con búsquedas semánticas en milisegundos.

8-10h
Estimado
IA Scalability
12

Tests de Arquitectura (Deptrac)

Automatizar las reglas de Clean Architecture. Garantizar por test que Domain no dependa de nada externo y que los controladores se mantengan Skinny.

4-6h
Estimado
Arquitectura
13

Contract Testing (Pact / Schema)

Validación de contratos entre microservicios. Evita que cambios en openai-service o rag-service rompan la App principal de forma silenciosa.

6-8h
Estimado
Resiliencia

Media Prioridad

✅ Healthchecks HTTP para Microservicios

Endpoint /health en App Principal que verifica proactivamente los 3 microservicios (App, RAG, OpenAI). Devuelve estado unificado con latencia por servicio, trace_id y estado healthy/degraded.

✓ Done
Completado
Observabilidad
6

CSP Estricta (sin unsafe-inline)

Eliminar el fallback a unsafe-inline en scripts y garantizar nonces obligatorios en todas las vistas para protección XSS completa.

4-6h
Estimado
Seguridad
7

EventBus con Persistencia (Outbox)

Implementar patrón Outbox para garantizar entrega de eventos. Los eventos se persisten en tabla antes de procesarse, permitiendo reintentos y trazabilidad.

8-12h
Estimado
Resiliencia
14

Dashboard de Resiliencia Real-time

Panel visual que muestra el estado de los Circuit Breakers. Permite ver si un circuito está Open, Half-Open o Closed sin necesidad de auditar logs manually.

6-8h
Estimado
Observabilidad
15

Stress Testing (k6)

Validar el comportamiento del sistema bajo carga masiva. Asegurar que el Rate Limiting y el Circuit Breaker responden correctamente antes de un colapso.

4-6h
Estimado
Performance

Baja Prioridad

✅ Logger Centralizado con trace_id

Propagación end-to-end del X-Trace-Id entre microservicios. Excepciones logueadas con trace_id en app-errors.log. Permite correlacionar peticiones entre App, RAG y OpenAI Service.

✓ Done
Completado
Observabilidad
9

Tests de Seguridad Ampliados

Añadir tests para verificar CSP headers, HSTS, rate limiting y sanitización XSS en todos los endpoints.

6-8h
Estimado
Seguridad

✅ HSTS Preload + HMAC Strict Mode

Directiva preload añadida a HSTS. HMAC Strict Mode implementado como opt-in (HMAC_STRICT_MODE=true): si se activa y no hay clave configurada, el sistema rechaza peticiones (fail-closed) en lugar de permitir acceso abierto.

✓ Done
Completado
Seguridad

✅ Rate Limiting Granular

Límites específicos por endpoint según coste: IA 5-10 req/min, login 10 req/min, admin 2-3 req/min, paneles 20-30 req/min. 12 rutas configuradas individualmente.

✓ Done
Completado
Seguridad
16

Mutation Testing (Infection PHP)

Medir la calidad real de los tests. No se trata de qué líneas se ejecutan (cobertura), sino de si los tests fallarían si el código cambiara sutilmente.

6-8h
Estimado
Calidad

🛠️ Planificación del Esfuerzo

Distribución estimada de carga de trabajo por bloques técnicos

Bloque Dimensiones de Mejora Esfuerzo (h) Prioridad
Evolución e Inteligencia Senior Abstracción, RAG Enterprise, ArchTests y Contratos (#1, #2, #3, #4, #12, #13) 42h CRÍTICA
Robustez y Resiliencia Healthchecks, CSP, EventBus, Stress y Dashboard (#5, #6, #7, #14, #15) 38h ALTA
Calidad y Hardening Logging, Tests seguridad, Rate Limit y Mutation Testing (#8, #9, #10, #11, #16) 38h MEDIA
ESFUERZO TOTAL ESTIMADO 118h SISTEMA BANCARIO
⚠️ Nota de Propósito

Este análisis demuestra la capacidad de identificar deuda técnica y planificar la evolución del software de manera profesional.

📅 Roadmap Sugerido

Fase 1
Arquitectura e IA
Mejoras #1, #2, #3, #4 · Escalabilidad RAG Enterprise
Fase 2
Observabilidad
Mejoras #5, #8 · Visibilidad del estado del sistema
Fase 3
Seguridad
Mejoras #6, #9, #10, #11 · Sistema hardened
Fase 4
Resiliencia y CD
Mejora #7, #13, #15 · Contratos y Stress Testing