OpenAI Codex y el bug silencioso que puede destruir tu SSD en menos de un año
Hay bugs que gritan: el sistema se cae, la build falla, aparece un error en pantalla. Y hay bugs que susurran durante meses hasta que un día tu hardware simplemente deja de funcionar. El que vamos a analizar hoy pertenece a la segunda categoría, y es especialmente relevante para cualquier equipo de desarrollo que use OpenAI Codex en sus flujos de trabajo.
Según un reporte publicado el 22 de junio de 2026 en Dev.to por Indra Gusti Prasetya, basado en el issue #28224 del repositorio oficial de openai/codex en GitHub, una instancia de Codex corriendo normalmente puede escribir aproximadamente 640 TB al año en el disco local. Para ponerlo en perspectiva: la garantía de escritura de un NVMe de consumo típico es de alrededor de 600 TBW durante toda su vida útil. Codex puede consumir esa garantía en menos de doce meses.
Lo que hace a este bug particularmente peligroso no es su magnitud, sino su invisibilidad. En este artículo explicamos el mecanismo, quiénes están expuestos y qué pasos concretos puedes tomar esta semana para proteger tu infraestructura.
El problema: telemetría en nivel TRACE que ignora tus controles
El origen del bug es técnicamente simple. Codex incluye un sistema de logging que guarda datos en un archivo SQLite ubicado en ~/.codex/logs_2.sqlite. El problema es que este sink está configurado con el nivel de verbosidad más alto posible: TRACE. Eso significa que registra absolutamente todo — payloads crudos de WebSocket, eventos del sistema de archivos, accesos del agente a archivos como passwd o ld.so.cache. Telemetría del vendor, escrita a máxima velocidad en tu máquina local.
Según el análisis del issue, el 70.7% de los bytes retenidos corresponden a líneas de nivel TRACE, y sumando las dos categorías de OpenTelemetry, aproximadamente el 96% del volumen escrito es datos que ningún usuario final abrirá jamás. Pero lo que convierte esto en un problema serio no es solo el volumen — es que el logger ignora la variable de entorno estándar RUST_LOG. La palanca obvia que cualquier desarrollador intentaría primero simplemente no funciona para este sink.
Además, SQLite opera en modo WAL (Write-Ahead Log), lo que amplifica el número de escrituras físicas al disco. Decenas de miles de ciclos de inserción y borrado por minuto generan una carga sobre el controlador del SSD que no tiene ninguna relación con el tamaño visible del archivo en disco.
Por qué tus herramientas habituales no detectan el problema
Aquí es donde el bug se vuelve realmente traicionero. La base de datos se auto-poda: inserta filas nuevas y borra las antiguas al mismo tiempo, por lo que el archivo nunca crece de forma visible. En una ventana de 15 segundos registrada en el reporte, el sistema insertó 36,211 filas mientras el conteo total de filas retenidas se mantenía constante en 681,774.
El resultado práctico es que el comando du -sh ~/.codex te mostrará un número tranquilo y pequeño mientras el controlador de tu SSD absorbe terabytes de escrituras físicas que son completamente invisibles para du, para tu administrador de archivos y para cualquier herramienta que mida espacio en disco. El único lugar donde este desgaste aparece es en los contadores SMART del propio disco.
Esta es la lección de arquitectura más importante del incidente: el tamaño lógico de un archivo y los bytes físicamente escritos al disco son dos métricas completamente distintas. Un bug que vive en ese gap puede sobrevivir meses sin ser detectado. Este lo hizo.
¿Cómo aplica esto en equipos de desarrollo en Perú y Latinoamérica?
Este problema afecta de manera diferente según el contexto de uso. Los desarrolladores individuales en laptops modernas son el caso más crítico, porque en la mayoría de ultrabooks actuales el NVMe está soldado directamente a la placa madre. Cuando ese disco se desgasta, la solución no es comprar un SSD de reemplazo de 60 dólares: es comprar una máquina nueva.
Los equipos que corren Codex de forma headless en pipelines de CI/CD enfrentan otro tipo de riesgo. Un sink mal configurado en un runner es una anécdota. El mismo sink multiplicado por una flota de runners es una línea de presupuesto inesperada y una ola de fallas de disco que nadie va a rastrear hasta el logging default que las causó, porque el síntoma aparece semanas o meses después de la causa.
Y luego está el caso más relevante hoy: los equipos que corren agentes de IA en sesiones largas, sin supervisión, durante horas. Exactamente el patrón de uso hacia el que toda la industria está empujando. El bug es más destructivo precisamente en el escenario para el que la herramienta fue diseñada.
¿Cómo aplica esto en tu empresa?
Si tu equipo usa OpenAI Codex o está evaluando herramientas de agentes de IA para desarrollo, estos son los pasos concretos que recomendamos tomar esta semana:
- Lee el contador de escritura de tu disco, no el espacio libre. En Linux con NVMe:
sudo smartctl -a /dev/nvme0 | grep "Data Units Written". Anota el número base hoy. - Verifica si tienes el bug activo. Deja Codex corriendo idle durante una hora, vuelve a leer el contador SMART y compara el delta. Si el número creció varios gigabytes con el agente sin hacer nada útil, tienes el problema.
- Confirma la fuente. Revisa si el archivo
~/.codex/logs_2.sqlite-waltiene su timestamp de modificación cambiando constantemente. Correla coniostat -x 5para verificar que las escrituras vienen del proceso de Codex. - Aplica el workaround. La solución documentada es crear un symlink de
~/.codex/logs_2.sqlitehacia un path en RAM (tmpfs). El archivo no contiene datos de conversación, así que perderlo en cada reinicio es seguro. Importante: antes de hacerlo, verifica condf -h /tmpque tu/tmpes realmente tmpfs. En muchas instalaciones Linux no lo es por defecto. - En CI/CD, hazlo por política, no manualmente. Configura que
~/.codexapunte al scratch tmpfs del runner en el setup del job, para que el sink muera con el contenedor y nunca llegue a almacenamiento persistente.
Más allá de este bug específico, hay una lección de infraestructura que vale la pena incorporar como práctica permanente: audita qué escribe en disco tu tooling de IA con el mismo rigor con el que auditas qué envía por red. Los sinks de telemetría de vendors que operan a TRACE, ignoran los controles estándar y se ocultan detrás de archivos que se auto-podan son ahora parte de tu superficie de riesgo de infraestructura.
Conclusión
El bug de OpenAI Codex es un recordatorio de que la adopción de herramientas de IA en flujos de desarrollo profesional requiere el mismo nivel de escrutinio que cualquier otra dependencia de infraestructura. No basta con que la herramienta funcione bien para la tarea visible. También hay que entender qué hace en segundo plano, qué escribe en disco, qué envía por red y qué controles realmente funcionan.
En Consultoría-Ti trabajamos con equipos de desarrollo en Perú y Latinoamérica que están integrando herramientas de IA en sus procesos. Si tu equipo está adoptando agentes de IA, automatizaciones o herramientas como Codex y quieres asegurarte de hacerlo con criterio técnico sólido, conversemos. Podemos ayudarte a evaluar el impacto real en tu infraestructura antes de que se convierta en un problema.
Fuentes y Referencias
- Dev.to — Stop OpenAI Codex Writing 640 TB/Year to Your SSD (Indra Gusti Prasetya)
- GitHub Issue #28224 — openai/codex: SQLite feedback logs can write ~640 TB/year
- GitHub Issue #17320 — Excessive SQLite WAL writes during streaming due to TRACE logs ignoring RUST_LOG
- Notebookcheck — OpenAI Codex has a bug that could kill your SSD in under a year
✨ Contenido generado con ContentFlow — Consultoría-Ti