flowchart LR
    subgraph Equipment["Equipment (Layer 1)"]
        PLC1["Modbus TCP/RTU<br/>devices"]
        PLC2["Siemens S7<br/>PLCs"]
        PLC3["OPC UA-native<br/>equipment"]
        PLC4["AB CIP/Legacy<br/>PLCs"]
        PLC5["Beckhoff TwinCAT<br/>controllers"]
        CNC["FANUC CNC<br/>(FOCAS)"]
    end

    subgraph OtOpcUa["OtOpcUa Cluster — per site (Layer 2)"]
        direction TB
        subgraph Drivers["Core Drivers (8)"]
            D1["Modbus<br/>Tier A"]
            D2["S7<br/>Tier B"]
            D3["OPC UA Client<br/>Tier A"]
            D4["AB CIP + Legacy<br/>Tier B"]
            D5["TwinCAT<br/>Tier B"]
            D6["FOCAS<br/>Tier C ⚡"]
        end
        subgraph Namespaces["Two Namespaces"]
            EN["Equipment NS<br/>(raw data)"]
            SPN["System Platform NS<br/>(processed data)"]
        end
        ACL["ACL Enforcer<br/>6-level scope"]
    end

    subgraph Consumers["Downstream Consumers"]
        SB["ScadaBridge<br/>(Tier 1 cutover)"]
        IG["Ignition SCADA<br/>(Tier 2 cutover)"]
        SP["System Platform IO<br/>(Tier 3 cutover)"]
    end

    PLC1 --> D1
    PLC2 --> D2
    PLC3 --> D3
    PLC4 --> D4
    PLC5 --> D5
    CNC -.->|"out-of-process<br/>named pipe"| D6
    D1 --> EN
    D2 --> EN
    D3 --> EN
    D4 --> EN
    D5 --> EN
    D6 --> EN
    EN --> ACL
    SPN --> ACL
    ACL --> SB
    ACL --> IG
    ACL --> SP
