Análisis detallado sobre la hoja de ruta arquitectónica y funcional del proyecto Clean Marvel Album
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).
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.
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).
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.
Automatizar las reglas de Clean Architecture. Garantizar por test que Domain no dependa de nada externo y que los controladores se mantengan Skinny.
Validación de contratos entre microservicios. Evita que cambios en openai-service o rag-service rompan la App principal de forma silenciosa.
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.
Eliminar el fallback a unsafe-inline en scripts y garantizar nonces obligatorios en todas las vistas para protección XSS completa.
Implementar patrón Outbox para garantizar entrega de eventos. Los eventos se persisten en tabla antes de procesarse, permitiendo reintentos y trazabilidad.
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.
Validar el comportamiento del sistema bajo carga masiva. Asegurar que el Rate Limiting y el Circuit Breaker responden correctamente antes de un colapso.
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.
Añadir tests para verificar CSP headers, HSTS, rate limiting y sanitización XSS en todos los endpoints.
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.
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.
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.
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 | |
Este análisis demuestra la capacidad de identificar deuda técnica y planificar la evolución del software de manera profesional.