C4 Model¶
The C4 model provides four zoom levels for describing software architecture: Context, Container, Component, and Code. This baseline documents Context and Container views; component detail lives in the UML Views and System Layers pages, while code-level detail is intentionally omitted from the architecture baseline.
The Context view shows who uses the agentic system and what external systems it interacts with. The Container view shows the major deployable units and how data flows between them.
Level 1 — System Context¶
The Context diagram is a C4 Level 1 view: the system in scope sits at the centre, people are drawn as stick figures, external systems as rounded rectangles, and every relationship is a directed arrow with a short verb phrase [Brown, n.d.]. The source uses the PlantUML C4 standard library (!include C4_Context.puml) with a top-down layout and a generated legend so the notation is self-explanatory.
It maps the baseline concepts to a single bounded picture: a User submits tasks and later reviews artifacts; the Agentic System Baseline coordinates agents, tools, and memory; the LLM Provider supplies reasoning and generation; External Tools are invoked through tool/MCP calls; and the Kroki Renderer is an external dependency used to render documentation diagrams. Treating agents as first-class elements inside the bounded system is consistent with the agent-as-role pattern described in agentic C4 practice [Rausch & Wittek, 2026].
Level 2 — Container¶
The Container diagram is a C4 Level 2 view: the Agentic System Baseline boundary is expanded to show its major deployable containers and the interactions between them [Brown, n.d.]. The notation uses System_Boundary for the scope, Container for runnable/deployable units, ContainerDb for data stores, and Rel arrows labelled with the interaction purpose. As in the Context view, the source uses the PlantUML C4 standard library with a top-down layout and legend.
The containers shown are logical runtime units: the Documentation Site, Pipeline Engine, Agent Runtime, Guardrails, Tool Bus, Memory Store, and Observability Backend. The LLM Provider and Kroki Renderer remain outside the boundary because they are external dependencies. This view maps directly to the baseline's separation of concerns: the orchestrator owns task state through the Pipeline Engine and Agent Runtime; agents are stateless workers that invoke the Tool Bus; guardrails enforce iteration, token, tool, and anomaly limits; the Memory Store persists context, artifacts, and history; and Observability collects spans, events, costs, and latency [Rausch & Wittek, 2026].