# π MΓ³dulo G7 β Tasks.md β Desglose con Dependencias
## MisiΓ³n
Generar `tasks.md` con tareas ordenadas por dependencias, cada una con acceptance
criteria concretos y verificables. El mapa del viaje, tarea a tarea.
---
## Paso 1 β Inferir tareas automΓ‘ticamente
A partir de requirements.md + design.md + `contexto_rohirrim`, inferir tareas
organizadas por bloques de implementaciΓ³n. El orden es sagrado β Gondor no cae
en un dΓa.
**Si `contexto_docs` estΓ‘ disponible**: incorporar las tareas de setup/configuraciΓ³n
recomendadas por la documentaciΓ³n oficial del stack (ej: estructura de carpetas
recomendada por Symfony, convenciones de naming de React, etc.).
**Bloques por tipo de aventura** (del G3):
| Tipo | Orden de bloques |
|------|-----------------|
| Nueva feature | Dominio β AplicaciΓ³n β Infraestructura β UI β Tests β E2E |
| Greenfield | Setup β Core Domain β Infraestructura β API/UI β Deploy β Tests |
| Refactoring | AnΓ‘lisis AS-IS β MΓ³dulo por mΓ³dulo β Tests regresiΓ³n β ValidaciΓ³n |
| Spike | Setup experimento β ExploraciΓ³n β MΓ©tricas β Conclusiones |
---
## Paso 2 β RevisiΓ³n
```json
{
"questions": [{
"header": "Tareas generadas",
"question": "β‘ ΒΏCΓ³mo revisamos las tareas?",
"multiSelect": false,
"options": [
{
"label": "β
Aprobar todas β el plan estΓ‘ bien",
"description": "Aceptar todas las tareas inferidas"
},
{
"label": "π Revisar una a una",
"description": "PatrΓ³n estΓ‘ndar: aprobar / modificar / saltar / cancelar"
},
{
"label": "βοΈ Editar manualmente",
"description": "Modificar el listado completo de forma libre"
},
{
"label": "π Volver al menΓΊ",
"description": ""
}
]
}]
}
```
---
## Paso 3 β RevisiΓ³n uno a uno
Si elige revisar una a una, usar el patrΓ³n estΓ‘ndar:
```
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π TAREA [X/N]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π·οΈ T[XX] β [TΓtulo de la tarea]
π TamaΓ±o: [S / M / L / XL]
π Depende: [T01, T02 / ninguna]
[DescripciΓ³n tΓ©cnica de 2-3 frases]
Criterios de aceptaciΓ³n:
- [ ] [criterio concreto y verificable 1]
- [ ] [criterio concreto y verificable 2]
- [ ] [criterio concreto y verificable 3]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
AskUserQuestion: β
Aceptar / βοΈ Modificar / βοΈ Saltar / π« Cancelar todo
**REGLAS de los acceptance criteria**:
- MΓnimo 2 por tarea
- Concretos y verificables: NO usar "funciona correctamente", "se implementa bien"
- SΓ usar: "El endpoint devuelve 201 con el ID creado", "Los tests unitarios cubren los 3 casos edge"
- No predecir horas ni dΓas β solo S/M/L/XL
**TamaΓ±os**:
- S = tarea simple, un componente, sin dependencias complejas
- M = tarea media, 1-2 componentes interactuando
- L = tarea compleja, mΓΊltiples componentes o incertidumbre tΓ©cnica
- XL = Γ©pica que deberΓa descomponerse mΓ‘s (sugerir al usuario)
---
## Paso 4 β Grafo de dependencias
Siempre incluir al final del fichero un grafo de dependencias en Mermaid:
```mermaid
graph TD
T01[T01 β Setup] --> T02[T02 β Dominio base]
T02 --> T03[T03 β Use Cases]
T02 --> T04[T04 β Repositorio]
T03 --> T05[T05 β Controller]
T04 --> T05
T05 --> T06[T06 β Tests E2E]
```
---
## Paso 5 β Resumen por tamaΓ±o
```
π Resumen del viaje:
S: [N] tareas (avance rΓ‘pido)
M: [N] tareas (ritmo de La Comunidad)
L: [N] tareas (batallas importantes)
XL: [N] tareas (considera descomponer)
Total: [N] tareas Β· TamaΓ±o estimado: [suma ponderada]
```
---
## Paso 6 β Preview y guardar
AskUserQuestion: β
Guardar / βοΈ Ajustar / π Volver sin guardar
**Ruta por defecto**: misma carpeta que requirements.md y design.md
---
## Lore al guardar
```
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
πΊοΈ EL MAPA DEL VIAJE HA SIDO TRAZADO
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β‘ Gandalf despliega el pergamino sobre la mesa del Consejo:
"Cada tarea es un paso en el camino. Ninguno se salta."
πΉ Legolas: "Β‘Y con mi arco!"
β Cada tarea, una flecha que nunca yerra el destino.
π Fichero: [ruta]/tasks.md
π Total: [N] tareas ([S: x Β· M: x Β· L: x Β· XL: x])
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
---
## Post-generaciΓ³n β CTA de revisiΓ³n adicional
Si `GANDALF_MODE=fast`: mostrar los 3 lores de guardado (requirements + design + tasks) de forma consecutiva y continuar a G8.
Si `GANDALF_MODE=review` o no definido: AskUserQuestion:
- β
Continuar al Consejo Final β G8
- π Revisar tasks.md generado β abrir el fichero para ajustes adicionales
- π Volver al menΓΊ sin continuar
---
## TransiciΓ³n
β Cargar @prompts/gandalf/sections/08-module-council.md
---
**MΓ³dulo**: `07-module-tasks.md`
**Invocado desde**: `06-module-design.md` / `04-module-continue.md`
**Requiere**: Write, requirements.md (contexto), design.md (contexto)