Contexto: el producto necesita muchos dominios pero todavía no tiene carga ni equipos separados. Decisión: conservar React/Vite/Express y separar módulos por fronteras. Alternativas: microservicios desde el inicio. Consecuencia: menor coste operativo y migración posterior posible.
Contexto: el objetivo es portabilidad y control. Decisión: evaluar Keycloak, Open edX, CTFd, NetBox, Kokoro y Chatterbox antes de reimplementar. Consecuencia: menos código propio, pero revisión constante de licencias, seguridad y mantenimiento.
Contexto: tutoría, labs y evaluación tienen riesgos distintos. Decisión: AI Gateway, agentes con permisos, validación y auditoría. Consecuencia: más trabajo inicial, pero menor riesgo de decisiones opacas o privilegios excesivos.
Contexto: un currículo digital no equivale a un título oficial. Decisión: etiquetar claramente lo no implementado y separar achievement, certificate, credential y verification.