# ALEPH CRM — TODO ## Objetivo Lista de pendientes técnicos y operativos del flujo Gemelo ↔ ALEPH. --- ## Alta prioridad - [ ] Cerrar `INT-0002` agregando contacto válido - [ ] Validar si todos los prospectos deben tener `internal_commercial_project_id` desde el inicio - [ ] Consolidar limpieza de NIT en una función común reutilizable - [ ] Revisar generación de `contact_id` para no depender de valores manuales - [ ] Agregar logs persistentes de escrituras reales en EMPRESAS, PERSONAS y PERSONA_PROYECTO --- ## Prioridad media - [ ] Mejorar separación de nombre/apellido - [ ] Mejorar la heurística de teléfono vs celular - [ ] Definir política formal para `id_origen` en EMPRESAS - [ ] Modelar mejor `id_estado_relacion` en PERSONA_PROYECTO - [ ] Agregar modo explícito `execute=False / execute=True` a writers --- ## Prioridad baja - [ ] Diseñar flujo completo de vendor registration internacional - [ ] Asociar vendor registration a oportunidad o cliente - [ ] Definir cuándo vendor registration pasa de “pendiente” a “obligatorio” - [ ] Explorar sincronización bidireccional con ALEPH - [ ] Crear reportes consolidados por prospecto --- ## Deuda técnica - [ ] Unificar helpers SQL para evitar renderizado manual cuando sea posible - [ ] Revisar si conviene parametrizar `run_query` sin romper compatibilidad - [ ] Centralizar reglas de bloqueo (`empresa`, `contacto`, `proyecto`) en un solo módulo - [ ] Revisar consistencia de reasons entre `crm_sync`, `crm_push` y `crm_writer` --- ## Estado funcional actual ### Casos cerrados - [x] `NAC-0001` - [x] `NAC-0002` - [x] `NAC-0003` - [x] `INT-0001` ### Caso abierto - [ ] `INT-0002` --- ## Meta de la siguiente fase Dejar todos los prospectos del set demo en uno de estos estados finales: - `CRM_ALREADY_SYNCED` - `ENRICH_CONTACTS` con causa clara - `PENDING_COMPANY_DATA` con causa clara