You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/EXECPLAN_hamilton_llm_dataflow_example.md
+12-8Lines changed: 12 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,7 +9,8 @@ Queremos que cualquier integrante del proyecto pueda ejecutar un ejemplo mínimo
9
9
## Progress
10
10
11
11
-[x] (2025-11-19 10:00Z) ExecPlan creado y alcance documentado.
12
-
-[x] (2025-11-19 10:25Z) Pruebas unitarias que describen el dataflow Hamilton deseado creadas en scripts/coding/tests/ai/examples/test_hamilton_llm_example.py.
12
+
-[x] (2025-11-19 10:25Z) Pruebas unitarias que describen el dataflow Hamilton deseado creadas en `scripts/coding/tests/ai/examples/test_hamilton_llm_example.py` (ahora residiendo en `infrastructure/workspace/tests/hamilton_llm/test_driver.py`).
13
+
-[x] (2025-11-19 12:20Z) Registro de suites de prueba en `infrastructure.workspace.TEST_SUITES` y reubicación del paquete de pruebas a `infrastructure/workspace/tests/hamilton_llm/`.
13
14
-[x] (2025-11-19 11:05Z) Implementación del ejemplo Hamilton (driver, dataflow y cliente LLM) con pruebas pasando.
14
15
-[x] (2025-11-19 11:20Z) Documentación actualizada (guía Hamilton e índice general) y validaciones ejecutadas.
15
16
-[x] (2025-11-13 11:05Z) Refactor del driver para exponer Builder/Driver/DictResult estilo apache/hamilton y ampliación de pruebas.
@@ -33,6 +34,9 @@ Queremos que cualquier integrante del proyecto pueda ejecutar un ejemplo mínimo
33
34
- Decision: Trasladar el ejemplo Hamilton al árbol `infrastructure/workspace` para alinearlo con la organización de entornos ejecutables y facilitar su descubrimiento desde infraestructura.
34
35
Rationale: El ejemplo sirve como workspace autocontenible; ubicarlo junto al resto de utilidades de infraestructura responde a la retroalimentación del stakeholder y mantiene la separación documentación/código.
35
36
Date/Author: 2025-11-19 / coding-agent
37
+
- Decision: Registrar las suites de prueba del workspace en `infrastructure.workspace.TEST_SUITES` para que automatizaciones y documentación puedan descubrirlas sin depender de rutas históricas.
38
+
Rationale: La reubicación desde `scripts/coding/tests/` rompía la convención previa; proveer un registro explícito evita referencias obsoletas en guías y herramientas.
39
+
Date/Author: 2025-11-19 / coding-agent
36
40
37
41
## Outcomes & Retrospective
38
42
@@ -42,7 +46,7 @@ Las pruebas de documentación existentes siguen fallando por deuda histórica; s
42
46
43
47
## Context and Orientation
44
48
45
-
El repositorio organiza scripts de agentes en `scripts/coding/ai/` y pruebas correspondientes en `scripts/coding/tests/`. La guía `docs/gobernanza/ai/HAMILTON_FRAMEWORK_INTEGRACION_SDLC.md` solicita como siguiente paso incorporar ejemplos de código Hamilton usando TDD. Actualmente no existe un paquete que demuestre un dataflow Hamilton; tampoco tenemos dependencias a `sf-hamilton`. Implementaremos un micro-driver declarativo interno inspirado en Hamilton, suficiente para ejecutar funciones nombradas según los nodos del grafo y resolver dependencias mediante introspección. Las pruebas se ubicarán en `scripts/coding/tests/ai/examples/` para mantener la correspondencia.
49
+
El repositorio organiza scripts de agentes en `scripts/coding/ai/` y pruebas correspondientes en `scripts/coding/tests/`. La guía `docs/gobernanza/ai/HAMILTON_FRAMEWORK_INTEGRACION_SDLC.md` solicita como siguiente paso incorporar ejemplos de código Hamilton usando TDD. Actualmente no existe un paquete que demuestre un dataflow Hamilton; tampoco tenemos dependencias a `sf-hamilton`. Implementaremos un micro-driver declarativo interno inspirado en Hamilton, suficiente para ejecutar funciones nombradas según los nodos del grafo y resolver dependencias mediante introspección. Las pruebas residirán en `infrastructure/workspace/tests/hamilton_llm/` para mantenerlas junto al workspace correspondiente.
46
50
47
51
El ejemplo debe incluir:
48
52
1. Una representación explícita de la diferencia entre flujos de desarrollo ML tradicional y LLM, ya sea en docstrings o constantes que puedan inspeccionarse desde las pruebas.
@@ -54,7 +58,7 @@ El ejemplo debe incluir:
54
58
55
59
1. Crear paquete `infrastructure/workspace/hamilton_llm/` con archivos `__init__.py`, `dataflow.py` y `llm_client.py`. `dataflow.py` contendrá funciones declarativas (topic, prompt_template, prompt, llm_response, business_value, cost_estimate). `llm_client.py` expondrá una clase `MockLLMClient` parametrizable. Documentar en docstrings las diferencias de ritmo de desarrollo.
56
60
2. Implementar micro driver en `infrastructure/workspace/hamilton_llm/driver.py` que resuelva dependencias mediante inspección de firmas, exponiendo además un `Builder` y adaptadores `DictResult` compatibles con la API oficial. La ejecución debe aceptar configuración base (`with_config`) y adaptadores encadenables.
57
-
3. Escribir pruebas TDD en `scripts/coding/tests/ai/examples/test_hamilton_llm_example.py` que:
61
+
3. Escribir pruebas TDD en `infrastructure/workspace/tests/hamilton_llm/test_driver.py` que:
- Verifiquen que `llm_response` y `business_value` devuelvan valores esperados.
@@ -63,12 +67,12 @@ El ejemplo debe incluir:
63
67
5. Implementar código real en los módulos descritos, asegurando cobertura >80 % mediante pruebas que ejerciten rutas principales, errores controlados (por ejemplo, dependencia faltante) y adaptadores personalizados.
64
68
6. Re-ejecutar pytest (Green) y refactorizar si procede.
65
69
7. Actualizar `docs/gobernanza/ai/HAMILTON_FRAMEWORK_INTEGRACION_SDLC.md` en la sección de próximos pasos para referenciar el nuevo ejemplo y añadir entrada en `docs/index.md` si corresponde.
66
-
8. Documentar en el ExecPlan las decisiones, sorpresas y resultados. Incluir instrucciones de validación (`python3 -m pytest scripts/coding/tests/ai/examples/test_hamilton_llm_example.py`).
70
+
8. Documentar en el ExecPlan las decisiones, sorpresas y resultados. Incluir instrucciones de validación (`python3 -m pytest infrastructure/workspace/tests/hamilton_llm/test_driver.py`).
67
71
9. Mantener el shim alineado con apache/hamilton agregando pruebas de Builder y adaptadores para evitar regresiones.
68
72
69
73
## Concrete Steps
70
74
71
-
1. Añadir pruebas fallidas: crear archivo de test y ejecutar `python3 -m pytest scripts/coding/tests/ai/examples/test_hamilton_llm_example.py` desde la raíz del repo.
75
+
1. Añadir pruebas fallidas: crear archivo de test y ejecutar `python3 -m pytest infrastructure/workspace/tests/hamilton_llm/test_driver.py` desde la raíz del repo.
72
76
2. Implementar paquetes y funciones según el plan, escribir docstrings que recojan la narrativa de ritmo de desarrollo y habilidades SWE.
73
77
3. Añadir pruebas de Builder/adaptadores (`test_custom_adapter_transforms_execution_result`, `test_builder_requires_modules_before_building`) antes de implementar el shim.
74
78
4. Ejecutar pytest nuevamente hasta que pase y revisar cobertura si se añade reporte.
@@ -77,7 +81,7 @@ El ejemplo debe incluir:
77
81
78
82
## Validation and Acceptance
79
83
80
-
-`python3 -m pytest scripts/coding/tests/ai/examples/test_hamilton_llm_example.py` debe pasar, mostrando que el driver ejecuta correctamente el dataflow y que la metadata esperada está disponible.
84
+
-`python3 -m pytest infrastructure/workspace/tests/hamilton_llm/test_driver.py` debe pasar, mostrando que el driver ejecuta correctamente el dataflow y que la metadata esperada está disponible.
Copy file name to clipboardExpand all lines: docs/gobernanza/ai/HAMILTON_FRAMEWORK_INTEGRACION_SDLC.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -132,7 +132,7 @@ Cada subsección resume objetivos, acciones Hamilton y validaciones alineadas co
132
132
133
133
## 6. Próximos pasos
134
134
135
-
1. Ejemplo base publicado en `infrastructure/workspace/hamilton_llm/`: driver declarativo + pruebas `scripts/coding/tests/ai/examples/test_hamilton_llm_example.py`. A partir de este flujo se pueden derivar variantes (e.g. adaptadores FastAPI) conservando el enfoque TDD.
135
+
1. Ejemplo base publicado en `infrastructure/workspace/hamilton_llm/`: driver declarativo + pruebas `infrastructure/workspace/tests/hamilton_llm/test_driver.py`. A partir de este flujo se pueden derivar variantes (e.g. adaptadores FastAPI) conservando el enfoque TDD.
136
136
2. Evaluar integración con `TASK-024-ai-telemetry-system.md` para recolectar métricas de ejecución.
137
137
3. Registrar aprendizajes en `docs/qa/registros/` una vez ejecutados pilotos.
-**Gestión de contexto multi-LLM**: [`ai_capabilities/orchestration/CONTEXT_MANAGEMENT_PLAYBOOK.md`](ai_capabilities/orchestration/CONTEXT_MANAGEMENT_PLAYBOOK.md) y módulo reutilizable [`scripts/coding/ai/shared/context_sessions.py`](../scripts/coding/ai/shared/context_sessions.py).
90
-
-**Hamilton Data→Prompt→LLM ejemplo**: [`infrastructure/workspace/hamilton_llm/`](../infrastructure/workspace/hamilton_llm/) con pruebas [`scripts/coding/tests/ai/examples/test_hamilton_llm_example.py`](../scripts/coding/tests/ai/examples/test_hamilton_llm_example.py).
90
+
-**Hamilton Data→Prompt→LLM ejemplo**: [`infrastructure/workspace/hamilton_llm/`](../infrastructure/workspace/hamilton_llm/) con pruebas [`infrastructure/workspace/tests/hamilton_llm/test_driver.py`](../infrastructure/workspace/tests/hamilton_llm/test_driver.py).
Copy file name to clipboardExpand all lines: docs/infraestructura/README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,4 +23,4 @@ Cada carpeta ofrece un README inicial listo para documentar los artefactos corre
23
23
## Recursos destacados recientes
24
24
-**CPython precompilado**: consulta el [pipeline y guía de DevContainer](cpython_precompilado/pipeline_devcontainer.md) para entender cómo se construye, publica y consume el intérprete optimizado.【F:docs/infrastructure/cpython_precompilado/pipeline_devcontainer.md†L1-L99】
25
25
-**Scripts oficiales**: `build_cpython.sh`, `validate_build.sh` e `install_prebuilt_cpython.sh` viven en `infrastructure/cpython/scripts/` y cuentan con pruebas en `infrastructure/cpython/tests/`.
26
-
-**Workspace Hamilton LLM**: la carpeta [`workspace`](workspace/README.md) concentra el ejemplo `Data → Prompt → LLM → $` situado en `infrastructure/workspace/hamilton_llm/`, con pruebas asociadas en `scripts/coding/tests/ai/examples/test_hamilton_llm_example.py`.
26
+
-**Workspace Hamilton LLM**: la carpeta [`workspace`](workspace/README.md) concentra el ejemplo `Data → Prompt → LLM → $` situado en `infrastructure/workspace/hamilton_llm/`, con pruebas asociadas en `infrastructure/workspace/tests/hamilton_llm/test_driver.py`.
La prueba valida tanto el linaje del dataflow como el manejo de dependencias ausentes, permitiendo extender el workspace mediante TDD.
24
+
25
+
Para verificar la alineación estructural del workspace, se expone además `infrastructure/workspace/tests/test_registry.py`, que afirma la presencia de `TEST_SUITES` en el paquete raíz y que el workspace Hamilton queda registrado para futuras automatizaciones.
0 commit comments