<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Discord Bot Platform — Critical Flow: Reconnect and Resume" id="13-resume-after-disconnect">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="720" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.b" value="&lt;b&gt;Bot&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="80" y="80" width="240" height="520" as="geometry" />
        </mxCell>
        <mxCell id="_ico1" 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.b">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.e" value="&lt;b&gt;WebSocket Edge&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="380" y="80" width="240" height="520" 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+gvaeTAAABzklEQVRoge3XsYsUMRjG4efURgQbQQ4OxSu2EEEEwVo7Qey8VlGxFnv/BnsFCy0Ee7sDRXsrUQQREexszgOFc3HXIg7sjJPc3TK7k4H8IEXyzYT3JfnyJRQKhUKhznEc6FvEPBzBa0zxEaN+5eyf64L4qn2zBxM5LdWxRn8Nb3A69VNOBtpYxUsJE7kbYBcTh1rGjuLgIhVFOJyIrWITl/Ap9tF5fFZPpNxaMrE3MxC4l/ZV2CWo58BazFlmnMTFqjNr4OfSpczHb7yvOrMGHgtLlDMT3BFyFaw0PjinvxJ+BTcS8Qlu4uly5Oyfe+KJ+0fE3BAK2QS38KQtmLuBpHjaK3Ff7DT6ne75q/iAt7jQxYQtrOOHsOfHwvW6Ezb+TVgl1LuuJm7hFG7jbFcTNsVPDafguSZUveaRNggDMfGDMJASn52B5lViA8+kj9cpvixMUZotPMLDtuBl/ydsjm0i3NlQr8T35VXYYqzgTNWZNfB9+VrmZtw2uC68OfveIru1bTOvx2YSj/BK+nk5xoNEfJHs4LlwrYkykl6JrI7RGCkTgzBA3MRgDNBuYrtXRXPQNPGiXzl1mqdQjBO4i1/CCbS1MEWFQqFQWCZ/AdclH6RcD+9yAAAAAElFTkSuQmCC;" vertex="1" parent="n.e">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.g" value="&lt;b&gt;Gateway Node&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="680" y="80" width="240" height="520" 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+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.g">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.s" value="&lt;b&gt;Session Store&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="980" y="80" width="240" height="520" 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+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.s">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.r" value="&lt;b&gt;Registry&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1290" y="80" width="240" height="520" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" 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+gvaeTAAACE0lEQVRoge3av48OQRzH8dc5HEEu5KLgRKFRiP9AI6hEJ0L8AUq/EoWWRKOS+BNERyFKjUYnF52EBMkRCeHh4jy4U+xJNs/NPHZ39tl9nmTfyRQ7me93Pp9nZ2d2Zx462mWqYLs5nMZx7F27bopfeIrL+FY2eApX8RWrLZcbZcVP494YCP9XHoREbhhi4CbOlnU9QoLDPWbgIK6MTkt9xAxcwsYmhVQlZuBkoyoSCBnYij1NC6lKyMCuxlUkEDJQdHEbC+p4UHv4U0OeWcOn9cLMK764PKmjwzWu/aevh6GgVMe9xPjkXKlD6BDOYCUxD5yoEpRq4ADuJ+ZIopaHpk1S78BrXFfPLHQep8oGpRp4ob4hNKeCgdQhtCMxPs/2KkGpd+AovqhnFpqtElTHSlyp47qY+FmoM9A2nYG26Qy0TWegbSbJQD9UOUkGHoUqQ1so83gXSdLDY7ypSVSMi5jJXb/F/qLBsV2JxTJJEllWcPejzBC6bfS/PNkb8sxA3fdY45CBn5G2i1UVlWRToO53rHHIwCfZudQgTe1YL1v/gbQl1jj0QbOCZzgyUH8OH3AXnxMEFuEHtuWud5dNcEH7Z2L5siQ7HS3MZrwcA+H5cickNDYL9WXnwtGnvwX2hSqHTaMLOIb3I5FTnqWqgTtxCx+1N3z6sn8JrKPMacw0Dstu5eBCM0pW8RyvGuyzozB/AWL0/uqUk81mAAAAAElFTkSuQmCC;" vertex="1" parent="n.r">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_m6" value="1. connect (after jitter)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1769;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1769;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.b" target="n.e">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m7" value="2. route by shard" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2538;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2538;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.e" target="n.g">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m8" value="3. hello + interval" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3308;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3308;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.g" target="n.b">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m9" value="4. resume(session, seq)" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4077;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4077;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.b" target="n.g">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m10" value="5. load session" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4846;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4846;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.g" target="n.s">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m11" value="6. seq window found" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.5615;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5615;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.s" target="n.g">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m12" value="7. entitlement lease" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6385;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6385;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.g" target="n.r">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m13" value="8. grants current" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.7154;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7154;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.r" target="n.g">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m14" value="9. replay seq+1 … n" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#d79b00;exitX=0.5;exitY=0.7923;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7923;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.g" target="n.b">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m15" value="10. invalid session: identify" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;dashed=1;strokeColor=#b85450;fontColor=#b85450;exitX=0.5;exitY=0.8692;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8692;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.g" target="n.b">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="title" value="Discord Bot Platform — Critical Flow: Reconnect and Resume" 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="1510" 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="1510" height="10" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Message 10 replaces 5–9 when the window is gone; the bot then pays the identify throttle." 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="650" width="1510" 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="670" width="1510" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Integration Platform 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="680" width="1510" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
