diff --git a/outputs/diagrams/scadabridge-topology.mmd b/outputs/diagrams/scadabridge-topology.mmd
new file mode 100644
index 0000000..70c8ed6
--- /dev/null
+++ b/outputs/diagrams/scadabridge-topology.mmd
@@ -0,0 +1,55 @@
+flowchart TB
+ subgraph Central["Central Cluster (South Bend DC)"]
+ direction LR
+ CN1["Node 1
active"]
+ CN2["Node 2
standby"]
+ CN1 <-->|"Akka.NET
cluster"| CN2
+ end
+
+ subgraph WarsawWest["Warsaw West Campus"]
+ direction TB
+ subgraph WW3["Building 3 Cluster"]
+ WW3N1["Node 1"] <--> WW3N2["Node 2"]
+ end
+ subgraph WW7["Building 7 Cluster"]
+ WW7N1["Node 1"] <--> WW7N2["Node 2"]
+ end
+ end
+
+ subgraph WarsawNorth["Warsaw North Campus"]
+ direction TB
+ subgraph WN1C["Building Cluster"]
+ WNN1["Node 1"] <--> WNN2["Node 2"]
+ end
+ end
+
+ subgraph Shannon["Shannon (single cluster)"]
+ SN1["Node 1"] <--> SN2["Node 2"]
+ end
+
+ subgraph Galway["Galway (single cluster)"]
+ GN1["Node 1"] <--> GN2["Node 2"]
+ end
+
+ subgraph TMT["TMT (single cluster)"]
+ TN1["Node 1"] <--> TN2["Node 2"]
+ end
+
+ subgraph Ponce["Ponce (single cluster)"]
+ PN1["Node 1"] <--> PN2["Node 2"]
+ end
+
+ Central <-->|"hub route"| WarsawWest
+ Central <-->|"hub route"| WarsawNorth
+ Central <-->|"hub route"| Shannon
+ Central <-->|"hub route"| Galway
+ Central <-->|"hub route"| TMT
+ Central <-->|"hub route"| Ponce
+
+ Shannon <-.->|"direct route
(optional)"| Galway
+
+ subgraph Notes["Key: 2-node Akka.NET clusters, co-located on System Platform nodes"]
+ L1["Hub-and-spoke: central routes to all sites"]
+ L2["Direct site-to-site routing available where needed"]
+ L3["Data locality: equipment talks to LOCAL cluster only"]
+ end
diff --git a/outputs/diagrams/scadabridge-topology.png b/outputs/diagrams/scadabridge-topology.png
new file mode 100644
index 0000000..451a01e
Binary files /dev/null and b/outputs/diagrams/scadabridge-topology.png differ