El campo city en el modelo Prisma es String (NOT NULL), pero el autosave intenta guardar null cuando el campo está vacío → Prisma rechaza silenciosamente.
Frank adjuntó el V.5 hoy en Slack. El bot PMO se cayó por buffer overflow antes de procesarlo. El último documento vigente es el V.4 (28-MAR-2026).
→ Pestaña "Manual SGR V.5" para instruccionesDiagnóstico: Campo Ciudad en el FD
El campo ciudad no persiste en el Formulario Detallado (/mi-empresa/perfildetallado) porque existe un conflicto de nullabilidad entre el schema de Prisma y la lógica del autosave.
schema.prisma)El FD trata ciudad como Opcional, pero la BD no acepta valores nulos.
+page.server.ts)Si el campo está vacío, .trim() || null → intenta escribir null → Prisma lanza error → el update falla silenciosamente.
| Opción | Descripción | Requiere migración | Impacto | |
|---|---|---|---|---|
| A | Hacer ciudad nullable en Prisma: city String? + migración ALTER COLUMN city DROP NOT NULL |
Sí (trivial) | Bajo — solo BD | ✓ Recomendada |
| B | En autosave cambiar || null → || '' para vacío. Sin migración. |
No | Funcional pero inconsistente semánticamente | |
| C | Implementar catálogo completo dr5hn/countries-states-cities-database con CityPicker dropdown (ya planificado en arquitectura) | Sí | M — sprint siguiente | Sprint 2 |
El autosave ya maneja correctamente el caso null — no requiere cambios en el frontend ni en la action del server.
Contenido Basic Memory — LPDI
| Documento | Versión | Fecha | Estado |
|---|---|---|---|
| B1. Requerimiento Técnico Sistema LPDI | V.3 | 16-MAR-2026 | ✓ Disponible |
| B2. Manual de Usuario Sistema LPDI | V.2 | 16-MAR-2026 | ✓ Disponible |
| C1. Manual SGC LPDI | V.4 | 01-ABR-2026 | ✓ Disponible |
| E1. Manual SGR LPDI | V.4 | 28-MAR-2026 | ✓ Disponible (último activo) |
| E1. Manual SGR LPDI | V.5 | 06-ABR-2026 | ✗ No guardado |
| Brandbook LPDI 2025 | — | 2025 | ✓ Disponible |
| Listado de Países Sistema LPDI | V.1 | 04-ABR-2026 | ✓ Disponible |
<span class="optional-tag">Opcional</span> — sin guiones, sin paréntesis.<strong> + texto explicativo en la misma etiqueta p.field-helper.<span class="required-asterisk">*</span> en rojo. Nunca asterisco directo en el texto.https://linkedin.com/in/usuario, validar URL con regex.Validación cross-formulario
Cuando un registro tiene datos en el FS, cargarlos como defaults en el FD. Evita que el usuario repita información que ya dio. Definir regla explícita de qué campos se pre-cargan.
Estado de completitud por panel
Indicador % por panel visible en el stepper (actualmente el progreso se guarda en detailed_panel1_complete etc. pero no se muestra visualmente al usuario). Documentar estándar de display.
Centralizar validaciones en un helper compartido
FS y FD duplican la misma lógica de validación. Un validators.ts centralizado evitaría el patrón "corregir en FS → replicar manualmente en FD". Evita bugs como el actual con ciudad.
Estado de Módulos SGR
Manual SGR V.5 — No disponible
E1. MANUAL SGR LPDI — V.5 (06-ABR-2026)
Frank adjuntó este documento en Slack el 7 de abril. El bot PMO comenzó a procesarlo pero se cayó por buffer overflow (respuesta > 1MB) antes de guardarlo en basic-memory. El documento no está disponible para comparación.
Para ejecutar el análisis comparativo (V.5 vs FS/FD), se necesita acceso al archivo.
- Adjuntar el PDF aquí directamente (Claude lo procesa)
- Pedirle a Frank que reenvíe el documento por Slack (se guardará automáticamente)
- Ruta a subir manualmente:
~/.basic-memory/convergence-hub/agents-pmo/lpdi/docs/
Frank solicitó comparar el V.5 contra los formularios FS y FD actuales para detectar: