Skip to content

C4 Architecture Model

The software-architecture view of the open world, in C4 notation. Tightly paired with the world bible: each container here is a layer there; each system (S1–S10) becomes a component diagram as its cases mature.

LevelScopeStatusNeutral?
L1 System ContextHungerSync + external actors/systemsrendered belowyes
L2 Containerthe four-layer platform + data storesrendered belowyes
L3 Componentinside one container (per system S1–S10)one rendered (Agent); more as cases matureyes
L4 Codeclasses/functions/servicesplaythrough overlays only — never hereno

The whole HungerSync system as a single box, with the external actors and systems it interacts with. The starting point for every conversation about what this thing is.

System Context diagram

The four-layer platform broken into containers, each tagged with its world-layer (L0–L3), its system S-ID, and the owning function (the Conway seam). Container boundaries are team hand-off seams, which are the case-study boundaries — one coherent structure across world, org, and curriculum.

Container diagram

Container ↔ layer ↔ system (S-ID) ↔ Conway seam ↔ case

Section titled “Container ↔ layer ↔ system (S-ID) ↔ Conway seam ↔ case”
ContainerWorld layerSystem (S-ID)Owning function (Conway)Primary cases
Data Platform (+ fact store, knowledge base, feature store)L0S3Data Platform teamDE1, DE2
Prediction ServiceL1S2 (prediction)Forecasting / MLML1–ML3
Discovery & Ordering AppL2S1 (ordering) + S4Product / Application engCS4, CS8
Vendor PortalL2/0S5Vendor enablement / Partnerships eng(case TBD)
Voucher Rail & SettlementL2S6Payments / Settlement eng(case TBD)
Resolution & Dispatch AgentL3S1 (resolution) + S2 (dispatch)Agent / Platform engCS2, CS5, CS6, CS7
Remote Ops ConsoleL3S7Remote OpsCS3, remote-ops case
Build & Delivery PipelineL3S8Platform eng / Dev productivity(cross-cutting case)
Trust & SafetyS9Trust & Safety / GovernanceCS8
Observability & CostS10SRE / FinOps / Eval(cross-cutting case)

Future externals (tagged future in both Context and Container diagrams, rendered dimmer): Skyline Air (secondary carrier), SkyVue In-Flight Systems (IFE in-seat channel), Atrium Dining Co. (competitor concessionaire). They appear because the business reality includes them now — even where no integration exists yet.

Level 3 — Component: Resolution & Dispatch Agent

Section titled “Level 3 — Component: Resolution & Dispatch Agent”

The first component diagram, broken into two halves: Resolution (passenger conversation) and Dispatch (fulfillment), joined where a placed order hands off.

Resolution & Dispatch Agent component diagram

Component → primary case → neutralized capability it exercises:

ComponentCaseNeutralized capability
Resolution AgentCS2agentic loop / completion control
Case-Facts & Context ManagerCS5context preservation, session state
Tool InterfaceCS2tool descriptions + structured errors
Enforcement GateCS2programmatic prerequisites & interception
Escalation & HandoffCS5escalation, structured handoff
Dispatch Coordinator + Fulfillment PlannerCS3coordinator–subagent orchestration
Robot Fleet Dispatcher + Operator Intervention BridgeCS2 / remote-opssupervised autonomy, human-on-the-loop

C4’s “technology” field normally names a stack. In the world model we put a neutral capability there (“grounded retrieval service”, “agent orchestration runtime”), not a vendor. Playthroughs override the technology field with concrete services. The shapes and relationships never change across playthroughs; only the technology labels do.

The .puml source lives in the project repo under quarto/world-source/c4/ after the migration (was world/c4/ in the original HungerSync repo). All diagrams use the C4-PlantUML standard library via a remote !include, so re-rendering needs network access. Use any PlantUML toolchain or the project’s plantuml -tsvg -pipe pattern.