Arquitectura de la plataforma
Taiko Suite usa varios repositorios con responsabilidades distintas. No es un monorepo: la carpeta local schoolsuite es un workspace que agrupa checkouts Git independientes.
Taiko Suite
├── Experiencia de producto
│ └── Taiko Kairos (frontend + backend)
├── Servicios especializados
│ ├── Taiko Scheduler
│ └── Generador de exámenes
├── Plataforma de despliegue
│ └── Helm + Argo CD + entornos
└── Presencia y conocimiento
└── Web oficial + documentación transversalDecisión recomendada
Mantener los repositorios separados tiene sentido mientras sus ciclos de cambio y despliegue sean realmente distintos. La mejora necesaria no es fusionarlos, sino añadir una capa de workspace explícita:
- un mapa claro de responsabilidades;
- instrucciones uniformes de desarrollo y validación;
- convenciones comunes para agentes;
- pipelines consistentes;
- documentación transversal en este repositorio;
- documentación específica junto al código propietario.
Límites
Producto principal
kairos contiene la aplicación web y su backend. Es el composition root funcional de la experiencia y el consumidor de servicios internos.
Servicios
smartscheduler y mcqtestgenerator deben seguir siendo servicios separados solo mientras mantengan contratos claros, tests propios y una razón operativa para desplegarse de forma independiente.
Plataforma
platform es propietario de Helm, GitOps y entornos compartidos. No debe absorber lógica de aplicación, secretos ni configuración funcional específica de clientes.
Documentación
docs es propietario de la web pública, la arquitectura transversal y los flujos compartidos. Los detalles que cambian con una implementación concreta permanecen en el repositorio correspondiente.
Evolución sugerida
- Consolidar identidad, documentación y calidad entre repositorios.
- Estandarizar comandos de
check, imágenes base y plantillas de CI. - Crear un manifiesto de workspace reproducible o un repositorio coordinador ligero.
- Renombrar artefactos internos de SchoolSuite a Taiko solo mediante una migración planificada.
- Extraer nuevos servicios únicamente cuando haya límites de producto, escalado o propiedad claros.