%% Autogenerated ml-serving-platform
graph TD
classDef standard fill:#1e293b,stroke:#38bdf8,stroke-width:1px,color:#e5e7eb;
classDef c-actor fill:#1e293b,stroke:#e5e7eb,stroke-width:1px,stroke-dasharray: 5 5,color:#e5e7eb;
classDef c-compute fill:#422006,stroke:#fb923c,stroke-width:1px,color:#fed7aa;
classDef c-database fill:#064e3b,stroke:#34d399,stroke-width:1px,color:#d1fae5;
classDef c-network fill:#2e1065,stroke:#a855f7,stroke-width:1px,color:#f3e8ff;
classDef c-storage fill:#450a0a,stroke:#f87171,stroke-width:1px,color:#fee2e2;
classDef c-security fill:#450a0a,stroke:#f87171,stroke-width:1px,color:#fee2e2;
classDef c-gateway fill:#2e1065,stroke:#a855f7,stroke-width:1px,color:#f3e8ff;
classDef c-container fill:#422006,stroke:#facc15,stroke-width:1px,color:#fef9c3;
subgraph serving ["Serving Infrastructure"]
direction TB
inference_api(("<img src="/icons/inframap/edge.png" width="32" height="32" /><br/><b>Inference API</b><br/><i>gateway</i><br/><span style='font-size:0.8em'>REST/gRPC endpoint</span>"))
class inference_api c-network
model_server("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Model Server</b><br/><i>service</i><br/><span style='font-size:0.8em'>TF Serving / TorchServe</span>")
class model_server c-compute
ab_testing("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>A/B Testing</b><br/><i>service</i><br/><span style='font-size:0.8em'>Model version routing</span>")
class ab_testing c-compute
end
subgraph data_layer ["Data Layer"]
direction TB
model_registry[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>Model Registry</b><br/><i>database</i><br/><span style='font-size:0.8em'>MLflow / Weights & Biases</span>")]
class model_registry c-database
feature_store[("<img src="/icons/inframap/database.png" width="32" height="32" /><br/><b>Feature Store</b><br/><i>database</i><br/><span style='font-size:0.8em'>Feast / Tecton</span>")]
class feature_store c-database
end
subgraph ops ["MLOps"]
direction TB
monitoring("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Monitoring Stack</b><br/><i>service</i><br/><span style='font-size:0.8em'>Metrics, drift detection</span>")
class monitoring c-compute
training_pipeline("<img src="/icons/inframap/compute.png" width="32" height="32" /><br/><b>Training Pipeline</b><br/><i>service</i><br/><span style='font-size:0.8em'>Model training & registration</span>")
class training_pipeline c-compute
end
%% Orphans
clients(("<img src="/icons/inframap/user.png" width="32" height="32" /><br/><b>API Clients</b><br/><i>actor</i><br/><span style='font-size:0.8em'>Applications requesting predic<br/>tions</span>"))
class clients c-actor
%% Edges
clients -.-> inference_api
inference_api -.-> model_server
inference_api -.-> feature_store
model_server -.-> model_registry
monitoring -.-> inference_api
monitoring -.-> model_server
ab_testing -.-> model_server
training_pipeline -.-> model_registry
training_pipeline -.-> feature_store