Reporte — LAP
Generado por el equipo de agentes PMO | 2026-05-30
⚠️ LAP-336: trabajando, 1 issue(s) abierto(s) en ledger. ⚠️ LAP-339: trabajando, 3 issue(s) abierto(s) en ledger. Entendido. Voy punto por punto respondiendo cada uno de tus 14 comentarios: --- **C1. "Responde este correo" → soporte@lpdi.co** ✅ Ya aplicado en LAP-335. Los 6 correos que tenían esa frase ya fueron corregidos. Verificado con Playwright. **C2. EMAIL-002 — separar párrafo "Completa los paneles..."** 📋 Pendiente de implementar. Creo LAP para esto. **C3. ¿Qué pasa si el registrante no confirma pero el CEO/miembros con edición SÍ confirmaron?** ✅ Ya resuelto en LAP-336. La regla implementada es exactamente la que confirmaste: *"si al menos un miembro con permiso de edición confirmó, la startup NO se purga"*. El cron de purga (`startup-welcome-reminders`) verifica esto antes de eliminar. **C4. ¿Dónde está el correo de confirmación de eliminación voluntaria (usuario confirmado)?** Ese correo es EMAIL-018 (`sendEntityDeletedEmail`). Se envía cuando un usuario confirmado elimina voluntariamente su startup/ICG. Muestra quién dio la orden (campo `deletedBy` de LAP-336) y ofrece botón "Restaurar" (papelera, 30 días). **C5. EMAIL-010 — bifurcar en 4 variantes con checkboxes obligatorios de TyC** 📋 Este es un cambio de lógica importante. Las 4 variantes serían: 1. Team invitación + edición + usuario nuevo (con TyC obligatorio) 2. Team invitación + edición + usuario existente (sin TyC) 3. Team invitación + NO edición + usuario nuevo (con TyC obligatorio) 4. Team invitación + NO edición + usuario existente (sin TyC) Y el CTA "Confirmar vinculación" debe llevar a una pantalla con checkboxes de TyC y Privacidad **obligatorios** antes de completar — no aceptación tácita. Creo LAP para esto. **C6. EMAIL-012 — "Sólo" con mayúscula** 📋 Fix de copy menor. Lo incluyo en el LAP de ajustes de copy. **C7. EMAIL-014 — Notificar a TODOS los editores (no solo CEO) + cambiar asunto** 📋 Dos cambios: (1) enviar a todos los miembros con `canEdit=true`, no solo al CEO, (2) asunto cambia de "aceptó **tu** invitación" a "aceptó **la** invitación". Creo LAP. **C8. EMAIL-015 — Notificar a TODOS los editores (no solo CEO)** 📋 Mismo cambio que C7 pero para rechazo. Lo agrupo en el mismo LAP. **C9. EMAIL-017 — Formato del mensaje con rol** 📋 El mensaje debe ser: "El registro de **[entityName]** (**[Rol]**) ha sido eliminado del Ecosistema LPDI por **[memberName]**". Rol = tipo de entidad (Startup/Scaleup/PyMe para startups, subcategoría ICG para ICGs). Todo entre [ ] en negrilla. Creo LAP. **C10. EMAIL-018 — Cambiar asunto** 📋 De "Tu registro en el Ecosistema LPDI ha expirado" a "El registro de **[ICG]** en el Ecosistema LPDI ha expirado". Lo incluyo en el LAP de ajustes. **C11. Imágenes de correos Supabase Auth** Los templates AUTH-001 a AUTH-004 están configurados en el dashboard de Supabase (Auth → Email Templates). Para obtener las imágenes reales necesito acceder al dashboard de Supabase del proyecto. Las imágenes que puse en el reporte son representaciones basadas en el shell HTML de LPDI — si los templates de Supabase están personalizados con otro diseño, necesito capturarlos del dashboard. ¿Tenés acceso para compartir un screenshot de cada template desde Supabase, o preferís que acceda yo directamente con las credenciales del proyecto? **C12. Hallazgos de auditoría — detalle** Los 2 hallazgos principales que encontré en el código: | Hallazgo | Correos | Riesgo | Recomendación | |----------|---------|--------|---------------| | **Contacto y CEO designados reciben credenciales sin aceptar TyC explícitamente** | EMAIL-006, EMAIL-008 | El consent se graba como "implícito" (`implicit:true` en consent_log) — el registrante aceptó por ellos. Esto podría no cumplir con normativa de datos personales que exige consentimiento expreso individual. | Agregar paso de aceptación de TyC al primer login del contacto/CEO designado, o incluir checkboxes en la pantalla de confirmación (similar a lo que pides en C5). | | **AUTH-003 (Magic Link) no se usa en flujo normal** | AUTH-003 | Bajo. Template existe en Supabase pero no se invoca desde el código. | Verificar si se necesita o eliminarlo para evitar confusión. | **C13. Mostrar casos bifurcados en el reporte** 📋 Actualizo el reporte para mostrar explícitamente las variantes (ej: EMAIL-006a/006b, EMAIL-010 con sus 4 variantes propuestas, etc.). **C14. ¿Falta algún correo por crear?** Después de revisar el código completo, identifico estos correos que **no existen pero podrían ser necesarios**: | Correo faltante | Descripción | Prioridad | |----------------|-------------|-----------| | Recordatorio de invitación de equipo | Si un miembro invitado no confirma ni rechaza en X días, ¿se le recuerda? Actualmente NO hay reminder para team invitations. | Media | | Notificación de restauración | Cuando alguien restaura una entidad desde la papelera, ¿se notifica a los asociados? Actualmente NO. | Baja | | Cambio de permisos de edición | Si el CEO cambia los permisos de un miembro (de edición a solo lectura o viceversa), ¿se notifica? Actualmente NO. | Baja | | Confirmación de cambio de contraseña | Después de que un usuario cambia su contraseña exitosamente, ¿se le confirma por email? Depende de Supabase config. | Baja | --- **Resumen de acciones:** | Tipo | Puntos | Estado | |------|--------|--------| | ✅ Ya resuelto | C1, C3, C4 | LAP-335, LAP-336 | | 📋 Cambios de copy menores | C2, C6, C10 | Agrupo en 1 LAP | | 📋 Cambio de lógica (notificar editores) | C7, C8 | 1 LAP | | 📋 Cambio de lógica (formato mensaje) | C9 | 1 LAP | | 📋 Cambio de lógica mayor (4 variantes TyC) | C5 | 1 LAP separado | | 📋 Actualizar reporte | C11, C12, C13, C14 | LAP-339 Rev 5 | ¿Creo los LAPs y arranco por prioridad, o preferís ajustar algo antes? _También pendientes (sin acknowledgment todavía): LAP-324, LAP-325, LAP-327, LAP-329, LAP-330, LAP-331, LAP-333, LAP-334_