<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="AI Code Completion Service — System Context" id="01-system-context">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1400" pageHeight="680" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_t1" value="Editor surfaces (in scope: the contract only)" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="410" y="80" width="590" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.vscode" value="&lt;b&gt;VS Code plugin&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="410" y="100" width="170" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico2" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.vscode">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.jb" value="&lt;b&gt;JetBrains plugin&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="610" y="100" width="180" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.jb">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.nvim" value="&lt;b&gt;Neovim plugin&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="820" y="100" width="170" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico4" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.nvim">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_t5" value="People" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="190" width="260" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.dev" value="&lt;b&gt;Developer&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="210" width="220" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_plate6" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.dev">
          <mxGeometry x="5" y="11" width="32" height="32" as="geometry" />
        </mxCell>
        <mxCell id="_ico7" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.dev">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.admin" value="&lt;b&gt;Platform admin&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="280" width="220" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_plate8" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.admin">
          <mxGeometry x="5" y="11" width="32" height="32" as="geometry" />
        </mxCell>
        <mxCell id="_ico9" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACWklEQVRoge3Zz4tNYRzH8dfIrwmJGcZMIgpJEjZsiA1pLGhK2VDEcpLFWCkrG3tr/8GQHRNWipRhocxmombIaESNjDFj8XTrNHPunXueOfec2zTv+m7Ovd9z3p/uvec8z/eyRLm05Hy+lTiBbuzEFvzGKF6hH0M5XzMXVuAaRjAzTz3BwXI002nHc/OLJ2sKfSW4zqELw7LJJ+te4cYJWoXvdax8pa4WLV7hdp2C89UEthbsrh0/FyierPvF6nM9J/FK/cKqGJFlkQHORvZVYy2OxzTGBtgX2Zf7OWMDdET21aIzpik2wHRkXy3+xTTFBhiN7KvFSExTbIB3kX21eN+Ac1blknxvo9+xvMgA6zGWY4BS1kQ3ImVn1zjaCnZH+MifZpSdXdO4ULR4ko3Cjy9W/lbxynNZh0eyyU/gYhmytTiPD2qLT+EBtuV10bw39XAIZ7BLWHL8wWe8xmPhlrnEoiH2K7RfGI10YgMm8RBv6uhtRY+wfJ7CV3zCC/zIKpIlwBr04oowtErjozD3GRSmFePCTqsNe3EUJ4U712z+4hnuCmOaXOlW39Aqr+oXnjG5cFNYqxclX6kh7Fmo/OUSxJM1jM2x8oeFe3iZAWYwEBtgoAnkK3Uuq/yxJpBO1ttqotW2lD1ZEzeYA9id9kK1AKcb5xLNqbSDaQFasL2xLlHsSDuYFqBN+Kuo2ehKO5gWYHWDRWJJ9YqdCzUNizLAZOEW9ZHqlRZgTGNmnwtlMMube5X/9E3WN2zKEqAFdzTHYm5IWFhWFa1FB44o77nwBS+FrecSTcl/+F0YjmstwYwAAAAASUVORK5CYII=;" vertex="1" parent="n.admin">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.mleng" value="&lt;b&gt;Model engineer&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#08427b;strokeColor=#073b6f;fontColor=#ffffff;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="350" width="220" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_plate10" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.mleng">
          <mxGeometry x="5" y="11" width="32" height="32" as="geometry" />
        </mxCell>
        <mxCell id="_ico11" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACWklEQVRoge3Zz4tNYRzH8dfIrwmJGcZMIgpJEjZsiA1pLGhK2VDEcpLFWCkrG3tr/8GQHRNWipRhocxmombIaESNjDFj8XTrNHPunXueOfec2zTv+m7Ovd9z3p/uvec8z/eyRLm05Hy+lTiBbuzEFvzGKF6hH0M5XzMXVuAaRjAzTz3BwXI002nHc/OLJ2sKfSW4zqELw7LJJ+te4cYJWoXvdax8pa4WLV7hdp2C89UEthbsrh0/FyierPvF6nM9J/FK/cKqGJFlkQHORvZVYy2OxzTGBtgX2Zf7OWMDdET21aIzpik2wHRkXy3+xTTFBhiN7KvFSExTbIB3kX21eN+Ac1blknxvo9+xvMgA6zGWY4BS1kQ3ImVn1zjaCnZH+MifZpSdXdO4ULR4ko3Cjy9W/lbxynNZh0eyyU/gYhmytTiPD2qLT+EBtuV10bw39XAIZ7BLWHL8wWe8xmPhlrnEoiH2K7RfGI10YgMm8RBv6uhtRY+wfJ7CV3zCC/zIKpIlwBr04oowtErjozD3GRSmFePCTqsNe3EUJ4U712z+4hnuCmOaXOlW39Aqr+oXnjG5cFNYqxclX6kh7Fmo/OUSxJM1jM2x8oeFe3iZAWYwEBtgoAnkK3Uuq/yxJpBO1ttqotW2lD1ZEzeYA9id9kK1AKcb5xLNqbSDaQFasL2xLlHsSDuYFqBN+Kuo2ehKO5gWYHWDRWJJ9YqdCzUNizLAZOEW9ZHqlRZgTGNmnwtlMMube5X/9E3WN2zKEqAFdzTHYm5IWFhWFa1FB44o77nwBS+FrecSTcl/+F0YjmstwYwAAAAASUVORK5CYII=;" vertex="1" parent="n.mleng">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_t12" value="Platform dependencies" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1100" y="190" width="260" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.entra" value="&lt;b&gt;Microsoft Entra ID&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1120" y="210" width="220" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico13" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.entra">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.scm" value="&lt;b&gt;Source hosting&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1120" y="280" width="220" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico14" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.scm">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.gpu" value="&lt;b&gt;Azure GPU capacity&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1120" y="350" width="220" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico15" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,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;" vertex="1" parent="n.gpu">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.system" value="&lt;b&gt;Code Completion Service&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:11px&quot;&gt;Ghost text, per keystroke&lt;/font&gt;" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#1f4e79;strokeColor=#163a5a;fontColor=#ffffff;fontSize=15;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=56;" vertex="1" parent="1">
          <mxGeometry x="530" y="250" width="340" height="110" as="geometry" />
        </mxCell>
        <mxCell id="_plate16" value="" style="rounded=1;arcSize=22;html=1;fillColor=#ffffff;strokeColor=none;movable=0;resizable=0;connectable=0;" vertex="1" parent="n.system">
          <mxGeometry x="12" y="33" width="42" height="42" as="geometry" />
        </mxCell>
        <mxCell id="_ico17" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.system">
          <mxGeometry x="16" y="37" width="34" height="34" as="geometry" />
        </mxCell>
        <mxCell id="_t18" value="Downstream and out of scope" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="390" y="450" width="620" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.chat" value="&lt;b&gt;Editor chat / agents&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="390" y="470" width="200" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico19" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.chat">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.billing" value="&lt;b&gt;Billing platform&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="630" y="470" width="180" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico20" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.billing">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.train" value="&lt;b&gt;Model training&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="840" y="470" width="170" height="50" as="geometry" />
        </mxCell>
        <mxCell id="_ico21" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.train">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_e22" value="types, accepts" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.22;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.dev" target="n.system">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e23" value="policy, seats" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.admin" target="n.system">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e24" value="promotes models" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.78;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.mleng" target="n.system">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e25" value="suggest / cancel" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.22;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.vscode" target="n.system">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e26" value="suggest / cancel" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.jb" target="n.system">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e27" value="suggest / cancel" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.78;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.nvim" target="n.system">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e28" value="identity" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.22;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.system" target="n.entra">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e29" value="repo read, ACLs" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.system" target="n.scm">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e30" value="accelerator pools" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.78;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.system" target="n.gpu">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e31" value="separate service" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=block;endFill=1;strokeColor=#b85450;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.22;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.system" target="n.chat">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e32" value="usage figures" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.system" target="n.billing">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e33" value="no data path" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=block;endFill=1;strokeColor=#b85450;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.78;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.system" target="n.train">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="AI Code Completion Service — System Context" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1310" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1310" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="40" y="580" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" value="External / third party" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="70" y="580" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="rounded=1;arcSize=30;html=1;fillColor=#08427b;strokeColor=#073b6f;" vertex="1" parent="1">
          <mxGeometry x="230" y="580" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" value="Person or role" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="250" y="580" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="360" y="580" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" value="Security / platform" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="390" y="580" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" value="" style="html=1;endArrow=none;strokeColor=#5a6570;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="530" y="590" as="sourcePoint" />
            <mxPoint x="550" y="590" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg41" value="synchronous" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="550" y="580" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg42" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#b85450;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="650" y="590" as="sourcePoint" />
            <mxPoint x="670" y="590" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg43" value="failure / alternate" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="680" y="580" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg44" value="" style="html=1;endArrow=none;dashed=1;dashPattern=1 4;strokeColor=#9673a6;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="810" y="590" as="sourcePoint" />
            <mxPoint x="840" y="590" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg45" value="batch" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#7b8794;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="840" y="580" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Red paths are deliberate non-connections: chat and agents are a separate service, and no tenant code reaches training." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="610" width="1310" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="630" width="1310" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Developer Experience Architecture   ·   date 2026-10" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=9;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="640" width="1310" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
