# Refactor Comercial Gradual Fecha: 2026-05-07 ## Principio No mover código vivo sin: 1. baseline limpio, 2. compileall, 3. import test, 4. prueba funcional mínima, 5. commit pequeño, 6. punto de retorno. ## Estado actual ### Núcleo vivo - prodisys/comercial/ - prodisys/comercial/ui/ - prodisys/comercial/ui/persistence.py ### Activo transitorio - src/commercial/strategic_scoring.py - src/commercial/prospect_enrichment.py ### No tocar todavía - data/commercial/*.jsonl - data/commercial/backups/ - notebooks legacy útiles - gemelo operativo ## Orden propuesto ### Fase 1 — Documentar frontera de módulos Sin mover archivos. Objetivo: - declarar qué pertenece al dominio comercial, - qué pertenece a UI, - qué pertenece a persistencia, - qué sigue como transitorio. ### Fase 2 — Migración controlada de src/commercial Mover gradualmente: - src/commercial/strategic_scoring.py - src/commercial/prospect_enrichment.py a: - prodisys/comercial/strategic_scoring.py - prodisys/comercial/prospect_enrichment.py Solo después de verificar imports. ### Fase 3 — Compatibilidad temporal Mantener wrappers en src/commercial durante una transición corta. ### Fase 4 — Unificación CRM state Normalizar: - crm.crm_state manteniendo: - crm.state como legacy read-only. ### Fase 5 — Persistencia JSONL Continuar convergencia hacia: - prodisys/comercial/ui/persistence.py sin alterar semántica de datos. ## Regla de oro Un refactor por commit.