Reporte — LAP
Generado por el equipo de agentes PMO | 2026-06-02
Frank, dos cosas: --- **1. Informe actualizado** — Los PNGs de los correos #20 y #21 ya están regenerados. Si refrescas el informe deberías ver las versiones corregidas (sin contraseña, con CTA "Ir al dashboard"). --- **2. Correo #18 — Invitación al Equipo: las 4 variantes** Sí, son 4 variantes. Todas usan la **misma función** (`buildTeamInvitationHtml`) y el **mismo diseño visual** (título, tabla de datos, 2 botones). Lo que cambia entre ellas son **2 variables**: | # | Variante | `userExists` | `requiresTyC` | |---|----------|:---:|:---:| | 18a | Usuario NUEVO + necesita TyC | ❌ | ✅ | | 18b | Usuario NUEVO + ya tiene TyC | ❌ | ❌ | | 18c | Usuario EXISTENTE + necesita TyC | ✅ | ✅ | | 18d | Usuario EXISTENTE + no necesita TyC | ✅ | ❌ | **¿Cómo se determina cada variable?** - **`userExists`**: el sistema busca en `profiles` si ya existe una cuenta con ese email. Si existe → `true`. - **`requiresTyC`** (= `needsConsent`): el sistema busca en `profiles` si el email ya existe. Si existe → ya aceptó TyC antes → `false`. Si NO existe → necesita aceptar → `true`. **En la práctica**, `needsConsent = !profileExists`, entonces las combinaciones reales se reducen a **2 escenarios principales**: | Escenario | En el email | En la pantalla de confirmación | |-----------|-------------|-------------------------------| | **Usuario NUEVO** (no tiene cuenta) | Texto: *"Se creará una cuenta para ti..."* | Muestra 2 checkboxes obligatorios: TyC + Tratamiento de Datos. No puede confirmar sin marcarlos. El consent se graba en `consent_log` con `flow="team_invitation"`. | | **Usuario EXISTENTE** (ya tiene cuenta) | Texto: *"Ya tienes una cuenta en el Sistema LPDI..."* | **NO muestra checkboxes**. Solo muestra: *"Ya tienes una cuenta en LPDI con este correo, solo necesitas confirmar tu asociación al equipo."* Confirma con un clic directo. | **Nota importante**: los TyC **no se aceptan en el email**. El email es solo informativo con los 2 botones (Confirmar / Rechazar). Cuando el usuario hace clic en "Confirmar mi vinculación", llega a la pantalla `/team/confirmar` — y ahí es donde aparecen (o no) los checkboxes de TyC según corresponda. **¿Existe el caso 18b/18c (combinaciones "cruzadas")?** En el código actual, no. La lógica es: si el profile existe → no necesita TyC (punto). No hay un caso donde un usuario nuevo no necesite TyC, ni un existente sí lo necesite. Las 4 variantes del preview existen para cubrir todas las combinaciones posibles por si la lógica cambiara, pero hoy en producción solo se dan los 2 escenarios de arriba. _También pendientes (sin acknowledgment todavía): LAP-329, LAP-340, LAP-343, LAP-344_