AIFreeAPI Logo

Codex no pudo compactar la sesión: conserva el trabajo y lee el sufijo

A
5 min readOpenAI Codex

El texto inicial solo nombra la etapa que falló. La parte posterior, la ruta de autenticación y el último paso completado determinan qué conviene probar.

Espacio de diagnóstico para conservar el trabajo y probar una sola frontera tras un fallo de compactación de Codex

Error running remote compact task indica que Codex no terminó de convertir una conversación larga en un estado de contexto más pequeño para poder continuar. No demuestra por sí solo una caída de OpenAI, un problema de red ni un límite de cuenta. El mismo encabezado puede preceder a una desconexión del stream, un timeout, una ruta que el provider no implementa, un parámetro incompatible, un contexto demasiado grande, un bloqueo, un fallo de parsing o un proceso hijo que no se cierra.

No empieces borrando .codex, cerrando sesión, cambiando de modelo y proveedor, ni duplicando la tarea. Copia el error íntegro, anota la versión y la superficie de Codex, la hora con zona, la forma de autenticación y la última acción confirmada. Revisa el diff, los archivos nuevos, los procesos activos y los trabajos remotos. Que la compactación haya fallado no significa que una escritura anterior se haya revertido. Comprueba cualquier resultado parcial antes de repetirla.

Clasifica el fallo por lo que aparece después

El sufijo no ofrece siempre una causa definitiva, pero sí evita probar el límite equivocado.

Stream interrumpido o solicitud agotada

stream disconnected before completion y stream closed before response.completed apuntan a que la conexión terminó antes del evento final. La frontera puede estar entre el host de Codex y el servicio, en un proxy/VPN, en la red de una máquina remota o en la versión del cliente. Mantén cuenta, modelo, proyecto y ruta; reanuda la misma sesión una sola vez y compara el último evento visible.

Con request timed out o un aviso explícito de demanda temporal, espera un intervalo corto y realiza un único reintento por la misma ruta. Abrir varias copias no mejora la disponibilidad y dificulta saber cuál escribió en el repositorio o en un servicio externo.

Ruta, parámetro o respuesta incompatibles

Un 404 Not Found puede significar que el base URL configurado no expone el endpoint de compactación. Que /responses funcione no prueba que el proveedor también implemente /responses/compact. Si aparece Unknown parameter, service_tier, un variant desconocido o un formato de salida inesperado, conserva el cuerpo completo y verifica el contrato entre cliente, modelo, proxy y provider sin cambiarlo todo a la vez.

Contexto, contenido o proceso

input exceeds ... context window y ran out of room indican que el historial que debe compactarse ya no cabe o no coincide con el contexto del modelo elegido. Prepara entonces un traspaso breve con objetivo, trabajo terminado, decisiones, archivos modificados, verificaciones, riesgos y siguiente paso. Request blocked requiere reducir el contenido a una reproducción mínima; repetir la misma entrada no es una prueba de red. timeout waiting for child process to exit dirige la inspección al último watcher, servidor de desarrollo, espera de stdin, árbol de procesos o handle abierto.

Si la interfaz oculta el sufijo, registra si el fallo ocurrió durante la compactación automática o tras /compact, y guarda el session/request ID si existe. Una observación completa aporta más que una lista de intentos idénticos.

Mapa de sufijos de remote compact task con la frontera causal y la primera acción reversible
Mapa de sufijos de remote compact task con la frontera causal y la primera acción reversible

Averigua qué ruta está compactando realmente

La referencia oficial Compact a response documenta POST /responses/compact en la API pública. La guía de compaction de modelos explica que el resultado es un estado opaco para continuar: no debe tratarse como un formato estable que una integración pueda analizar a su manera.

Hay tres contratos que no conviene mezclar. Una sesión de Codex autenticada con ChatGPT usa el cliente y su ruta de servicio. El acceso directo con OpenAI API key depende del proyecto, modelo y endpoint público. Un provider/base URL personalizado puede admitir respuestas normales y omitir la compactación, rechazar campos o emitir eventos distintos. Además, la aplicación, el terminal, WSL, el contenedor y Remote SSH pueden heredar proxy, DNS, certificados y variables diferentes. Que ChatGPT cargue en el navegador solo valida la ruta del navegador.

Recupera con una sola variable

La documentación oficial de comandos de Codex separa /status, /compact, codex resume, codex exec resume, codex doctor y /feedback. Usa lo que muestre tu versión instalada y conserva un antes y un después comparables:

  1. Anota cambios de archivos, procesos, jobs y escrituras que quizá ya ocurrieron.
  2. Guarda error completo, versión/superficie, ruta de autenticación/provider e ID de sesión.
  3. Si parece un único timeout o corte de stream, reanuda una vez sin cambiar condiciones.
  4. Si el sufijo nombra 404, parámetro, parser o proceso, modifica solo esa frontera.
  5. Prueba primero una acción de lectura o fácilmente reversible y luego recupera la carga original.

Cuando cada resume vuelve de inmediato a la compactación fallida, detén el bucle. Crea el traspaso corto y abre un fork o una sesión nueva. La continuidad de la tarea puede sobrevivir aunque no sobreviva toda la transcripción. Reanudar tampoco vuelve idempotente una escritura externa interrumpida.

Por qué un reset total suele ser una mala primera prueba

Borrar la caché o todo .codex puede eliminar localizadores de sesión, configuración y pruebas junto al estado dañado. Solo tiene sentido después de identificar un objeto local concreto y guardar una copia. Cambiar de modelo altera capacidad, contexto y a veces la ruta; que funcione después no aísla la causa original. Ampliar un timeout ayuda únicamente si la misma operación termina correctamente un poco más tarde. No corrige un 404, un campo inválido, un bloqueo, un crash ni un deadlock.

Si el mensaje completo contiene HTTP 429 o una ventana de uso, sigue el diagnóstico de límites de Codex. Si aún no sabes si la compactación era la etapa detenida, usa la guía de fronteras de timeout. Cuando la evidencia señale red del comando, provider o precedencia de configuración, continúa con sandbox y config.toml.

Para informar de un fallo repetible, prepara versión y superficie de Codex, sistema operativo, tipo de autenticación, provider/base URL sin secretos, error y hora completos, session/request ID, última acción terminada, disparador automático o manual, reproducción mínima y solo el fragmento de log necesario. Elimina tokens, correo, prompts privados, código e identificadores del proyecto.

Plantilla vacía del registro mínimo antes de escalar un fallo de compactación repetible
Plantilla vacía del registro mínimo antes de escalar un fallo de compactación repetible

La pregunta útil no es cuántas veces reintentar, sino qué frontera nombra el sufijo y qué prueba reversible puede confirmarla. Conserva el trabajo primero; así el siguiente intento produce evidencia además de progreso.