<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Checkpoint and Restore — Periodic Insurance, Final Write, Clean Resume" id="20-checkpoint-and-restore">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="890" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.c-work" value="&lt;b&gt;Workload&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="60" y="80" width="210" height="690" 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,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.c-work">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.c-client" value="&lt;b&gt;Checkpoint client&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="290" y="80" width="210" height="690" 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+gvaeTAAAB+UlEQVRoge3Zz4tPURjH8RfNJPkxzciCppSFYsPYmKKUlORHtsrKH8DKP+BfEAtlqywUsrDxB4yFyYIkKSkUUWqY0szX4lJD517nzD33e7+3ue86m3uenuf5fO95zjn3+dLTs7ZZF2GzAxsbzOE9FptwfAavMGh4LOIaNuVM/hSWhpD8yvEUU7kEPB9y8llFTLWUfDYR0y0LGGAe22KSDe1C03gXeP4A17Ec4ziCMVzBsZL5eRzHl1THZW/g9KrSrGZPSazo5bQ+IViuX34l3/8zP4PHKpZTioC2OICHGA9NdkEAzOJCaKIrAigp9i4J2BJ62CUBQXoBbZMiYH8D8WfqOki5SsA3xTU7F5MJtvdx7t+HY4kBtybaN86aqoGRpPMCUmsglq+KC9hrRUfjCA6L64LUpu4X2U1MBPzO4k0Nv/eGIeBGhO8Poyrgo7jezsWcAnIW8V0sRNjdkbETl1PAy0i7BbzNFTSngA0N2VaSU8ChSLud2JUraE4BZ7E7wu6yhs+DOtvoE9UXvpP4uUrfQzkHBniBE/5+u5O4WiP5UgFNXCX24hE+Kf5f2Ix9Svo6dQkJyNWB2/575CKYV6iIP+NHxsC5SDo7bqlXB7nHEg6mCJjA3Agk/if5S2WJVu3H4ziPo0q6Yg2zrFg2t/Gshfg9PT3D4Bd8nqqhhH/f8wAAAABJRU5ErkJggg==;" vertex="1" parent="n.c-client">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.c-agent" value="&lt;b&gt;Node agent&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="530" y="80" width="210" height="690" 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+gvaeTAAACkklEQVRoge3ZSchNYRzH8Q8ZIrEwZOGVsDGVDBlCio2FDZFhJ5ZWlJWtDQtlRzY2siApslAkG0NRMs/KsDAPZXjd1+I5J8/13ss51z333Df3W6fnOc/599zf79znef7nOYcO5dIvZ3x/bMJ6jMOAJun4iEvYjXtN6rMX/XAYPQUeH7CgKANrCxafHrflHxmZKPrux8f0rKL65zAwOkfsvzIma2AeA60k8xBqVwOZqbUMLsOk6PwEXrZGTi9WoCup9+Ao3sQBsYHlmIidwhqfclN5BrYKJlLm4AqO4fXvwTfVXhEWJdfP1LlexLEs+c1Tda5vTEXH/8B+TMFqjMxye0rgDB7ictoQG9iblHcxL2p/VbyuulzAp6T+Qxje9xvtrIwh9Ff6/DLa5w3UygOzVOeBs8qbB4sxNqlXcBqf6wXPwhphlrfrMrpHWCWHpaLjf+AQpmW4K2WyLSk3CE/HVQZO4gXmixy2GdcFjbfShtjAjqTchblR+7viddXlGgYm9Qq2CyYaopMHiqDPG6iVB7pUb+nu+PU80momY0RS7xHG//d6wV2YjRvaNw9sE/LVoFT078vojAx3pUz2JOU6HKHawEV8w1QMaa2uzDzEWzxNG2IDW5LyIJZG7V8Kl1Wfl4Jown5go2gzk5dOHiiCPm+gVh4YjlHR+XPlzYOxGJrUK3j8p+Dhwnuhq9o3D2zGhFh0PITO4QFm/sllyRzAI2FTg2oDz4Q19keLReXhs/BG7m3aEM+BlUl5HEui9u7iddXlk19iK1iF84121skDRfBfGfhWmIrefM0amMdAw5vpnHQLr/qbzni8V/wE3leE+JRFeFKQ8IqQqAbnEdTIB+VBWKi5n127hUeYx03ss0NL+AlV99RV7CRFIAAAAABJRU5ErkJggg==;" vertex="1" parent="n.c-agent">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.c-rgw" value="&lt;b&gt;Ceph RGW bucket&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="760" y="80" width="210" height="690" 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+gvaeTAAABPElEQVRoge2YsWrCQBjHf4rQVgRLd0Go4CO4FLq4+AguxZfo2ofoInTq6BO46eTgM7gUGhAHQQcHh9Z2iJFQLumlXPIl9vvBN+T44P4/Qu5yB4ryvykZxm6A66yDWHAAPOAzqqEOjIGvHNcW6EcJPOcgoE3tgUYQuhwSuIsyyxkXQCd4CAtcZp/lz5yyluO6isBZCXyIpUjOKWslNPgCPP0YyyNvwEQ6hBJg+pWoAb2sg1jgAXObxhbyu62pRqawZ7WMFhIVkMblpvUKPBJz4DjSBGZA1cWkLgWmwNqib4O/JLZdTOpS4AFY4S95cTSAW1eTuhToHitTCv8Rq4A0KiCNCkijAtKogDQqII0KSGMSWPL7sVACL0nzEPmLrHDtiDiCmq4WwX8zA+AeuEpingLv+DfnC+EciqKkwTdx5reVPQP7lAAAAABJRU5ErkJggg==;" vertex="1" parent="n.c-rgw">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.c-sched" value="&lt;b&gt;Scheduler&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="1000" y="80" width="210" height="690" 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+gvaeTAAACUElEQVRoge3Yz4tNYRzH8ZcxTU2SGaasJGo2iCQLCxYmYmExUYrJzmTiP7BnpZT8WGAIZWFFiLJSGL8aURbIykKkrPy4xlg89zb3nnnumTvce8+9Oe966pzn+T7nfL7Pz29fcnJyZksnFmUt4m9ZgAf4jsGMtcyaHoxhslgK2JGpImE51EIP7mJ9ou8W3Ci+d2Ovxi+vl7hVrXEFzmFlWV0vnpga+VIZE5ZUiSMRm0aVjTHxq/CxaPAJa4vin9YgHi410YGhmAP3E0Zf8KJG8Zk50FEm4EqxsUQvVidEPsZWfI04MBGpaxS/Sg/lm/gMunAccyKd0sQTZmAA8+qjsSrvcS/NYBi/VU7ZMyxssLC6csiUE9XWfMszhFPCHZCTU0f24aw2XVr7TW3u59rsZBox/Xg9kaki8Wi0H28SdSM4qfKCK+B22ftmjGJ+PQVGeIft+Jxs6BDW9iTOY26x/oDpI/8TOxP9R9U33kkru2OeHUsYXcbBKuJ3RfpnHo3erKFjNfEt4UCfePhci3g42kQHNpV+mow6+4RILxlGF7AH11Ic6BbuiEbfD69xPc0gORMF6SPfkvRhHD+0ofgSXYIjOTn/IxtwUUi1XBUycC1JLPswjNMqUy5wWMi+VaMlUovLhKMzdvtNYE3KhzNJLSZHeVA4PmN0mB6BlrMkpa3eLC09JB2YKQzorb+WfyPpwPgM9mntmaQWk5u4E4+wLtLprRDkfavy0QFc0JzU4jYhgx5lMe6o3DQPhQ3ecsSO0RL9WI4PeNUcOTk5OTntxh/8pG5i98V9WAAAAABJRU5ErkJggg==;" vertex="1" parent="n.c-sched">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.c-new" value="&lt;b&gt;Restored workload&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="1230" y="80" width="210" height="690" as="geometry" />
        </mxCell>
        <mxCell id="_ico6" 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+gvaeTAAADRUlEQVRoge3ZTYiVVRzH8Y+jM1pj5liSb20KDDXQMnQTpRa0cJGbgoIgyqS1YKiBaItKokVKiyyiTQTqQg20TeUmeoOCCokKF4aKUGPm5Ms0zbg4c53Hy3PufV5nbjBfOIt773n+5/e7zznn+Z//wyQTy5Sa4t6EPvTiP/yNvzCUM84GvIaexHf9eAq/lZc5xkpswzGcwkhKu4Lv8cGogNsyxH0/Euu5KkTPxGaciAzSrg1iP9a0GGNv5Nrnywjvxhb8WVB4WvsUD6SM9WrVBlbgxwqFJ9sQdmN6Yrzt7Qx05RD/Ar7EvTmuycNUvIQvsGD0u4F2F2U1sAv7MCOHoCs4j4s5riFsCF9jqQwGsrBLtilwFu9gPe5oitGN5diII4K5dvFOY2vkt8xrYFOGgX7BE/JNx3nCfL/UJvZgGQP34XKb4JuFf7cod+PzNiYKGejGTy0C/IG1JYQnmYa3qjawpY34eyoSn+T1DMIzGbhF/CE1iHU1iG/wUWTcqIFpKUE2YU5kgO34rKC49UJuc1VYvANCgndptF0Qkr4RJZPMWG7zqxuzwrzsjsQt0qJP4pVYEhHwsjCFOopmA49F+p3DwZq1FKLZwEORfh9juGYthWg2sCzS73AFY52oIAYha/258SG52m8Wdoa0HWAhzlQw+Cwh6yzDIP5J+2GB+N5f19m5NMkpNDPSZ0Aw0pEkDfwb6VMmWaudpIHYwaNXKJN0PF3C4khbB8snUFdLkndgWLxY9Og4aClE83Pg20i/x+sWUhVPS59CQ1g0gboy0yd+4H5vAnXl4oD4XYilGh3Fg+J5+Df+J1vqcXETH+rg1KLBCmHKxEzsUT4pSzJXPJUvzBtaH+s+wewKxtlgrIiws4J41+kRapStTJzCs/JV5RosxLspMXeWk30ji8TfuCTbD3jRWFU5RhdW422t66M7sgrMshiXCKWUeRn6jghP8+8E4/24FfNxJx7G7RnjzBHKLpVwl5AnVVUWadWG8UpVwpP04VDN4s/jyTrEN5giLNpzNYg/IkyzcWG2sFv0VyD8OB4ZL+HN9OIZHBU/DKW1k3gT95cVUGVK0INVwrutxcJdmiW8qb+A34X66lfCDjXJJJ3ANY5hBJkPJRaBAAAAAElFTkSuQmCC;" vertex="1" parent="n.c-new">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_m7" value="1. save() every 60 min" 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.1333;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1333;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-work" target="n.c-client">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m8" value="2. gen-17 parts, SSE-KMS" 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.1913;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1913;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-client" target="n.c-rgw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m9" value="3. manifest gen-17 written last" 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.2493;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2493;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-client" target="n.c-rgw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m10" value="4. notice · deadline T+120" 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.3072;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3072;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-agent" target="n.c-client">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m11" value="5. on_notice()" 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.3652;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3652;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-client" target="n.c-work">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m12" value="6. save(1.4 GB)" 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.4232;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4232;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-work" target="n.c-client">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m13" value="7. gen-18 parts + manifest" 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.4812;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4812;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-client" target="n.c-rgw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m14" value="8. committed in 31 s" 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.5391;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5391;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-rgw" target="n.c-client">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m15" value="9. checkpoint committed" 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.5971;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5971;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-client" target="n.c-agent">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m16" value="10. if RGW unreachable: release lease, no resume" 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.6551;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6551;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-client" target="n.c-agent">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m17" value="11. reschedule unit" 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.7130;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7130;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-sched" target="n.c-new">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m18" value="12. latest manifest" 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.7710;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7710;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-new" target="n.c-rgw">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m19" value="13. gen-18" 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.8290;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8290;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.c-rgw" target="n.c-new">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m20" value="14. resume · outputs staged until done" 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.8870;exitDx=0;exitDy=0;entryX=0.5;entryY=0.9217;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.c-new" target="n.c-new">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1420" y="690" />
              <mxPoint x="1420" y="720" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Checkpoint and Restore — Periodic Insurance, Final Write, Clean 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="1410" 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="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="note" value="A generation without its manifest does not exist. Outputs are published only when the unit completes, so a resumed unit cannot emit a result twice." 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="820" width="1410" 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="840" width="1410" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Compute Platform Architecture   ·   date 2026-09" 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="850" width="1410" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
