cambios profundos

This commit is contained in:
2026-05-27 16:29:02 +02:00
parent d95ed15766
commit 34b11dfc66
29 changed files with 594 additions and 11102 deletions
+24 -27
View File
@@ -7,30 +7,28 @@ ejecución controlada con runtime stateful, Human-in-the-Loop y observabilidad c
## Arquitectura
Forja es un **único servicio** (FastAPI en :8000) que expone:
- API REST completa bajo `/api` (agentes, políticas, ejecuciones, aprobaciones, violaciones).
- UI embebida moderna (HTMX + Tailwind + Jinja) en rutas amigables (`/agents`, `/run`, `/approvals`, `/history`, `/policies`).
```
┌───────────────────────── docker-compose ──────────────────────────┐
│ ┌─────────────────────┐ HTTP/JSON ┌────────────────────┐ │
│ │ forja-dashboard │ ────────────────► │ forja-core │ │
│ Streamlit :8501 │ ◄──────────────── │ FastAPI :8000 │
└─────────────────────┘ └────────────────────┘
Strategy pattern para LLMProvider, GuardrailEngine, Registry.
│ Persistencia: YAML (defs versionadas), JSONL (logs), SQLite │
│ (checkpoints LangGraph + HITL). │
└────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────────────────────────────┐
forja-core :8000
│ ┌─────────────────────────────────────────────────────────┐
│ │ UI HTMX (navegador humano) │ API REST (/api/*)
└─────────────────────────────────────────────────────────┘
Strategy factories (LLM / Guardrails / Registry)
LangGraph runtime + SQLite checkpoints (HITL real)
Persistencia: YAML versionado + JSONL + SQLite
└───────────────────────────────────────────────────────────────┘
```
Detalles completos en [`ARCHITECTURE.md`](ARCHITECTURE.md). Además:
- [`docs/walkthrough.html`](docs/walkthrough.html) — **walkthrough HTML autocontenido**
(de alto a bajo nivel, con diagramas). Ábrelo directamente en el navegador
(`xdg-open docs/walkthrough.html`); no requiere servidor.
- [`docs/explicacion.md`](docs/explicacion.md) — explicación didáctica de extremo a
extremo (conceptos, recorrido por todos los módulos y sus interrelaciones, y el
viaje de una petición de principio a fin).
- [`docs/componentes.md`](docs/componentes.md) — referencia de cableado a bajo nivel
(grafo de dependencias de módulos, inyección de dependencias, firmas de los
contratos entre capas, cadenas de llamada de cada endpoint).
Documentación viva:
- [`ARCHITECTURE.md`](ARCHITECTURE.md) — decisiones técnicas.
- [`docs/explicacion.md`](docs/explicacion.md) — explicación didáctica completa.
- [`docs/componentes.md`](docs/componentes.md) — referencia de cableado a bajo nivel.
- [`docs/futuro.md`](docs/futuro.md) — roadmap.
## Quickstart
@@ -39,7 +37,7 @@ cp .env.example .env
docker compose up
```
Abre [http://localhost:8501](http://localhost:8501).
Abre [http://localhost:8000](http://localhost:8000).
Funciona out-of-the-box (`LLM_PROVIDER=mock`, sin API keys). Si quieres usar
Azure OpenAI real, edita `.env`.
@@ -64,8 +62,8 @@ Azure OpenAI real, edita `.env`.
| LangGraph + HITL + checkpoints | `core/src/forja_core/runtime/` |
| Observabilidad (trace + structlog) | `core/src/forja_core/observability/` |
| LLM abstraction | `core/src/forja_core/llm/` |
| Editores gráficos (nuevo) | dashboard páginas Forjar Agente / Política |
| API REST + dashboard | forja-core :8000 + forja-dashboard :8501 |
| UI embebida (HTMX) | `core/src/forja_core/web/` (ruta raíz) |
| API REST completa | bajo `/api` en forja-core :8000 |
## Variables de entorno
@@ -79,13 +77,12 @@ Ver [`docs/futuro.md`](docs/futuro.md).
```
forja/
├── core/ servicio FastAPI (gobernanza + runtime)
├── dashboard/ Streamlit (UI + editores gráficos)
├── core/ servicio FastAPI único (API + UI HTMX embebida)
├── agents/ definiciones de agentes (YAML versionados)
├── policies/ políticas de guardrails (YAML versionados)
├── data/ runtime state (gitignored)
├── tests/
└── docs/
└── docs/ (explicacion.md, componentes.md, futuro.md, ARCHITECTURE.md)
```
## Tests