<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="The Release Loop — and Why Rollback Is Not a Special Case" id="18-release-and-rollback-loop">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1250" pageHeight="840" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.author" value="&lt;b&gt;Author&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;text + rationale&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="530" y="100" width="190" height="90" 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+gvaeTAAAB10lEQVRoge3YPWsVQRTG8Z8vEbtLmpAE7CUpBAtFTCCNYmfjB0i+gI2NH0CwEhuxDZYiamcXJSniF1BsLLQQCSYkREXF12IDuUVyd+6cze4G94GF5e6cc54/M7N77tCpWR1JGHMd8+gFa93HnZ37h/iBG/gUzDtQ5/C3outWX96XO7+9wljE4NGS51OR5AmaxnMBiDKAlCUW1TSWMZETXAZQl04rZmJoiLYAkAnRJgB2IcZTA9oGQAHxQiJEGwEYAqKtABQQD8oGHa/ByF76jM2EcWdxDL/3G1AnQH+ty1UlrXMJzTiAD2OdM3ART/EE34aIe4w/uUUXVNfM5V4jgwy2+S2UpA6gaR16gOhb6APmsJEZfxWLEQNRgNd4G4h/FqwfBjiPa9jKjL8UrB8G6OFR1ERE//0m/oW78jfxHK4EPQxUWSuxFMw/WZL/wFuJcbFZPBWsH15CU4pvwZfM+KyzoH5V0U6PCR4PRlQFwDq2M2MncTJSPArwBmfwMzP+AlYjBqKb+KN88/A+WD88A7O4Lb+VmA3WDwOM4GbURESHvpXoAJpWB9C0OoCmVQbwtRYX++u7AUfrKRrFO82di94rM5hy3N1T/PU7kTC2Sq1hpeaanYbWP7vvluJEburEAAAAAElFTkSuQmCC;" vertex="1" parent="n.author">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.seal" value="&lt;b&gt;Build &amp; seal&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;validate, pin, sign&lt;/font&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="890" y="180" width="190" height="90" 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+gvaeTAAACH0lEQVRoge3ZQauMURzH8Y/pRsYVIeJGt8jKQtlZ2IqsbZSFpSVZyCtw34Cys1AsLFCUjayuBUWyNxe5UdRF6V5zr8XcmR6cmXmeOefOGZpv/WumOWfO9/fMc57nnGcYk5d1a/Cd0ziLI5jCdzTwEHewuAZjJmES19DESpdq4EQuwV5swwvdxYvVxPk8mmFqeKKcfDHEyRyyIc6pJt+uOWzI4PsXZU+dUJ3J4Psb0waXX8HNWIFaZP/9kf0PRvaPDrApsv/GyP7RAT5E9p+P7B8d4BUWIvrPRo6fhBsGm8DLEsyBFBw1WIC7OWS78VL1AMeymHbhimrybyRaCcdO4jb3Kra/rxUkmlQBXuNrhfZPE42bLMCyVoiyNBKNmywAfKrQ9kuqQVMGqELsEiQ5u7SOatmr0EyqgSdKtJnEPuzs0n4Kl7G1wrgXUccD4U3+N7zDexFXq+N4tDpAzJo/puZwFduriNdxO6N0qD6vHtC+rMfjERAO1U+c6hdgZgREe9WC1pwLshc/RkCyX13vFuDSCMiV/RU6j2OKN7KRWt72YDMOt98UA+wZvsvAdOZBMUD0E4IhUm+/yLUWSkYxwFI2i+p0XIsBnmUQGYQmnoc+2G2wzfkwawkXitJ/bqwncAg7qhySIdHU2vV9zC2SlNCjjRq2DFukBItafxj25YD853qoboVk/6v7wD/JOEBuQk8Z5nF62CIleJtbYEyIX+227maOFAL6AAAAAElFTkSuQmCC;" vertex="1" parent="n.seal">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.gate" value="&lt;b&gt;Gate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;eval + approval&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="980" y="370" width="190" height="90" 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+gvaeTAAAC/klEQVRoge2YO2gUQRjHf+edGg1RRI2VIjEqNhHio1AkCNFKwcLGRk/R6wQLDT6wEETBTjvB3iKKjRYBLdQEVFB8pfABvhAMRgwpNKKXs5gdnJ3b3fl29/YScH+wsHf7zff6787sLOTk5ORMJYWM/M4GeoGVwDgwCLzOKFbD2Q2MADXruAYsanQwqQI9QLvArhM4C8wIuf4UOCfwMwkMAV9E2TnYTn03m3E8kiQX1ikTSeezQBRXUsC0RlLAE+B71okEcKfZAfciu7c/kt30nYo24DPuAvqmIrELwANgANgVYdsL/CQ8+QFgZsjYhcAl1OxzE9jWgNwpolZRO5FyxJiNqPnetP8DnEet0EG0AC+sMVVgZ9oC9gUkXwNGUcqEUbHsvzriHA2J8x6YlTT5Eur9RTt7ieqK/n28QQXMRa242va5NfZg0gLKlqOtwFVkKsQpwOz+JLAWuE1KFYrAK8PJoPf/GvwqnEhZQCv+7vd7/28ipQpl6ruvkaggLeAY9d3XJFYhrPsaiQqSAlrxv3b3W9dtFQ5JCygT3n2NSwVJAVHd15gqfECggqv7GpcKrgJc3dfEVmE/7u5rolRwFSDpvkasgrT7GluFk8ICpN3X2CpUwgz3IO++xlRhhH+vClEFHMbf/S5BHFOFNxjbgJJhdMA4rwFXBI7N26Yd2AFcd4wx41SBG4I4843zTmALcBf8BcwzzgtAh8BxVCCJTSltHHNHdj+BIxP9JcFF2jgTwMOgC0uATwS/FUqOi4avqGegAzVrJY1zOqq61cBwwuSLwgIAuoF3MWNUgTMItqMtwBHgrcPhb+AWsDnAh2QlbgNOofbIUXEmUBNDd1Cyrmq6gA3ACmAB8Av4hnpnH0LdCkFUgMvG71FgcYhtwUtuPbDci/PDG/PMizPmyLPhxN2RJabkNgFgFdFbSJtlAXHWxRgPasEajzkmkB6SzxhpjnuS5CRf5pZKHGWArWIg/8W30WHUVNZsHkuMpN8o56DWh2YyhnoWcnJycqYxfwFnuMfy36Me/wAAAABJRU5ErkJggg==;" vertex="1" parent="n.gate">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.promote" value="&lt;b&gt;Promote&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;pointer write&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="730" y="520" width="190" height="90" 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+gvaeTAAABu0lEQVRoge3XPWsVQRTG8Z8voKRQAyKkSVBT2VpoZ+F3sLESAyGVt1Kws7AL5CuIpEhMl0oJAVEs/ABKEIRUIaQxjSZFNBabizd7dy97bzLMrMwfTrFn2TnPMzuzZ4fM/8kcvuL7UaxhIqqiIdnBYSmehCh0fsC98aMYhYsVuQncGHKcfWyNIuAF/uifxRixgdvDiB9PSHw3dnGnqYHpBATXmbhbFnu2qasEuIx3SibaZAAu4S2muom2GaB4E7e6F2008EaxlGpJdRMfYsXg3gWuJyC0KpabiIdz2ExAcG8s1Yk/U2NiGh1ca+I4IL+wjkWFkUxy1C2hk/IKY6XcIlYD1Tt1dvVvxKchCrWxkR1j0BJ6gOeYHGHcKxVj7ykOKMPyG5/wCD+aPtQR/9tfjpdtFt9tZn2U90AHC02dpkCvgVktE89xAzPRVJyAXgPzisN8q+g1sIyHOIikZSTKm3gJj7XoTVR14teKppGaiS9VyUGd+D6e4WYQOc05wAfFJ/5nZC2ZPkKdBzq4UMq9x+dA9U6dfB5oSjYQm2wgNtlAbLKBGr5V5DZCFAr1K3EV9/yboG18DFQrE5W/V1Bki2L2FtoAAAAASUVORK5CYII=;" vertex="1" parent="n.promote">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.rollout" value="&lt;b&gt;Roll out&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;percentage or variant&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="330" y="520" width="190" height="90" 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+gvaeTAAAB1klEQVRoge3YPWgUQRiH8Z8eIoJB7PxAUYugKUSxia2loHYWAREEOwsFqzT2FnaiFn43NnaCdoKxMUokXYpgEwQRiSCxsYgpNqsLt7c7ezu6F5gHXjjYuf88784dzAyJRCKRaMGmhmNP4Nj653m8x+9/4BWdCczKZIs1h6MR8k/hKk5GyOrjMJb1y+f1w/BN9HC/kLWKmy19+5gxWD6vWc1+jmTyTwfk3YohDkcGTFBWxxvkVsnndT1GA+cbNHCxgfyTgLxlAau6ueb5aqBU6NgeHuJCwNht6+NbcUj4CkzUZIW++bwetJXPeRkw2evI8m+wPVYD+/C5YrKvspUaSfliEy9KJnuFg6MuX2Q/zuIcDtSMHTn5JvTwWLj8W4x1YlpCku+KJN8VSb4rknxXbHj5mNuDLbgk22fNyXa109i5EeR34cOA737B5CjL9/CuJuMb9sZq4F5EeZgKzLodQ34ysjw8C8xbqguqO9STXWyFMIPTWAkYuzswc4/m9019jOOXOG8+53lNXvHPHIUrFZMMc5K6XJFXrEft1f9yrWSCYY+BW7FQklesn7LVj8oUFvEdd7U7w47jk3L5FZxpZfqf2IEb+Ci7SlzEHdXXNIlEIpFI/GENRkO/7fvf6cgAAAAASUVORK5CYII=;" vertex="1" parent="n.rollout">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.observe" value="&lt;b&gt;Observe&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;guardrails + exposures&lt;/font&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="80" y="370" width="190" height="90" 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+gvaeTAAACEklEQVRoge3Yv2vUYBzH8dcVcSh0FEWxnaT4BxRcxEUXdbHaA3VTQXASBEUdnJwKgiA4KDj5YxOKCg4u/guCOihFUIuTIFLUtupwuSNek1yeSy6pkDc8kMvzPN983pc8yeVoaGhoaChAK7a9FW2MR5+X8ACrVYcaluf409fO15ooB2Ox7Z0J/ZNVBRmWTTUddzOuYca/l3Ea33EZb/s76hK4iCuBc77iVP/OsYSBVTA9xJzxpJ11CdzBShmF6hJ4iSP4WbRQWQLTOIgtAXOe4riCZ6KoQAvzeBMFeofZgPmPca9ghh6vrX+Q3cgY38KthDmrOJHzmGewllAjqT0qUyAtfIhESPhSBQaFj0ucLCl8aQIt3A446Arm+mqcxe+U8cu4jl+jEAgNH5do5wx/IBo3myBxv6jA1YyQH3EhCpsmcTdn+C79EqeLCjzMCL8rGtPOkEhrSeG77MFNOe9qgwSmsJgRvstcgERW+GDyLOJJvI/6lrA7pdYxyQsx3n7gUFnh8wrANpzDjgH1ss5Eqd98l9AncR6OWn8mlrG/YN1ERiEAh/ElqvcB+0qo2aOKN7In2K5z6X3WESmNql4p1/BpFIXreqEpjUagbgatgRlcqiJIAK/wLKkj6Ta6Udvebuj/9RKa6m7EBb7VEKQwcYGF2lKE0/vLP76I5zGh89t7oupEASziRd0hGhoaGho2Bn8B+OBdhYXDMsEAAAAASUVORK5CYII=;" vertex="1" parent="n.observe">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.decide" value="&lt;b&gt;Keep or revert&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;same mechanism, backwards&lt;/font&gt;" style="shape=hexagon;perimeter=hexagonPerimeter2;size=0.12;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;fontColor=#4a3c00;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="160" y="180" width="210" height="90" 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,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADE0lEQVRoge3ZXYhVVRQH8N9IjVkN4SiV9pBEZcQ8hJGQFZH0IT1FFBEUKEE9FUQF0kv0UARCQUTRx0OvPgSRWC8K+RD4IIaEEqWQOhCmaTN9UGM6PawRzr3efc+Zc/a9c4L5w4K79zlnrf//7L3XXXsfFrGwGCn8fhVbsKTQdwyPYGqefpdhOS6ba0/hN5yrR7MaDmK2h91V4dnbsRVf4WjCz984gE/xNFZmZY9DicB3J+4fw0t9niuzGXyO+4ctYBSv4FRN4r1sLzYMQ8A6MQ1yES/aOXyAywclYLOYx4MgX7TvcFNuAa/XIPIvTuNMjWdPiNHOIuDLikF/wtt4GKu7fI9iAi9gN85W8Hd67pnGAsrsAB7V+f9RhmvwnshE/Xwfx7WDEvAPXsQl8yDejRuxpyTOLhVfznwEnMD6BsSLGMVHJfGezyngZ9ySiXwRb/SJeQZXlzmoImAG9+TnjqjLtveJva3MQd1F3GtR110XV+LHhN/fRYE4cAGzIsvUxWN9/D77fxAwImqjXn6/7r55Prl7WJjF+4lrG3BFsaONAmCnKEW6cSnuLHYUBRzMFHxSpL0m+BXfJK7dWmwUs8UTuKphYPhTpNum2I97e/R3VKpFAec1f3M5cTTRP15stHUNwHSif6zYaLOApYn+junZZgErEv0dI9NmAWsT/ZPFRlsFjOC+xLXvh0mkLtZLlykdabStI/B4ov+4qFZbjVX4Q++3/+4C8qqMD6Wnzx0LyKsSHhJFXC/yqdqoNbhZ/0OwTbkCrcCDOr8tNMVaHJYmvzNXoDXiBG4WO+Q549+k/5ufxg0Z4nSQv2CTogyvk46vwyfSc/6CPdmMduB6F5Mv2iE8o/zsZonYFr4j9g1le+u3yohVncfb8HKF+86Ljci34gDs5FyMlWKRblThgGoOH+M5IaQx1sh7alFmb8qbJBDbzc8GTHxKrKmB4ikxPXKT/0KM9FAwhtfwSwbie/DAsIh3Y5kYkR34K0Gwlx0RX3Nua0og50IZFcXWhPhwMS5G6qw4mD2GH7BPpORFLKIN+A8inFqUS1sKqQAAAABJRU5ErkJggg==;" vertex="1" parent="n.decide">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.centre" value="&lt;b&gt;A behaviour change&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;one digest&lt;/font&gt;" style="rounded=1;arcSize=6;whiteSpace=wrap;html=1;fillColor=#f7f9fb;strokeColor=#c9d3de;fontColor=#42536a;fontSize=13;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="510" y="330" width="230" height="70" as="geometry" />
        </mxCell>
        <mxCell id="_ico8" 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+gvaeTAAACAUlEQVRoge3XOWhUURTG8V9i3JeIBtxQQUHFwsaFAUFMG7CwFAu1tRLFwqUVhDRqo1gKWggRxUIsBC0sFFyIhYgSGxeChbhjkjEWd4bIxHefmfcmAbl/OMVwDvd+351zueeRSCQSiUQikUhMFW0tXLsLe7ADS/Ad/ejDgxbuWwr78BGjGXELK6ZMXQ7HZQv/M95gTdHNirTQTvSgEx9wrybowgTW6McWDDcrohkDXbiK7py6X3iIR/iMhdiOTQ11B3G+CR1NMVc4tbz2uI616BB6fQOW19aoCKbqtY8nSzyczBE+ikOYh9MYbMgNCBd8Nm7iPa5NpoG3OeLPYoFwqrG6XuHfgTmC4ZazNEfUIObjYk5dPW7gKaq13y9x1Jix0tmVI+gUVmPkHw1kxW1ML1N4BXeMnVRj/MQlLMPhguLrcaQs8T0Yimx0GauwGPvxuiQDz8oQPxPvIpucqdWcEx6iMoTXYwTTihqoRDYYwAxcKVl44yXfWsRAd2TxY8Lj1Crx9ahib0xkeyT3JZJ7jvWxhUuiXWjRWbGCLJ7gVUZuGJ+a1zUhFmFjVjJmoIoD+PGX3Dq8EAa2yaDQu7DN+NHgbi3Xp/X34KuSRo2VQt9vFl5cwmidN/cUjRMxUWV8E3dgd81Yp/Ft2SZ8C2QxhG8ZufvCK59IJBKJRCKR+B/5Da1iV2qbPYDDAAAAAElFTkSuQmCC;" vertex="1" parent="n.centre">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_ring9" value="draft" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.author" target="n.seal">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="860" y="120" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring10" value="digest" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.seal" target="n.gate">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1160" y="310" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring11" value="verdict" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.gate" target="n.promote">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1060" y="530" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring12" value="live" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.promote" target="n.rollout">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="630" y="640" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring13" value="traffic" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.rollout" target="n.observe">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="190" y="530" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring14" value="signal" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.observe" target="n.decide">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="90" y="310" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_ring15" value="next version" style="curved=1;rounded=0;html=1;endArrow=block;endFill=1;strokeColor=#5a6570;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;" edge="1" parent="1" source="n.decide" target="n.author">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="390" y="120" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="The Release Loop — and Why Rollback Is Not a Special Case" 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="1160" 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="1160" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg16" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="740" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg17" value="Application we own" 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="740" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg18" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="200" y="740" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg19" 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="230" y="740" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg20" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="370" y="740" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg21" value="Decision point" 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="400" y="740" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="A rollback re-enters at Promote with an older digest. Nothing in this loop is rebuilt to go backwards." 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="770" width="1160" 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="790" width="1160" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Platform Architecture   ·   d 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="810" width="1160" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
