# Gemelo Comercial — Arquitectura consolidada 📄 gemelo_comercial.md — Versión consolidada 1. Objetivo del sistema El gemelo comercial tiene como objetivo: identificar → evaluar → priorizar → enriquecer → activar prospectos industriales Opera sobre dos dominios: Descubrimiento externo (empresas no presentes en ALEPH) Ejecución CRM (sincronización estructurada en ALEPH) 2. Arquitectura general Discovery externo → ProspectInput → evaluate_prospect (motor central) → discovered_actionable.jsonl → contact_enrichment_linkedin → discovered_actionable_enriched.jsonl → CRM (ALEPH) Separación clave: Evaluación técnica/comercial → prospect_intelligence Enriquecimiento de contacto → contact_enrichment_linkedin Persistencia CRM → flujo ALEPH 3. Pipeline de discovery Flujo: discover_pages → parse → DiscoveredCompany → build_prospect_input → evaluate_prospect → filter_actionable Salida principal: data/discovery/discovered_actionable.jsonl Estructura real: { "operational_summary": {...}, "company": {...}, "prospect_input": {...}, "evaluation": {...} } El campo clave para operación es: operational_summary 4. Motor de evaluación Función central: evaluate_prospect(...) Responsabilidades: inferencia sectorial perfil técnico señales comerciales scoring compuesto decisión CRM estrategia comercial generación de email Regla crítica: NO duplicar esta lógica 5. Modelo operativo (operational_summary) Campos clave: company_name country domain sector_hint priority_score priority_band commercial_access_score crm_initial_state recommended_next_action entry_point main_pain technical_angle Ejemplo real: { "company_name": "CODELCO - Corporación Nacional del Cobre", "country": "Chile", "entry_point": "mantenimiento", "main_pain": "alto_consumo_energetico", "crm_initial_state": "ENRICH_CONTACTS" } 6. Contact enrichment (LinkedIn) Módulo: prodisys/comercial/contact_enrichment_linkedin.py Flujo: discovered_actionable.jsonl → linkedin_review_queue.jsonl → linkedin_validated_contacts.jsonl (manual) → merge_validated → discovered_actionable_enriched.jsonl 6.1 Estados clave Estado Significado ENRICH_CONTACTS no hay contacto READY_FOR_OUTREACH contacto validado Esto se alinea directamente con la máquina de estados CRM. 6.2 Lógica de scoring El enrichment agrega: linkedin_enrichment_score contact_readiness Regla: LOW → sin contacto MEDIUM → contacto parcial HIGH → contacto listo 6.3 Output enriquecido Ejemplo validado: CODELCO → HIGH → READY_FOR_OUTREACH SCC → LOW → ENRICH_CONTACTS Antamina → LOW → ENRICH_CONTACTS 7. Integración con CRM (ALEPH) El flujo CRM está definido en: aleph_crm_flow.md aleph_crm_state_machine.md aleph_crm_decisions.md 7.1 Orden jerárquico EMPRESA → PERSONA → PERSONA_PROYECTO Regla obligatoria. 7.2 Estado crítico ENRICH_CONTACTS Significa: empresa válida + sin contacto → no se puede escribir en CRM Esto conecta directamente con el módulo que construiste. 7.3 Transición clave ENRICH_CONTACTS → (contact_enrichment) → READY_FOR_OUTREACH → CREATE_CONTACT_AND_ACTIVITY → CRM_READY 7.4 Requisito mínimo CRM Para escritura: empresa válida contacto válido (nombre + email/phone) proyecto interno 8. Outputs operativos Archivos data/discovery/ - discovered_actionable.jsonl - linkedin_review_queue.jsonl - linkedin_validated_contacts.jsonl - discovered_actionable_enriched.jsonl CLI disponibles build-queue sample-contacts merge-validated review-summary Vista operativa EMPRESA | PAIS | READINESS | STATUS | CONTACTO | ROL 9. Flujo end-to-end 1. Discovery identifica empresa 2. Evaluación calcula prioridad 3. Se clasifica como ENRICH_CONTACTS 4. LinkedIn genera búsqueda 5. Usuario valida contacto 6. Merge actualiza estado 7. Prospecto pasa a READY_FOR_OUTREACH 8. Se habilita CRM 10. Estado actual (MVP) ✔ Discovery funcional ✔ Evaluación integrada ✔ Filtro de accionables ✔ Enrichment LinkedIn operativo ✔ Estado READY_FOR_OUTREACH funcional ✔ CLI usable ✔ Vista tabular operativa 11. Limitaciones actuales dependencia manual en LinkedIn un solo contacto por prospecto sin integración automática con CRM sin preparación de outreach sin tracking de actividad 12. Siguiente módulo recomendado outreach_preparation.py Objetivo: Convertir: READY_FOR_OUTREACH en: mensaje comercial accionable Incluye: contacto objetivo hipótesis de valor problema técnico asunto de email borrador de contacto recomendación de material 13. Estado conceptual final El sistema ya funciona como: motor de generación de pipeline comercial técnico Capacidades: identifica empresas relevantes entiende su problema prioriza encuentra contacto habilita acción comercial Conclusión Ya tienes un sistema que conecta: inteligencia técnica → decisión comercial → acción CRM El cuello de botella principal (contacto) ya fue resuelto. Siguiente paso Si quieres seguimos con: outreach_preparation.py Ese es el punto donde el gemelo pasa de “analítico” a generador de negocio real.