Referencias Oficiales: Codex Worktrees · Subagents · Best Practices
Ruta del currículo
- Primeros Pasos con Codex — Instalación, Primera Tarea y Checkpoints — primeros loops seguros
- Instrucciones de Codex — Cómo Hacer que AGENTS.md Sirva de Verdad — reglas del repo y defaults
- Sandboxing en Codex — Permisos, Approvals y Entornos Cloud — permisos y límites
- Diseño de Tareas en Codex — Escribe Prompts Como Issues, No Como Deseos — dar buena forma al trabajo
- Skills de Codex — Convierte Prompts Repetidos en Workflows Reutilizables — convertir trabajo repetido en activos reutilizables
- Subagentes de Codex — Ejecución Paralela y Patrones de Delegación — ejecución paralela y delegación
- MCP en Codex — Conecta Contexto Externo en Vez de Copiarlo y Pegar — conectar sistemas externos
- Reviews y Automatizaciones con Codex — /review, Worktrees e Ingeniería Repetible — ejecutar workflows estables una y otra vez
- Codex Worktrees — Ejecución Paralela Aislada Sin Caos de Branches ← Estás aquí
- Handoffs en Codex — Convertir Lanes Paralelos en Resultados Listos para Merge
- Loops de Verificación en Codex — Demostrar que Funciona Antes del Merge
- Release Readiness en Codex — Gates Finales Antes de Producción
- Codex Loop Seguro del Primer Día — Flujo Inicial para Evitar Errores Tempranos
- Playbook de Entrega de Equipo en Codex — Operación Intermedia por Lanes
- Gobernanza de Cambios de Alto Riesgo en Codex — Controles Avanzados para Releases Críticas
- Manual Operativo de Codex — Ritmo Diario, Semanal y de Release para Equipos
- Playbook de Recuperación de Incidentes en Codex — Respuesta Determinista Bajo Presión
- Bucle de Hardening Post-Incidente en Codex — De la Recuperación a Controles Duraderos
- Simulacros de Resiliencia Caótica en Codex — Ensayar Fallos Antes de Recibirlos
- Métricas de Resiliencia y SLO en Codex — Medir Confiabilidad Antes del Fallo
- Loops de Persistencia Ralph en Codex — Llevar Tareas Largas a Cierre Verificado
Documentación oficial usada en esta guía
- Comportamiento de worktrees en Codex y repos Git — Codex Worktrees
- Diferencias frente a la paralelización con subagentes — Subagents
- Descomposición de tareas y tamaño de workflow — Best Practices
Por qué importan los worktrees para usuarios de Codex
Cuando usas Codex intensivamente, el cuello de botella suele ser el contexto de branch, no la velocidad de escritura.
Necesitas:
- mantener estable la tarea actual
- ejecutar otra tarea en paralelo
- evitar el ciclo constante de stash/pop
Un git worktree te da un segundo (o tercer) checkout del mismo repositorio, cada uno con su branch y directorio de trabajo.
Piensa así:
- subagentes = pensar en paralelo
- worktrees = ejecutar en paralelo con aislamiento
Cuándo elegir worktrees vs subagentes
| Necesidad | Mejor opción inicial |
|---|---|
| Explorar ideas y comparar enfoques | Subagentes |
| Ejecutar implementación larga en paralelo | Worktrees |
| Aislar cambios sin commit por tarea | Worktrees |
| Obtener varios análisis y elegir uno | Subagentes |
En práctica, muchos equipos combinan ambos:
- Exploran con subagentes.
- Mueven el enfoque elegido a un worktree dedicado.
- Ejecutan y verifican con Codex ahí.
Patrón práctico de setup
1) Crear un worktree con nombre de tarea
git fetch origin
git worktree add ../wt-auth-retry -b feat/auth-retry origin/mainTip de naming:
- Directorio:
wt-{tema} - Branch:
feat/{tema}ofix/{tema}
Con una convención consistente, limpiar y revisar se vuelve mucho más fácil.
2) Abrir Codex dentro de ese worktree
Inicia Codex desde el directorio del worktree para que ediciones, pruebas y commits queden dentro del scope correcto.
cd ../wt-auth-retry
codex3) Verificar antes de merge
Dentro del worktree:
- ejecutar lint/typecheck/tests
- revisar que el diff solo toque archivos de esa tarea
- hacer commit, push y abrir PR
Comandos mínimos que conviene memorizar
# Ver worktrees activos
git worktree list
# Eliminar un worktree terminado
git worktree remove ../wt-auth-retry
# Borrar branch después del merge
git branch -d feat/auth-retrySi Git dice que el branch sigue "checked out", primero revisa git worktree list y elimina el worktree asociado.
Guardrails operativos
Un worktree por objetivo
No mezcles cambios sin relación. Un worktree debe corresponder a una sola tarea revisable.
Validar alcance de AGENTS.md
Codex sigue instrucciones por alcance de directorio. Si tu repo usa AGENTS.md anidados, confirma que la ruta del worktree siga heredando las reglas correctas.
Evitar worktrees viejos
Los worktrees largos y olvidados generan drift de branches y fricción de merge. Mejor ciclos cortos y orientados a una meta.
Ejemplo de playbook de equipo
repo principal: hotfixes y preparación de releasewt-feature-a: implementación de nueva featurewt-migration-b: migración + validaciónwt-docs-c: documentación y notas de release
Cada lane queda aislado, pero todos convergen al mismo repositorio remoto y pipeline de revisión.
Errores comunes
Reusar un worktree para múltiples tareas
Eso recrea la misma colisión de contexto que los worktrees buscan evitar.
Olvidar la limpieza
Los worktrees no usados se acumulan rápido y confunden ownership de branches.
Mezclar exploración y ejecución
Si aún estás comparando enfoques, usa subagentes primero. Crea el worktree cuando ya elegiste una ruta.
Plantillas de prompt listas para usar
Plantilla A — lane de implementación
Trabaja solo dentro de este worktree de tarea: ../wt-{tema}
Goal:
- Implementar <feature/fix> con el diff más pequeño y revisable.
Constraints:
- No editar archivos fuera de <directorios>.
- Ejecutar lint + tests antes de proponer commit.
- Resumir riesgos y ruta de rollback.Plantilla B — lane de verificación
Usa este worktree de verificación para auditar el branch <branch-name>.
Check:
- tests fallando
- regresiones de type/lint
- segmentos de diff sensibles en seguridad
Return:
- PASS/FAIL
- hallazgos concretos (archivo/línea)
- plan mínimo de correcciónPlantilla C — lane de docs/release
En este worktree de docs, modifica solo documentación y release notes.
Do:
- leer PRs mergeados desde <date>
- agrupar por impacto para usuario
- producir borrador conciso de release notes
No modificar archivos fuente de la aplicación.Playbook de recuperación de fallos
Cuando falla un worktree, normalmente el problema es operativo, no de código.
Caso 1: worktree sucio bloquea el remove
git -C ../wt-auth-retry status
git -C ../wt-auth-retry stash -u # o commit
git worktree remove ../wt-auth-retryCaso 2: drift de branch demasiado grande
git -C ../wt-auth-retry fetch origin
git -C ../wt-auth-retry rebase origin/mainSi el conflicto es grande, abre un worktree nuevo y reaplica solo los commits aún válidos.
Caso 3: se creó desde una base equivocada
Cierra ese worktree pronto. Recrearlo desde la base correcta suele ser más seguro que forzar una cadena riesgosa de rebases.
Métricas para demostrar que esto funciona
Mide adopción de worktrees con indicadores ligeros:
- lead time de review por PR (¿el aislamiento acelera la review?)
- tasa de retrabajo tras review (¿baja el ida y vuelta?)
- incidentes de colisión de contexto (stash churn, ediciones cruzadas accidentales)
- edad media de worktrees abiertos (worktrees viejos suelen anticipar fricción de merge)
Si mejoran en 2–4 semanas, la práctica de worktrees está dando retorno.
Matriz de naming que escala
Cuando un equipo supera 3–4 worktrees simultáneos, el naming ad-hoc deja de ser legible. Conviene fijar una matriz corta:
| Propósito | Patrón de directorio | Patrón de branch |
|---|---|---|
| Implementación de feature | wt-feat-{tema} |
feat/{tema} |
| Lane de hotfix | wt-fix-{issue} |
fix/{issue} |
| Lane de migración | wt-mig-{scope} |
chore/migrate-{scope} |
| Lane de docs/release | wt-docs-{tema} |
docs/{tema} |
Si el propósito se entiende solo con ver la ruta, mejora tanto el enrutado de review como la limpieza.
Contrato de handoff entre lanes
Muchos fallos de paralelización vienen de handoffs inconsistentes, no de código difícil. Define un contrato mínimo para cada entrega entre lanes:
- Estado de objetivo: done / partial / blocked
- Evidencia: salida de lint/test/build (o motivo de omisión)
- Alcance del diff: directorios tocados y por qué
- Nota de riesgo: plan de rollback y edge cases abiertos
- Siguiente owner: reviewer, verifier o lane de release
Trátalo como un API interno entre worktrees: mejor contrato, menos fricción de coordinación.
Ejemplo de cadencia semanal
Una cadencia simple y repetible:
- Lun: abrir worktrees de implementación y migración
- Mar–Mié: ejecución de lanes + checks diarios del lane de verificación
- Jue: revisión pre-merge centrada en diff branch-vs-base
- Vie: actualización de docs/release + limpieza de worktrees viejos
Más importante que el día exacto es mantener el ritmo. La repetición reduce el desgaste de contexto.
Tabla de decisión: lane único vs subagentes vs worktrees
Cuando hay debate sobre cómo ejecutar, usa esta tabla rápida:
| Situación | Mejor primer paso |
|---|---|
| Un fix acotado con dependencia clara | Lane único en el árbol actual |
| Investigación amplia con varios enfoques candidatos | Subagentes primero |
| Implementación larga que no debe chocar con trabajo activo | Worktree dedicado |
| Implementación en paralelo + verificación independiente | Dos worktrees (impl + verify) |
| Trabajo operativo recurrente de docs/release | Worktree dedicado de docs/release |
Regla de secuencia:
- Explora con subagentes si la incertidumbre es alta.
- Ejecuta en worktree cuando ya elegiste una ruta.
- Verifica en lane separado si riesgo o alcance es medio/alto.
Plantilla de política de equipo
Puedes pegar esto en el handbook de ingeniería o en docs complementarios de AGENTS.md:
### Política de Worktrees
- Un worktree debe corresponder a un único objetivo revisable.
- Los nombres de worktree deben seguir la matriz de naming aprobada.
- Todo handoff debe incluir estado, evidencia, alcance de diff y nota de riesgo.
- Todo handoff debe nombrar al siguiente owner (reviewer, verifier o lane de release).
- Worktrees con más de 14 días deben revisarse para merge/limpieza.
- El lane de verificación es obligatorio para migraciones, auth, billing o cambios sensibles de seguridad.Con esto, el uso de worktrees deja de ser preferencia personal y pasa a ser contrato operativo del equipo.
Checklist rápido
Antes de abrir un worktree:
- ¿La tarea durará más de una sesión corta?
- ¿Necesita aislamiento de branch respecto al trabajo actual?
- ¿Tiene nombre de tarea y condición de cierre claras?
Antes de eliminar un worktree:
- ¿El branch ya fue mergeado o está push de forma segura?
- ¿Lint/tests están verificados con evidencia?
- ¿PR o issue relacionado está enlazado?
Los worktrees son uno de los hábitos de mayor impacto para ejecutar trabajo paralelo en Codex con límites claros.