El CI de Propi nunca había corrido en verde

Hace meses que Propi envía features a buen ritmo —reservas, marketplace, modo oscuro, reportes—. Esta semana paré a mirar algo que nadie quería mirar: el CI. No estaba rojo. Es peor: nunca, ni una sola vez en la vida del repo, había corrido en verde.

Habíamos construido piso sobre piso encima de unos cimientos que jamás verificamos. La prueba apareció apenas encendí la luz: el módulo de Asambleas —elecciones, votación, poderes, actas, firmas, check-in por QR— estaba roto de punta a punta. Casi todos sus servicios fallaban antes de devolver nada. La causa eran dos cosas tontas y silenciosas: un desajuste en la firma de la clase base de los servicios y un refactor de rutas que nunca se terminó de propagar. Mergeado no es funciona.

Así que la semana fue ponerle pruebas a todo lo que nunca las tuvo: subir la cobertura de ~58% a ~96% —modelos, servicios, políticas, controladores, mailers, una suite de sistema con navegador real—, remediar las advertencias de Brakeman y dejar el pipeline corriendo verde por primera vez. No salió ninguna feature nueva. Y fue uno de los días más útiles del mes.

La parte que no se ve en la foto del producto bonito: avanzar rápido sin pruebas se siente idéntico a avanzar rápido con ellas… hasta el día que pisas el hueco. La distancia entre 'lo mergeé’ y 'funciona’ es exactamente el ancho de ese hueco.

Hoy, por primera vez, el repo me dice en verde que el piso aguanta. Es una mezcla rara de alivio y vergüenza. Construir en público todos los días no siempre es sacar una feature nueva: a veces el trabajo del día es bajar a mirar los cimientos que venías pisando a ciegas. Hoy tocó eso.

Mañana sigo desde el verde. Y te dejo con la pregunta que me quedó a mí: ¿cuántos cimientos damos por buenos solo porque todavía no los hemos pisado?