Blair
El lunes descubrí que un sistema informático podía ser más testarudo que Millie.
Y eso, teniendo en cuenta que mi sobrina llevaba cuarenta y ocho horas defendiendo su derecho a desayunar helado, era una afirmación considerable.
—No puedes comer helado antes de ir al colegio —le expliqué por tercera vez.
—¿Por qué?
—Porque necesitas un desayuno de verdad.
—El helado tiene leche.
Marta, que estaba preparando las mochilas, disimuló una sonrisa.
—También tiene azúcar, cariño —respondí.
Millie frunció el ceño.
—La mermelada también.
Maldita fuera.
—¿Desde cuándo sabes tanto de nutrición?
—Anouk me lo dijo. —Miré a mi sobrina mayor, que estaba sentada a la mesa, concentrada en terminar su tostada.
—Anouk. —Levantó la vista.
—Es verdad, tía Blair.
—No estás ayudando.
—Pero es verdad.
Suspiré porque aquella niña iba a convertirse en una abogada extraordinaria o en una amenaza para la estabilidad de cualquier gobierno.
Zuli apareció con una diadema de orejas de conejo.
—Hoy soy la reina de los animales.
—Estupendo.
—Y Nilo es mi ministro.
Observé al gato, que permanecía sentado junto al radiador con una expresión de absoluto desprecio por las instituciones.
—Creo que tu ministro está considerando presentar su dimisión.
—No puede. Tiene que trabajar.
—Bienvenida al mundo de la política, cariño.
El pequeño Ethan entró en la cocina arrastrando su mochila de la guardería.
—¡Coche!
—Sí, mi amor, llevas tu coche.
—¡Rojo!
—Rojo. —Lo levantó orgulloso.
—¡Bum!
—Esperemos que no, cariño. Los accidentes de tráfico no son una buena manera de empezar la semana.
Marta soltó una carcajada.
A las ocho y media, los cuatro estaban preparados para salir hacia el mismo centro escolar, aunque cada uno asistía a su clase correspondiente.
Anouk se acercó para darme un beso.
—¿Hoy trabajas mucho?
—Un poco.
—Eso dijiste el viernes.
—Y trabajé mucho.
—Entonces no era un poco.
La miré.
—¿Sabes qué? Empiezo a comprender por qué los padres de mis compañeros de trabajo se quejaban tanto de las preguntas de sus hijos.
Anouk sonrió.
—Es porque queremos saber cosas.
—Ya me he dado cuenta.
Cuando por fin salieron con Marta, me quedé unos segundos en el recibidor.
Silencio. Un silencio maravilloso hasta que Nilo maulló.
—No empieces tú también.
A las nueve en punto estaba conectada al entorno seguro del Proyecto Atlas.
Durante el fin de semana, el equipo había repetido las pruebas sobre los tres módulos afectados. Los resultados confirmaban parte de nuestra hipótesis.
Un componente heredado de una migración anterior estaba ejecutando instrucciones incompatibles con la arquitectura actual.
Cada vez que determinados servicios se reiniciaban, el componente intentaba recuperar una configuración antigua.
En uno de los módulos, esa intervención provocaba un error inmediato. En los otros dos, alteraba la secuencia de validación y generaba fallos que parecían independientes. Pero no lo eran. Tenían un origen común.
Aquello era una buena noticia.
La mala era que el componente no debería haber estado activo y nadie sabía explicar por qué seguía teniendo acceso a determinadas funciones.
Adrián Salvat se incorporó a la reunión con cinco minutos de antelación.
—Buenos días, Vanta.
—Buenos días. He revisado las pruebas.
—¿Y?
—Tenemos una causa técnica reproducible.
Escuché cómo soltaba el aire.
—Eso suena bien.
—Lo es. Pero todavía no tenemos una explicación satisfactoria de cómo se mantuvo activo el componente.
—Seguridad está investigándolo.
—He leído su informe.
—¿Qué opinas?
—Que describe lo ocurrido, pero no explica cómo fue posible. —Adrián guardó silencio y continué—: La cuenta de servicio estaba deshabilitada para el acceso ordinario, pero el proceso conservaba una autorización interna asociada a una configuración anterior. Al reiniciarse, podía ejecutar determinadas tareas sin pasar por el mecanismo de validación actual.
—¿Un fallo de permisos?
—En parte. También de migración y de control de cambios. El sistema no debería haber permitido que una dependencia antigua conservara esas capacidades.
—¿Podemos corregirlo?
—Sí. Pero quiero hacerlo en dos fases.
Compartí mi propuesta.
Primero, retirar los permisos residuales y desactivar definitivamente el componente heredado.
Después, reconstruir las dependencias necesarias utilizando los servicios actuales y ejecutar una batería completa de pruebas de regresión.
—¿Cuánto tiempo? —preguntó Adrián.
—Si no aparecen nuevas incompatibilidades, varios días para preparar y validar la corrección. Después necesitaremos una ventana de despliegue controlado.
—La dirección esperaba recuperar el calendario esta semana.
—Entonces tendrá que revisar sus expectativas.
Se produjo un silencio.
—Vanta…
—Adrián, no voy a recomendar que pongáis en producción una solución que no hemos validado porque alguien tenga una reunión con inversores.
—No he dicho eso.
—Me alegra.
Lo escuché reír suavemente.
—Eres bastante contundente.
—Soy bastante cara. Sería decepcionante que me pagarais para daros siempre la razón.
Esta vez se rio abiertamente.
—De acuerdo. Prepararé la ampliación del alcance y el nuevo calendario.
—Perfecto.
—¿Algo más?
Miré el informe de seguridad y había una cuestión que seguía molestándome.
—Sí. Quiero saber quién decidió conservar aquel componente durante la migración y bajo qué criterios se aceptó el riesgo.
—¿Crees que hubo negligencia?
—Creo que alguien tomó una decisión. Puede que en su momento tuviera sentido. Pero necesitamos conocerla para asegurarnos de que no existen otras dependencias similares.