De "detector de crashes" a ingeniería autónoma real — los 3 productos de Zymplo
Carlos pidió que todo error se autodetecte, autocorrija y autoverifique, 24/7, al nivel de
Google/Meta/Anthropic. Antes de proponer algo nuevo, auditamos lo que YA existe en los 3 productos
(bot WhatsApp, ZyChat mobile, CONTIQ) — y encontramos un hallazgo que cambia todo el enfoque.
⚠️ El hallazgo central
El bot ya tiene un pipeline autónomo real: detecta → propone fix → corre tests → abre PR → despliega a prod, con 2 puntos de aprobación humana. No es un proyecto nuevo — ya corre 24/7.
Pero está construido para atrapar crashes y errores explícitos (una excepción, un 4xx, una frase de "no sé qué hacer"). Los 4 bugs reales que arreglamos hoy a mano — categoría en el idioma equivocado, el recordatorio de impuesto mostrando literalmente "seu DAS", el símbolo de moneda duplicado, el UUID crudo — ninguno de los 4 tira una excepción. El bot responde exitosamente, sin errores, diciendo algo mal. Ese tipo de bug es estructuralmente invisible para todo lo que existe hoy, con una sola excepción: hay un "juez" de IA que sí lo vería (judge.py) — pero está apagado por defecto.
Conclusión: no hace falta inventar de cero. Hace falta prender lo que ya está construido (con cuidado, por costo) y llenar 3 brechas estructurales concretas.
Tests solo por componente aislado, nunca el flujo real login→cartera→operación
Maneja comisiones de 200+ contadores y plazos de DAS — es dinero y compliance
Buena noticia: el ítem de seguridad que se creía pendiente (cookies) ya está resuelto
Cómo funciona hoy el pipeline del bot (el más maduro)
4 etapas · 2 gates humanos
Esto YA corre en producción, en cron, sin que nadie lo toque — el problema no es que falte, es qué NO ve.
1 · Detectar
Cron lee conversaciones nuevas · busca excepciones, errores de herramienta, frases de "me rendí", confianza baja
1B · Juez IA (apagado)
Existe, leería si la respuesta está "confiadamente mal" — pero OFF por defecto
2 · Proponer
Genera el fix, acotado por el mapa de dependencias real (no toca auth/pagos)
3 · Listo (👤 gate 1)
Humano aprueba en el dashboard → corre tests → abre PR
4 · Verificar
Repite el mensaje original contra QA, compara respuesta vieja vs. nueva
5 · Prod (👤 gate 2)
Humano hace click "Promover" → release → deploy → rollback automático si falla
El modelo de confianza — dónde estamos y a dónde vamos
escalera de autonomía, no interruptor de todo/nada
Así construyen esto Google, Meta y las herramientas más usadas del mundo (Renovate/Dependabot, Sentry):
la autonomía se GANA por categoría de riesgo, nunca se otorga de una para todo el código. Zymplo hoy
vive en el escalón 1.
L0
Auto-detecta, humano decide todo
El bot ya está acá para: detección + propuesta de fix.
HOY
L1
Auto-fix verificado, humano aprueba 2 veces
El bot ya está acá: aprobar-a-pipeline + click de "Promover a prod".
HOY
L2
Auto-merge para categorías acotadas y de bajo riesgo
Ej: copy/traducción, formato de moneda, cambios <20 líneas en archivos no-auth/no-pago — merge automático si nadie objeta en N horas.
PROPUESTO
L3
Auto-merge + auto-deploy con rollback automático
Solo para categorías con historial probado — nunca de entrada, nunca para toda la base de código.
FUTURO, si L2 funciona bien
Hoja de ruta priorizada
ordenada por impacto ÷ esfuerzo
✅ Ya hecho
Mobile: prender no-color-literals + correr los 42 tests que dormían
La herramienta para el bug de colores hardcodeados ya estaba comprada e instalada — solo faltaba un flag. PR #2808 →
Gratis 0 horas
Próximos días
Prender el juez de IA del bot (con muestreo bajo y conservador)
Es el ÚNICO componente que hoy vería el tipo exacto de bug que encontramos manualmente. Ya está construido — activarlo con un % de muestreo chico controla el costo mientras se mide qué tan bien funciona en la práctica.
Costo $ variable ~1 día
Próximas 2 semanas
Detector de idioma por campo, no por mensaje completo
Hoy el detector de "mezcla de idiomas" mira el mensaje entero — una sola palabra en el idioma equivocado (como "OUTROS") no alcanza a mover el veredicto global. Bajarlo a nivel de campo/etiqueta lo haría atrapar exactamente ese bug la próxima vez.
Bajo 2-3 días
Próximas 2 semanas
CONTIQ: conectar Sentry (hoy cero monitoreo)
Es el gap más urgente por impacto de negocio — maneja comisiones y plazos de compliance de 200+ contadores sin ninguna alarma si algo se rompe. Conectar Sentry es mecánico y rápido; ya está resuelto en los otros 2 productos.
Bajo 2-3 días
Este trimestre
"Conversaciones doradas" — flujos reales del bot repetidos en cron contra QA
Un set de conversaciones guionadas (registrar un recibo, pedir el dashboard, editar una transacción, disparar el recordatorio de DAS) que corren solas cada cierto tiempo contra QA, con un juez de IA comparando la respuesta contra lo esperado. Esto atrapa el bug ANTES de producción, no después.
Medio 1-2 semanas
Este trimestre
Mobile: prueba automática que compara cómo se VE la pantalla
El único de los 4 bugs de mobile que de verdad necesita una herramienta nueva (no existe hoy en absoluto): capturar pantallas automáticamente y compararlas contra la versión anterior para atrapar "todo se ve desordenado" antes de que un humano lo vea.
Medio-alto 2-3 semanas
Este trimestre
CONTIQ: probar el flujo real completo (login → cartera → operación)
Hoy los tests prueban piezas sueltas, nunca el camino real conectado — ahí es exactamente donde suelen escaparse los bugs de integración.
Medio 1-2 semanas
Decisión de negocio
Graduar a L2: auto-merge para categorías chicas y de bajo riesgo
Una vez el juez de IA + las conversaciones doradas prueben ser confiables durante un tiempo, dar autonomía real (sin click humano) para categorías acotadas: traducciones, formato de moneda, copy — nunca auth, pagos, ni nada de PII.
Requiere Carlos después de medir L1
Para vos, en simple
El bot de WhatsApp ya tiene un robot que busca errores, los arregla, los prueba y los sube solo — corre las 24 horas, todos los días. El problema no es que falte: es que solo sabe reconocer cuando algo se ROMPE (un error técnico). Los 4 problemas que encontré hoy a mano nunca se rompieron — el bot respondió bien, solo dijo algo mal. Por eso el robot nunca los vio.
La buena noticia: ya existe una pieza (apagada) que SÍ vería ese tipo de problema — solo hay que prenderla con cuidado (cuesta un poco de dinero cada vez que revisa una conversación, así que hay que empezar de a poco). Para la app del celular, encontré que la herramienta que hubiera evitado el bug de colores ya estaba pagada e instalada — ya la prendí hoy mismo. Para CONTIQ (el panel de los contadores), el hallazgo más importante: no tiene ninguna alarma prendida — si algo se rompe ahí, hoy nadie se entera hasta que un contador se queja.
Te dejo una hoja de ruta ordenada por lo que más conviene hacer primero. Lo más barato y rápido ya lo hice hoy. Lo que sigue (prender el juez de IA, conectar alarmas en CONTIQ) es cuestión de días, no meses. Decime si querés que avance con el resto de la lista.