El cron de ingesta corre. Entra una fila de venta desde el ERP.
A las 09:00, FARO ejecuta el job programado de ingesta nocturna. 10.243 filas nuevas llegan desde el ERP de Empresa Demo. La que va a desencadenar el resto del día: una venta de la sucursal San Juan, cliente Constructora del Norte, 240 bolsas de cemento 50kg, con descuento del 14%.
sucursal: "san-juan" cliente_id: "CL-0042" producto: "CEM-BOLSA-50KG" cantidad: 240 precio_unit: 8500 descuento: 0.14 plazo_pago: 75 vendedor: "V-R.Sosa"
cron: "0 9 * * *" batch_id: "B-20260521-0900" filas: 10243 latencia: 8.4s errores: 0 status: "OK"
El dato se preserva intacto y pasa por 87 reglas de validación.
FARO escribe la fila tal cual llegó en raw_imports (Postgres JSONB) con metadatos completos: fuente, usuario, timestamp, batch, sucursal. Cualquiera puede auditar mañana, en 6 meses o en 3 años de dónde salió ese descuento del 14%. Después la fila pasa por 87 reglas de calidad: campos obligatorios, tipos, rangos, duplicados.
87/87 reglas evaluadas · 86 OK · 1 observada · la regla #042 (descuento > política) genera flag pero no rechaza
El job de KPIs recalcula margen bruto de la sucursal. Cae a 24.3%.
El job de cálculo diario corre a las 10:00. Después de integrar las 10.243 filas nuevas, el margen bruto de la sucursal San Juan cae del 28.4% al 24.3%. Es la primera caída del mes que cruza el umbral verde-amarillo. Por sí solo no es una alarma — es un dato. FARO lo registra y pasa al siguiente.
El motor de señales detecta deterioro continuado en 4 KPIs.
FARO ejecuta el motor de señales sobre los 312 KPIs. La regla deterioro_continuado_3_periodos dispara para 4 KPIs simultáneamente: margen, descuento, cobranza y devoluciones. No es ruido — es un patrón de 3 períodos consecutivos en deterioro. Las 4 señales se registran y entran al motor de tensiones.
El motor cruza variables entre Comercial y Finanzas. Aparece la tensión.
El motor de tensiones evalúa 487 patrones contra el estado actual. Encuentra que 4 KPIs en deterioro simultáneo entre Comercial y Finanzas cumplen el patrón T-CRECIMIENTO-NO-RENTABLE. No es un dato malo aislado: es una contradicción cruzada. Se calcula la severidad: 87/100. Crítica. La tensión nace.
El Neural Engine redacta el diagnóstico y se crea la acción #A-2026-0142.
FARO consulta el Playbook #042 (auditoría de descuentos) y le pide al Neural Engine que redacte el diagnóstico ejecutivo, usando RAG sobre el catálogo de tensiones similares previas. La IA no inventa: cita el playbook y los KPIs. Se genera automáticamente la acción A-2026-0142 con responsable (Gerente Comercial) y vencimiento (7 días). Notificación in-app + email + WhatsApp.
Las ventas crecen 18% pero el margen baja 4.1 puntos y los días de cobranza suben 23%. El cruce indica que el crecimiento se sostiene con descuentos por encima del 10% no autorizados y plazos de pago extendidos sin aprobación de Finanzas. Si se mantiene la tendencia, en 2 meses el efecto sobre la caja supera la ganancia bruta del trimestre.
Juan toma la acción, audita, propone bloqueo. Dirección aprueba.
Después del almuerzo, Juan Pérez abre la app, revisa la tensión y toma la acción. A las 14:42 corre la consulta SQL del playbook: encuentra 14 operaciones con descuento > 10% sin autorización en los últimos 30 días, 8 del vendedor R. Sosa. Propone bloquear excepciones automáticamente. Dirección aprueba a las 15:30. La política se aplica esa misma tarde.
Score sube de 74 a 78. El sistema guarda el patrón y lo aprende.
Un mes después, FARO mide before/after de la acción cerrada. El margen sube a 26.8% (todavía amarillo pero recuperándose). El descuento promedio baja al 9.8%. La cobranza mejora 12 días. La tensión #01 se marca como parcialmente resuelta — la política funcionó pero queda 1 vendedor por adaptar. El FARO Score de la sucursal sube de 74 a 78. La memoria FARO guarda el patrón: "esta acción + este responsable + esta velocidad de aprobación = +4 puntos de score en 30 días".