# Pipeline de 3 etapas ## Responsabilidad Orquestar el procesamiento completo de un lead: desde recibir el perfil hasta entregar los renders a la app principal. ## Flujo por zona Para cada zona del lead que tenga fotos "antes": 1. Etapa 1 → prompt-builder genera el prompt en inglés 2. Etapa 2 → image-generator produce el render 3. Etapa 3 → supervisor valida la coherencia 4. Si rechazado → reintentar máximo MAX_RETRIES veces desde Etapa 2 5. Si sigue rechazado → usar el último render de todos modos y loguear ## Reglas - Zonas sin fotos "antes": saltar y loguear, nunca lanzar error - Procesar todas las zonas antes de llamar a /ingesta - Enviar todos los renders en una sola llamada con finalizar: true - El pipeline corre en background, no bloquea el webhook ## Logs obligatorios - [leadId] Iniciando pipeline para N zonas - [leadId] Zona X: prompt generado - [leadId] Zona X: imagen generada - [leadId] Zona X: aprobada/rechazada (score: N) - [leadId] Zona X: reintento N de MAX_RETRIES - [leadId] Renders entregados correctamente