Commit Graph
29 Commits
Author SHA1 Message Date
JuanandClaude Opus 4.7 38d81252c6 feat(api): añade persistencia JSONL append-only y DI con factories cacheadas
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:29:23 +02:00
JuanandClaude Opus 4.7 de738e5f15 chore(plan): marca Phase E (Tasks 17-20) completada
Incluye nota de desviación: SqliteSaver → AsyncSqliteSaver (async CM),
aiosqlite<0.21, orchestrator abre el checkpointer por llamada, +tests del orchestrator.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:21:07 +02:00
JuanandClaude Opus 4.7 5738bd3118 feat(runtime): añade AgentOrchestrator (invoke + resume HITL + snapshot)
Punto único de entrada al runtime. Cada llamada abre su propio AsyncSqliteSaver
sobre data_dir/checkpoints.sqlite, así que un awaiting_approval sobrevive a un
reinicio del proceso (verificado en test_estado_persiste_entre_instancias).
El plan no incluía tests del orchestrator; se añaden 5 (invoke feliz, pausa HITL +
resume aprobar/rechazar, bloqueo por guardrail, persistencia entre instancias).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:19:42 +02:00
JuanandClaude Opus 4.7 d56624c90e feat(runtime): añade build_graph (StateGraph + routing condicional + interrupt HITL)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:15:35 +02:00
JuanandClaude Opus 4.7 d8c5c23e2a fix(runtime): build_checkpointer asíncrono con AsyncSqliteSaver
Los nodos del grafo son async, así que se invoca con `await graph.ainvoke`,
que el SqliteSaver síncrono no soporta (NotImplementedError). Se cambia a
AsyncSqliteSaver expuesto como context manager async. Requiere aiosqlite<0.21
(la 0.21 eliminó Connection.is_alive(), usado por langgraph-checkpoint-sqlite 2.x).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 15:15:35 +02:00
JuanandClaude Opus 4.7 c305ff5711 feat(runtime): añade build_checkpointer wrapper sobre SqliteSaver
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:59:01 +02:00
JuanandClaude Opus 4.7 683cc69edc feat(runtime): añade AgentState y nodos LangGraph (validate, llm, propose, approve, finalize)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:56:25 +02:00
JuanandClaude Opus 4.7 006d781df0 chore(plan): marca Phase D (Tasks 13-16) completada
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:51:31 +02:00
JuanandClaude Opus 4.7 db68164354 feat(policies): añade política default v1 con guardrails completos
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:51:31 +02:00
JuanandClaude Opus 4.7 af8036c2d2 feat(guardrails): añade NeMo stub, CompositeEngine paralelo y factory
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:51:17 +02:00
JuanandClaude Opus 4.7 79c6fe32ff feat(guardrails): añade GuardrailsAIEngine + 8 validadores (PII, injection, schema, telco)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:50:25 +02:00
JuanandClaude Opus 4.7 b7c470405b feat(guardrails): añade Protocol GuardrailEngine
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:46:35 +02:00
JuanandClaude Opus 4.7 fee046064a chore(plan): marca Phase C (Tasks 10-12) completada
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:40:16 +02:00
JuanandClaude Opus 4.7 b297f25e2c feat(registry): añade factories para registry y policy_store
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:40:16 +02:00
JuanandClaude Opus 4.7 5cbec0d5d8 feat(registry): añade FileSystemAgentRegistry con versionado tipo Git y diff
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:39:50 +02:00
JuanandClaude Opus 4.7 85906de832 feat(registry): añade FileSystemPolicyStore con carga YAML versionada
Incluye 'yaml' en los overrides de mypy (PyYAML no trae type stubs).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:37:53 +02:00
JuanandClaude Opus 4.7 2fffecb988 chore(plan): marca Phase B (Tasks 6-9) completada
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:30:40 +02:00
JuanandClaude Opus 4.7 d774a6b509 feat(llm): añade factory que selecciona proveedor según settings
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:30:40 +02:00
JuanandClaude Opus 4.7 4630fa214d feat(llm): añade AzureOpenAIProvider y OpenAIProvider con retry exponencial
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:30:05 +02:00
JuanandClaude Opus 4.7 45b2b9367c feat(llm): añade MockProvider determinista con 3 escenarios canónicos
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:28:40 +02:00
JuanandClaude Opus 4.7 bc16059738 feat(llm): añade Protocol LLMProvider con Message y CompletionResult
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:28:40 +02:00
JuanandClaude Opus 4.7 201ecade9f chore(plan): marca Phase A (Tasks 1-5) completada
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:16:26 +02:00
JuanandClaude Opus 4.7 55d65b68bf feat(observability): logging JSON estructurado con structlog y trace_id
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:16:07 +02:00
JuanandClaude Opus 4.7 60c2bff322 feat(config): añade Settings con Pydantic Settings y .env loading
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:16:07 +02:00
JuanandClaude Opus 4.7 ad77efe366 feat(domain): añade modelos GuardrailViolation, PolicyDefinition y AgentExecution
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:14:13 +02:00
JuanandClaude Opus 4.7 73114f6731 feat(domain): añade modelo AgentDefinition + LLMConfig + AgentVersionMeta
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:10:21 +02:00
JuanandClaude Opus 4.7 62536766e6 chore: scaffolding inicial del repo (pyproject, requirements, Makefile)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 10:08:48 +02:00
JuanandClaude Opus 4.7 f5e6b8767d docs: add AgentForge implementation plan
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-10 09:56:09 +02:00
JuanandClaude Opus 4.7 b471fa454c docs: add AgentForge initial design spec
Diseño completo de la plataforma de gobernanza de agentes IA: arquitectura
two-tier (FastAPI core + Streamlit dashboard), modelos de dominio, contratos
REST, interfaces Strategy (LLM, Guardrails, Registry), flujo LangGraph con
HITL dinámico vía interrupt(), versionado tipo Git en sistema de ficheros,
política y validadores, manejo de errores y plan de testing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-09 20:08:59 +02:00