cambios profundos
This commit is contained in:
+12
-15
@@ -1,26 +1,23 @@
|
||||
# Forja — Arquitectura técnica
|
||||
|
||||
> Documento "vivo" con las decisiones técnicas. El spec original está en
|
||||
> [`docs/superpowers/specs/2026-05-09- forja-design.md`](docs/superpowers/specs/2026-05-09- forja-design.md).
|
||||
> Documento vivo con las decisiones técnicas.
|
||||
|
||||
## Visión general
|
||||
|
||||
Two-tier:
|
||||
- `forja-core` — FastAPI 8000. Dominio de gobierno, runtime LangGraph,
|
||||
guardrails y persistencia.
|
||||
- `forja-dashboard` — Streamlit 8501. Cliente HTTP del core.
|
||||
Forja es un **único servicio FastAPI** (:8000):
|
||||
- Todo el dominio de gobierno, runtime LangGraph, guardrails y persistencia.
|
||||
- UI embebida (HTMX) para uso humano + API REST completa bajo `/api`.
|
||||
|
||||
## Diagrama
|
||||
|
||||
```
|
||||
┌─────────────────────┐ HTTP/JSON ┌─────────────────────┐
|
||||
│ Dashboard (Stream.) │ ───────────► │ Core (FastAPI) │
|
||||
└─────────────────────┘ └─────────┬───────────┘
|
||||
│
|
||||
┌─────────────────────────┬────────┴──────┬────────────┐
|
||||
▼ ▼ ▼ ▼
|
||||
LLM layer Guardrails layer LangGraph State
|
||||
(Strategy pattern) (Strategy pattern) Runtime JSON+SQL+JSONL
|
||||
┌────────────────────────────────────────────────────────────┐
|
||||
│ forja-core :8000 │
|
||||
│ UI HTMX (humanos) + REST API (/api) + dominio completo │
|
||||
│ │
|
||||
│ LLM (strategy) │ Guardrails (strategy) │ LangGraph │
|
||||
│ │ │ + checkpoints│
|
||||
└────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## Patrones aplicados
|
||||
@@ -50,7 +47,7 @@ Se usa la API dinámica `interrupt(payload)` de LangGraph ≥0.2 dentro del
|
||||
nodo `approve_gate`. Sólo pausa cuando hay acciones de alto riesgo
|
||||
(`risk_score >= threshold` o `requires_approval=True`). El cliente envía
|
||||
`Command(resume={"approved_action_ids": [...]})` vía
|
||||
`POST /executions/{trace_id}/approve`.
|
||||
`POST /api/executions/{trace_id}/approve`.
|
||||
|
||||
## Observabilidad
|
||||
|
||||
|
||||
Reference in New Issue
Block a user