Definition of Done — GekkoCheckin
Mínimos para dar por terminada una tarea y hacer merge.
Código
- Compila y tests existentes en verde (backend:
cargo test, frontend:ng testsi aplica). - Sin regresiones obvias: flujos críticos (login, fichaje, informes) probados a mano o con test automatizado si existe.
- Cumple reglas de pull-requests.md en el ámbito del cambio.
Frontend
- Estilos con variables de tema (ver styles.md); no colores hardcodeados en componentes nuevos.
- Componente/página nueva: spec que instancie el componente (mínimo "should create"); si es flujo crítico, data-testid según testing.md.
- Si se añaden suscripciones a Observables, usar
takeUntil(destroy$)yngOnDestroy(ver components.md).
Backend
- Respuestas de error vía
AppError; sinunwrap()en camino de request (ver error-handling.md). - Al menos un log de tracing en operaciones nuevas relevantes (crear/actualizar/borrar, auth, fichaje).
- Handlers no importan
infrastructure::persistencedirectamente; usancrate::repository(ver hexagonal.md). - Si la tarea incluye una acción auditable, registro en
activity_logy evento documentado (ver activity-log.md).
Documentación y proceso
- Si se añade o cambia un endpoint público, actualizar OpenAPI o doc de API si existe.
- PR revisado y checklist de pull-requests.md cumplido.
No todo PR debe cumplir todos los puntos; aplicar solo los que correspondan al alcance (ej. un fix de CSS no requiere cambios en backend ni en activity_log).