Una red de seguridad en CI para que dailyprog nunca se quede sin puzle diario

Fuentes: The dailyprog puzzle safety net

El sitio dailyprog publica un puzle de programación cada día y dependía de un proceso manual que su autor, Ata Kuyumcu, solía completar en unos quince minutos. Cuando no podía hacerlo, la página quedaba inactiva desde la medianoche UTC hasta su siguiente intervención. Para eliminar ese punto único de fallo, Kuyumcu automatizó la tarea dentro de Forgejo Actions: cada noche, a las 22:00 UTC, un job de CI comprueba si existe el JSON del puzle del día siguiente; si falta, ejecuta el mismo generador que usaba a mano, valida el resultado, lo confirma en el repositorio y lanza el despliegue.

El generador, basado en un modelo de lenguaje, ya somete cada candidato a varias puertas de calidad: validación de esquema, ejecución de la solución de referencia contra todos los casos de prueba, prueba de colapso por fuerza bruta y comprobación de diversidad de técnicas. La automatización añade una segunda red con la suite completa de tests del catálogo, de modo que el puzle solo se publica si pasa los mismos controles que un puzle escrito por una persona.

Con dos horas de margen antes del cambio de día, el autor todavía puede revisar y sustituir el resultado si lo considera flojo. La intervención humana deja de ser obligatoria: si la máquina falla, el peor escenario ya no es la ausencia de puzle, sino un puzle no revisado. El flujo automático y el manual convergen en los mismos tests, sin rutas de validación separadas según el origen del contenido.