Saltar a contenido

Pasos pendientes de la auditoría (CURSOR_AUDIT_PROMPT)

Contexto: @CURSOR_AUDIT_PROMPT.md (líneas 3-4). Auditoría centrada solo en GekkoCheckin (unpispas queda fuera por refactor).


Dónde está la documentación con diagramas

Qué Dónde
Diagramas (flujos, backend, despliegue, usuario) docs/desarrollo/arquitectura.md
Backend hexagonal (dependencias) docs/architecture/backend-hexagonal-dependencies.md
Reglas y arquitectura docs/rules/README.md

Las tablas de la Fase 1 (CSS, componentes, hexagonal, etc.) quedaron en las respuestas del chat de la auditoría; este doc y docs/architecture/ son la parte persistente en repo.


Hecho hasta ahora

Fase Contenido Estado
FASE 1 1A CSS/SCSS, 1B componentes/servicios, 1C hexagonal, 1D naming/logging/errores, 1E testing ✅ Hecho (tablas y diagrama en respuestas previas)
FASE 1B Auditoría unpispas (estilos, ui-*, auth, API) ⏭ Omitido (solo gekkotech)
FASE 4 Reglas en /docs/rules/ (styles, components, testing, hexagonal, error-handling, activity-log, PR, DoD) ✅ Hecho
Tests Plan en /docs/testing/TESTING_PLAN.md, 20 tests Rust, specs Angular (AuthService, AuthGuard, ApiService), Playwright E2E + Docker con Chromium ✅ Iniciado

Pendiente (por orden del prompt)

FASE 2 — Diagnóstico y priorización

Con los datos de Fase 1 (solo gekkocheckin), generar:

  1. Resumen ejecutivo (máx. 15 líneas): estado real del proyecto, qué funciona bien, dónde duele.
  2. Top 10 problemas ordenados por impacto (tabla: problema, dónde, impacto, esfuerzo, prioridad).
  3. Quick wins (< 2 h cada uno) que se puedan arreglar ya sin riesgo.
  4. Plan incremental en 4 sprints (máx. 5 tareas por sprint, realista).

(Se puede hacer cuando quieras con la Fase 1 ya cerrada.)


FASE 2B — Preparación para integración y escala

Solo lo que aplique a gekkocheckin (sin unpispas):

  1. Multi-tenancy: ¿el backend aísla por tenant (place_id)? ¿Riesgo de data leaks? ¿Repos filtran por tenant? ¿WebSocket por tenant?
  2. Suscripciones/billing: ¿modelo de usuario/organización para planes? ¿Qué añadir al schema (free/pro/enterprise, límites, trial)? ¿Dónde encaja en la hexagonal?
  3. Base de datos: ¿índices para multi-tenant a escala? ¿schema_sync seguro en producción? ¿Migraciones versionadas?
  4. Infra/DevOps: ¿Integrado en CI/CD? ¿Stateless para múltiples instancias? ¿Sessions/auth escalan? ¿Rate limiting y health checks?

Generar tabla: Área | Estado actual | Listo para escalar | Qué falta | Esfuerzo.

(Fase 2B se puede hacer después de Fase 2.)


FASE 3 — Plan de pruebas (completar)

Ya hay:

  • Plan en docs/testing/TESTING_PLAN.md (oleadas 1–4).
  • Tests unitarios backend (auth, time_control, activity_log, error, auto_assign).
  • Specs frontend (AuthService, AuthGuard, ApiService).
  • Playwright E2E en /e2e/ y Docker con Chromium en docker/docker-compose.e2e.yml.

Pendiente de Fase 3:

  • 3A: Definir/formalizar los E2E de flujos críticos (registro, login, crear place, añadir empleado, clock-in/out, modificación horario, aprobar/rechazar, informes, PIN) con precondiciones, pasos y prioridad P0/P1/P2.
  • 3B/3C: Seguir ampliando tests unitarios (backend y frontend) según el plan.
  • 3D: Dejar documentada la estrategia (framework E2E = Playwright, datos de test, CI, convención data-testid gk-*).

Ejecutar tests E2E

Contexto Comando
gekkocheckin/docker (app + tests) cd docker && docker compose -f docker-compose.e2e.yml up --build --abort-on-container-exit
gekkocheckin/docker (solo tests) cd docker && docker compose -f docker-compose.e2e.yml run --rm -e BASE_URL=http://frontend:8100 e2e
application/docker (LXC) cd application/docker && docker compose -f docker-compose.yml -f docker-compose.lxc.yml --profile gekkocheckin --profile playwright-run run --rm gk-e2e
Local cd e2e && npm run test (app en http://localhost:8100)

Reporte: playwright.gekkocheckin.mywire.org


Resumen

Qué queda Acción
Fase 2 Redactar resumen ejecutivo, top 10, quick wins, 4 sprints (solo gekkocheckin).
Fase 2B Redactar evaluación multi-tenancy, billing, DB, infra (solo gekkocheckin).
Fase 3 Completar 3A (especificar E2E por flujo), 3D (documentar estrategia); seguir oleadas de tests.
E2E en Docker Ya está: docker-compose.e2e.yml + imagen con Chromium; solo falta ejecutar y, si quieres, añadir más tests en e2e/tests/.