# Command: fix issue Ejecuta de punta a punta el flujo de implementacion/cierre de un issue siguiendo **estrictamente** la regla `fix_issue.md`. ## Inputs Se necesita el issue objetivo. Si no se proporciona, preguntar. - `issue`: numero o nombre (ej: `0010` o `0010-access-control`) ## Flujo obligatorio 1. Resolver el issue objetivo: - Si viene solo numero (`0010`), buscar `dev/issues/0010-*.md`. - Si viene slug completo (`0010-access-control`), usar `dev/issues/0010-access-control.md`. - Si no existe en `dev/issues/`, **STOP** e informar al usuario. - Si ya esta en `dev/issues/completed/`, **STOP** e informar al usuario. 2. Leer completo el issue y extraer: - objetivo - tareas/fases - arquitectura y limites (pure core / impure shell) 3. Crear rama de trabajo (inline, sin invocar `/git-branch`): Verificar la rama actual: ```bash git branch --show-current ``` - Si ya estamos en `issue/-` que coincide con el issue → continuar directamente a paso 4. - Si estamos en `master` o cualquier otra rama → crear la rama: ```bash git checkout master git pull --rebase git checkout -b issue/- ``` Nunca trabajar directamente en `master`. 4. Planificar con `TodoWrite`: - Crear plan basado en las tareas del issue. - Respetar el orden de fases. - Incluir siempre una tarea de tests. 5. Implementar el issue completo: - Ejecutar tareas en orden. - Respetar pure core / impure shell (`pkg/` puro, `shell/` impuro). - Compilar frecuentemente: `go build -tags goolm ./...`. - Marcar progreso en `TodoWrite` al completar cada bloque. 6. Tests obligatorios: ```bash go test -tags goolm ./... ``` - Si falla, corregir antes de continuar. - No cerrar el issue sin tests pasando. 7. Feature flags (si aplica): - Evaluar si es feature multi-issue o despliegue gradual. - Si aplica, actualizar `dev/feature_flags.json` en el commit correspondiente. - No usar flags para esconder codigo incompleto. 8. Cerrar el issue al terminar: ```bash mv dev/issues/-.md dev/issues/completed/ ``` Actualizar `dev/issues/README.md`: - Link a `completed/-.md` - Estado a `completado` 9. Integrar/publicar con `/git-push`: ```text /git-push ``` ## Reglas criticas - Seguir `fix_issue.md` de forma estricta. - No saltear tareas del issue. - No hacer commits WIP. - Commits atomicos por bloque logico (`feat:`, `fix:`, `test:`, `docs:`, `refactor:`, `chore:`). - Siempre usar `-tags goolm` en build/test.