|
| 1 | +# ExecPlan: Integrar playbooks Codex MCP en el workspace de infraestructura |
| 2 | + |
| 3 | +Esta ExecPlan es un documento vivo; debe actualizarse durante la implementación según `.agent/PLANS.md`. |
| 4 | + |
| 5 | +## Purpose / Big Picture |
| 6 | + |
| 7 | +Incorporar un workspace autocontenible que documente y codifique la integración de Codex CLI como servidor MCP, junto con playbooks para sistemas mono-agente y multi-agente que usan el Agents SDK. La meta es que el repositorio disponga de artefactos reproducibles (código + pruebas + documentación) que muestren cómo orquestar estos agentes sin depender de llamadas externas durante la ejecución de CI. |
| 8 | + |
| 9 | +## Progress |
| 10 | + |
| 11 | +- [x] (2025-11-20 15:30Z) ExecPlan creado con alcance inicial y validaciones esperadas. |
| 12 | +- [x] (2025-11-20 16:05Z) Pruebas TDD escritas en `infrastructure/workspace/tests/codex_mcp/test_playbooks.py` y actualización del registro estructural. |
| 13 | +- [x] (2025-11-20 16:30Z) Implementación del módulo `infrastructure/workspace/codex_mcp/` con blueprints declarativos. |
| 14 | +- [x] (2025-11-20 16:45Z) Documentación y registros actualizados (`docs/index.md`, `docs/infraestructura/workspace/README.md`, `docs/infraestructura/workspace/codex_mcp.md`, `infrastructure/workspace/__init__.py`). |
| 15 | +- [x] (2025-11-20 17:00Z) Validaciones ejecutadas (`pytest` del workspace completo y prueba documental dirigida) con resultados documentados. |
| 16 | + |
| 17 | +## Surprises & Discoveries |
| 18 | + |
| 19 | +- Ajuste requerido: las instrucciones de los agentes deben incluir exactamente la cadena `"sandbox": "workspace-write"` con espacios para cumplir la política documentada y las expectativas de los tests. |
| 20 | + Evidence: Primera ejecución de las pruebas falló hasta normalizar el formato de la cadena Codex MCP. |
| 21 | + |
| 22 | +## Decision Log |
| 23 | + |
| 24 | +- Decision: Representar servidores y agentes como dataclasses inmutables y construir playbooks declarativos en lugar de scripts ejecutables. |
| 25 | + Rationale: Evita dependencias externas (`openai-agents`, `codex`) durante la ejecución de CI, pero mantiene la trazabilidad de configuraciones y handoffs descrita por el stakeholder. |
| 26 | + Date/Author: 2025-11-20 / coding-agent |
| 27 | + |
| 28 | +## Outcomes & Retrospective |
| 29 | + |
| 30 | +- El workspace Codex MCP quedó alineado al árbol `infrastructure/workspace/` con documentación y pruebas TDD. |
| 31 | +- La guía de infraestructura refleja la disponibilidad del nuevo playbook junto a Hamilton y Dev Tools. |
| 32 | +- Restan correr las validaciones finales del plan antes de cerrarlo. |
| 33 | + |
| 34 | +## Context and Orientation |
| 35 | + |
| 36 | +La guía entregada por el stakeholder describe paso a paso cómo levantar Codex CLI como servidor MCP, definir agentes especializados y orquestar flujos mono y multi-agente con el Agents SDK, incluyendo requisitos de entorno y trazabilidad. Actualmente el repositorio no refleja estos playbooks; sí cuenta con un workspace Hamilton (`infrastructure/workspace/hamilton_llm`) y herramientas de lenguaje (`infrastructure/workspace/dev_tools`). |
| 37 | + |
| 38 | +Integraremos el contenido en `infrastructure/workspace/codex_mcp/` como código Python basado en dataclasses que represente la configuración declarativa de servidores y agentes. Las pruebas vivirán en `infrastructure/workspace/tests/codex_mcp/`, siguiendo el patrón de TDD establecido. |
| 39 | + |
| 40 | +## Plan of Work |
| 41 | + |
| 42 | +1. Crear pruebas unitarias que describan: |
| 43 | + - La configuración del servidor MCP (`command`, `args`, timeout) y su asociación a los agentes. |
| 44 | + - El contenido crítico de las instrucciones (por ejemplo, `approval-policy`, `workspace-write`, uso del `RECOMMENDED_PROMPT_PREFIX`). |
| 45 | + - La secuencia de handoffs y artefactos requeridos en el flujo multi-agente. |
| 46 | +2. Implementar dataclasses y funciones en `infrastructure/workspace/codex_mcp/playbooks.py` expuestas vía `__init__.py`. |
| 47 | +3. Registrar el nuevo workspace en `infrastructure.workspace.TEST_SUITES` y exportarlo en `__all__`. |
| 48 | +4. Actualizar documentación relevante (`docs/infraestructura/workspace/README.md`, índice general y guías de gobernanza si aplica). |
| 49 | +5. Ejecutar pytest sobre el nuevo paquete y las pruebas de documentación pertinentes. |
| 50 | +6. Completar las secciones de progreso, decisiones y hallazgos del ExecPlan. |
| 51 | + |
| 52 | +## Concrete Steps |
| 53 | + |
| 54 | +1. Añadir archivo `infrastructure/workspace/tests/codex_mcp/test_playbooks.py` con casos para servidor, agentes y handoffs. |
| 55 | +2. Ejecutar `python3 -m pytest infrastructure/workspace/tests/codex_mcp/test_playbooks.py` para observar el fallo inicial (Red). |
| 56 | +3. Implementar `infrastructure/workspace/codex_mcp/__init__.py` y `playbooks.py` satisfaciendo los tests. |
| 57 | +4. Ajustar `infrastructure/workspace/__init__.py` y `infrastructure/workspace/tests/test_registry.py` para registrar el workspace. |
| 58 | +5. Actualizar documentación y volver a ejecutar las suites relevantes (Green) antes de refactorizar. |
| 59 | + |
| 60 | +## Validation and Acceptance |
| 61 | + |
| 62 | +Se considerará completo cuando: |
| 63 | +- `python3 -m pytest infrastructure/workspace/tests/codex_mcp/test_playbooks.py` pase sin fallos. |
| 64 | +- `python3 -m pytest infrastructure/workspace/tests` incluya el workspace Codex sin romper las suites existentes. |
| 65 | +- La documentación de infraestructura describa el workspace y la guía de gobierno enlace el recurso cuando corresponda. |
| 66 | + |
| 67 | +## Idempotence and Recovery |
| 68 | + |
| 69 | +Los playbooks serán representaciones declarativas sin efectos secundarios. Ejecutar las pruebas no generará archivos externos ni requerirá conexiones a servicios. Ante fallos, basta con revertir cambios en el módulo y reejecutar `pytest`. |
| 70 | + |
| 71 | +## Artifacts and Notes |
| 72 | + |
| 73 | +- `python3 -m pytest infrastructure/workspace/tests/codex_mcp/test_playbooks.py` |
| 74 | +- `python3 -m pytest infrastructure/workspace/tests` |
| 75 | +- `python3 -m pytest docs/qa/testing/test_documentation_alignment.py::test_hamilton_framework_integration_doc_is_published` |
| 76 | + |
| 77 | +## Interfaces and Dependencies |
| 78 | + |
| 79 | +El módulo expondrá funciones y dataclasses puramente locales, sin dependencias externas al repositorio. Se espera que otras herramientas puedan consumir la metadata retornada para generar scripts reales si así se decide en el futuro. |
0 commit comments