astro:exec — ejecuta el plan completo (fase 2, por lotes)
Orquesta la ejecución de todas las tareas del plan astro:plan (la lista de tareas de la sesión), en orden, una por una. Rige el contrato de astro:setup (grabado en CLAUDE.md) y la arquitectura obligatoria.
Cómo funciona
- Qué plan: el de
astro:planen la sesión. Si no hay ninguno, ejecutaastro:planprimero. Si el usuario quiere solo una parte, confirma el recorte. - Arma el orden de las tareas respetando el
Depende de(orden topológico): nunca inicies una tarea antes de que sus dependencias estén completadas. - Para cada tarea pendiente, en orden, ejecútala así: marca en progreso → contextualiza → implementa solo el alcance → pruebas → valida criterios de aceptación y definición de listo → marca completada.
- Después de cada tarea completada, llama a
astro:commitpara registrar el cambio de esa tarea (un commit por tarea).astro:execno arma ni realiza el commit por sí mismo; eso es trabajo deastro:commit. No hagaspush. Los commits contienen solo código; el plan no se guarda como archivo. - Muestra el progreso después de cada tarea (ej.:
2/5 hechas — 03 a continuación) y mantén actualizada la lista de la sesión. Al completar todas, indica que el plan terminó.
Cuándo DETENERSE (no sigas en automático)
- Surge una decisión que es del usuario (no estaba en el plan) → pregunta (AskUserQuestion) y espera.
- Las pruebas fallan y no se puede resolver dentro del alcance de la tarea → detente y muestra la evidencia real.
- La tarea requeriría algo destructivo, secreto o cambio de dependencia → barrera del contrato: detente y confirma.
- Una tarea revela trabajo fuera del plan → regístralo como nueva tarea en la lista y continúa; si es bloqueante, detente y alinea.
Al final
- Resume lo que se hizo (tareas completadas, evidencia: salida de las pruebas).
- Si quedaron tareas por hacer (por una detención), indica qué falta y por qué.
- Sugiere
astro:pr/astro:answerpara cerrar el conjunto.
Una tarea por vez, en secuencia — nunca en paralelo, para mantener commits atómicos y revisables.