27 lines
1.0 KiB
Markdown
27 lines
1.0 KiB
Markdown
# 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
|