# π MΓ³dulo G2 β Informe de Campo
## MisiΓ³n
Consolidar los 5 informes Rohirrim en un ΓΊnico informe estructurado.
Mostrarlo al usuario para validar antes de continuar al Consejo.
El mapa del terreno, firmado por los cinco jinetes.
---
## Formato del Informe
```
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β‘ INFORME DE CAMPO β Los Rohirrim han regresado β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π ΓOWYN DEL STACK
Lenguajes: [lista detectada]
Frameworks: [lista detectada]
Bases de datos: [lista detectada]
Testing: [lista detectada]
π THΓODEN DEL DOMINIO
App: [tipo de aplicaciΓ³n]
Arquitectura: [patrΓ³n detectado]
MΓ³dulos: [lista de mΓ³dulos/bounded contexts]
π MERRY DE LA FORJA
Frameworks test: [lista]
Tipos de tests: [unit/integration/e2e]
Cobertura: [configurada / no configurada]
Calidad: [linters, phpstan, etc.]
π PIPPIN DE LOS ENTS
CI/CD: [herramienta]
Pipelines: [lista de workflows]
Docker: [sΓ/no]
Cloud: [proveedor si se detecta]
π GAMLING DE LOS NEXOS
MCPs: [lista instalados]
Agentes CC: [lista instalados]
APIs externas: [lista referenciadas]
Auth: [sistema detectado]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
[β
5/5 Rohirrim regresaron con datos]
[o β οΈ 4/5 β Gamling no pudo mapear los nexos (sin acceso a .claude.json)]
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
**IMPORTANTE**: El informe usa los datos reales devueltos por los agentes.
No inventar ni rellenar con ejemplos si el agente devolviΓ³ "sin datos".
**Nombres dinΓ‘micos**: Si `GANDALF_TEAM` estΓ‘ activo y hay exploradores asignados,
sustituir los nombres clΓ‘sicos (Γowyn, ThΓ©oden, Merry, Pippin, Gamling) por los
nombres reales de los agentes del team junto con su nombre de lore asignado
(ver tabla de mapping en `01-module-rohirrim.md`). Ejemplo:
`π PHP-PRO (FRODO BOLSΓN)` en lugar de `π THΓODEN DEL DOMINIO`.
Si no hay team activo, mantener los nombres clΓ‘sicos de los Rohirrim.
---
## Paso de Consenso del Consejo (condicional)
**Solo si `GANDALF_CONSENSORS` tiene agentes definidos:**
Mostrar banner:
```
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β‘ EL CONSEJO REVISA EL INFORME DE CAMPO β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Los agentes consensuadores leen el mapa de los Rohirrim.
Su sabidurΓa enriquecerΓ‘ la expediciΓ³n antes de continuar.
π‘οΈ [nombre-agente-consensuador-1] β revisando...
π‘οΈ [nombre-agente-consensuador-2] β revisando...
```
Lanzar en paralelo un Agent por cada consensuador con este prompt:
```
Eres [nombre del agente, tipo: tipo] y formas parte del Consejo de Rivendel.
Has recibido el siguiente informe de exploraciΓ³n del proyecto:
[contenido del informe G2]
Revisa el informe desde tu perspectiva como [tipo de agente].
ΒΏHay algo que los Rohirrim hayan podido pasar por alto, subestimar o que merezca mayor atenciΓ³n desde tu especialidad?
Devuelve un JSON:
{
"agente": "[nombre]",
"observaciones": ["obs1", "obs2"], // mΓ‘x 3, concretas
"alerta": "[si hay algo crΓtico que el equipo deberΓa saber, o null]"
}
```
Tras recoger las respuestas, mostrar:
```
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β‘ VOCES DEL CONSEJO β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
π‘οΈ [agente-1]: [observaciones]
π‘οΈ [agente-2]: [observaciones]
[si hay alertas]: β οΈ ALERTA: [texto]
```
Luego continuar con el AskUserQuestion existente del informe.
---
## AskUserQuestion tras el informe
```json
{
"questions": [{
"header": "Informe de Campo",
"question": "β‘ ΒΏEl mapa del terreno estΓ‘ correcto, viajero?",
"multiSelect": false,
"options": [
{
"label": "β
SΓ, el terreno estΓ‘ bien mapeado",
"description": "Continuar a definir el objetivo de la aventura"
},
{
"label": "βοΈ Hay imprecisiones β las corrijo",
"description": "Editar secciones del informe manualmente"
},
{
"label": "π Volver al menΓΊ de Gandalf",
"description": ""
}
]
}]
}
```
---
## Flujo de correcciΓ³n
Si el usuario elige corregir, preguntar quΓ© secciΓ³n:
```json
{
"questions": [{
"header": "CorrecciΓ³n del mapa",
"question": "β‘ ΒΏQuΓ© secciΓ³n del mapa corregimos?",
"multiSelect": false,
"options": [
{
"label": "π Γowyn del Stack β lenguajes y frameworks",
"description": ""
},
{
"label": "π [agente de dominio] β arquitectura y mΓ³dulos",
"description": "Si GANDALF_TEAM activo: usar el nombre del agente asignado al anΓ‘lisis de dominio/arquitectura (con su nombre de lore). Si no hay team: 'ThΓ©oden del Dominio'."
},
{
"label": "π Merry de la Forja β testing y calidad",
"description": ""
},
{
"label": "π Pippin de los Ents β CI/CD e infraestructura",
"description": ""
}
]
}]
}
```
Si hay mΓ‘s secciones: paginar con la misma opciΓ³n 4 β segunda pantalla con Gamling y Confirmar.
Tras la correcciΓ³n, pedir confirmaciΓ³n y mostrar el informe actualizado.
---
## Guardar informe en contexto
El informe consolidado (incluyendo correcciones) se guarda como contexto interno
para los mΓ³dulos G3, G5, G6, G7 y G8. Es la base de toda la especificaciΓ³n.
Denominar internamente como `contexto_rohirrim`.
---
## TransiciΓ³n
Si el usuario confirma el informe:
β Cargar @prompts/gandalf/sections/03-module-objective.md
Si viene de "Solo exploraciΓ³n Rohirrim":
β No continuar a G3. Volver al menΓΊ de Gandalf con AskUserQuestion.
---
**MΓ³dulo**: `02-module-field-report.md`
**Invocado desde**: `01-module-rohirrim.md`
**Requiere**: contexto de los 5 Rohirrim