Skip to content

Layered architecture: client to data

Agent Forge is layered by boundaries, not by directory names. The upper layers own identity and protocol; the middle layers orchestrate sessions and tools; the lower layers persist state and reach external systems. Governance APIs and the runtime engine share a deployable service surface, while permission and audit attach at the ingress and data boundaries.

flowchart TB
C[Client SDK / console] --> G[Ingress: HTTP/SSE termination, auth, RequestContext]
G --> S[Service: session / trigger / governance / observability / config routing]
S --> R[Runtime: orchestration, Tool, model, sandbox, HITL]
R --> D[(Data: SQLite or Postgres, audit, observability)]
R --> L[External: LLM / object storage]
LayerResponsibility
ClientREST + SSE; carries isolation and role context
IngressAuth, identity binding, tenant/owner/model/role into RequestContext, enterprise license gates
ServiceAPI routes and plugin mounts (events, hooks, triggers, /govern, and related surfaces)
RuntimeSession orchestration, tools, model gateway, MCP, sandbox, breaker and approval handoff
DataMigrations, RLS, audit chain, observability, trigger runs, retention policy

Data path: client → ingress (identity / three dimensions / RBAC / license) → routing → engine → storage → response or event stream. For the kernel main path, see end-to-end request lifecycle.


Related reading: