🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCódigo generado en producción sin revisión
5 tareas · 40 min · Principiante
Segundo incidente del trimestre en Arboloco Software, el INC-AR-034. El 22 de septiembre de 2026, de madrugada, entró a producción un cambio que nadie leyó, y durante buena parte del día los comercios no pudieron emitir notas crédito. El cambio lo escribió Gulungo, el agente de código del equipo de producto, que abre PR en el repositorio de la aplicación; desde agosto algunos de esos PR se fusionan solos. Tienes las reglas de fusión, el PR con su migración, el registro del despliegue, el de alertas, la nota del servicio afectado y la política de uso de agentes de código. Es solo lectura: nada se ejecuta.
Objetivo de la sala
Segundo incidente del trimestre en Arboloco Software, el INC-AR-034. El 22 de septiembre de 2026, de madrugada, entró a producción un cambio que nadie leyó, y durante buena parte del día los comercios no pudieron emitir notas crédito. El cambio lo escribió Gulungo, el agente de código del equipo de producto, que abre PR en el repositorio de la aplicación; desde agosto algunos de esos PR se fusionan solos. Tienes las reglas de fusión, el PR con su migración, el registro del despliegue, el de alertas, la nota del servicio afectado y la política de uso de agentes de código. Es solo lectura: nada se ejecuta.El código generado llega a producción sin que nadie lo lea por caminos conocidos: una regla de fusión automática pensada para cambios triviales, una aprobación en tres minutos sin un comentario, o un agente que puede declarar trivial su propio cambio. En los casos públicos de este tipo se repite el cuadro: el código compilaba, las pruebas pasaban y nadie había mirado qué hacía fuera de lo que las pruebas comprobaban.
Las pruebas verifican lo que alguien pensó verificar. Un cambio que deja sin un dato a otro servicio, que vive en otro repositorio, no rompe ninguna prueba del repositorio donde se hizo. Y si el mismo agente escribió el código y sus pruebas, las dos cosas comparten los mismos supuestos.
La revisión de una persona no es un trámite: es la parte del proceso que puede preguntar quién más usa esto, qué pasa si sale mal y cómo se vuelve atrás.
Responde para continuar
¿Por qué un cambio generado, pequeño y con todas las pruebas en verde puede necesitar igual que lo revise una persona?
Ver pista de ayuda
Lee `servicios/notas-credito.txt`: dónde vive el servicio que falló y qué lee.
Toda regla de fusión automática tiene una condición. La pregunta de auditoría no es si la condición es razonable, sino quién la controla. Si la condición es una etiqueta que puede poner el propio autor, y el autor es un agente, el agente decide si su cambio pasa por una persona o no.
Es un caso de separación de funciones, igual que en cualquier otro proceso: quien hace el cambio no puede ser quien decide que no hace falta revisarlo.
Responde para continuar
¿Qué etiqueta puso Gulungo en su PR y activó la fusión sin revisión humana?
Ver pista de ayuda
Compara las etiquetas del PR con la condición de la regla de fusión automática y con quién puede ponerlas.
Además de la etiqueta, la regla tenía un tope de líneas. Un tope de líneas solo protege si cuenta lo que importa. Si el conteo deja fuera carpetas enteras (las migraciones de base de datos, la configuración, la infraestructura), un cambio de pocas líneas de código puede llevar dentro un cambio de esquema que borra datos al desplegarse.
Una migración que elimina una columna es una acción irreversible, igual que una purga: la diferencia es que no la ejecuta un agente con una herramienta, sino el proceso de despliegue, y por eso nadie la mira como una acción.
Responde para continuar
¿Qué archivo del PR quedó fuera del conteo de líneas y eliminó datos al desplegarse?
Ver pista de ayuda
La regla dice qué carpetas cuenta; el PR lista sus archivos con su carpeta.
La línea de tiempo de un incidente de despliegue tiene hitos fijos: la fusión, la aplicación en producción, el primer síntoma, la primera alerta, la identificación del cambio causante y la vuelta a la normalidad. Cada hito sale de un registro distinto, y conviene anotar de cuál.
La duración del impacto se mide desde que el cambio se aplica en producción hasta que el servicio vuelve a funcionar, no desde que alguien abre un ticket. La diferencia entre las dos cifras es, justamente, el tiempo en que nadie sabía.
Responde para continuar
¿Cuántas horas pasaron desde que la migración se aplicó en producción hasta que el servicio de notas crédito volvió a funcionar?
Ver pista de ayuda
Toma la hora de la migración del registro del despliegue y la de la normalidad del registro de alertas.
Un control para el código generado tiene que cerrar el camino por el que entró este cambio, no el que entró la vez anterior. Aquí el camino tuvo tres tramos: el agente marcó su propio cambio, la regla no contó la migración y la etapa de respaldo previo dependía de otra etiqueta que nadie puso.
Lo que no cierra el camino: pedirle al agente que se explique (sigue decidiendo él), mover el tope de líneas (la migración sigue sin contar) o escribir una prueba para esta tabla concreta (protege esta columna y deja abierta la próxima).
Responde para continuar
¿Qué cambio en las reglas cierra el camino por el que entró PR-5536?
Ver pista de ayuda
Relee la política de uso de agentes de código y compárala con la regla de fusión.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.