<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Rules as Code — From a Pull Request to an Enforcing Assertion" id="17-rules-as-code-pipeline">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1880" pageHeight="470" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Author" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.pr" value="&lt;b&gt;Pull request&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;rule DSL&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="40" y="90" width="200" height="70" 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+gvaeTAAAC5UlEQVRoge2ZPWgUQRiGH8O5+bkIWhlQTxA0TUALBbGyUgvF/5/GoGCjhYhoBAtBFAsbCytt7ARjUijaKHKKJxhUECKKBtRoc7Hy9/wJ5iy+OXcymb3d2ezeIe4Lw83tN/N+37s7N3fzHmTIkCFDBHjAujSIW9IgNeAB/cDaNMjjCJgNLAMWAzNCxnrAVWBjjDyJowAMAuNAVbV3wL6A8R5wXRt7rgE1BmIRUNaKMdtZY7xZfGoCwpZADUVgterfQp7EPOAgsqRQ8XtI8QPABoNjBHiq+hXgDVAC7gK/XQt3QTf+XbxixJYCv1TsMvY7H9ZGgd1pCtiqJVtjiZdU7GWM4vV2iegr4i+i7EIVrd9hiefV62fgmWsBGvYAJ6cxPxBz8ZfJENCpxbbj38Hz6toZ4j+Fn8hulzguaklGgQvADWBCXasAS7TxNhEl4Jhqp4HXASL60hCQB+4HJPwB7LDMMUWY2+gc4K2FbzDx6hVmAq8sCffWmaOLsH0P9Fn4HrgU5fJTYhz4arn+sc6c48CpOvERy7V2h5rIuQyOiRPqdVYa5I0QACKiJw3iRvycrmE63xGBaKSAVJAJaDYyAc1GJqDZyAQ0G5mAZuOfF+CCXuToaB5Aisi52RVdiCdk8lVIwWbZhn/+rSJGlJ70MdDmwNcGPDE4dM4JYEtCtZNDPNAq8AXYCbQCC5nsA+134DygzbuGOBGtwC6Vo+a7JnJeWaUlO2rE8sCYit124Lyj5pSZ6jXp5+SVYURRPsTztf6QEfsGDKv+gghcJucwk40zgIdaP9QjiiJgTOsvN2Lt+EfFcgQuk7OHqYf4FVrfhTMQHvABeaSfgE3I2uxCPJza4z7swHlEmzeA7GI5YLPKUUVEekkIAPEtTTNLf/8cu28ahA7gRQhnbzKl+zhkSVIFHhHPzywg26/J9x353yESXO3sAmIjdiPbXRG4iezbcdACrEf+HOlELPp+4H1MvgwZ/jv8Ad6ACv5bWXJ6AAAAAElFTkSuQmCC;" vertex="1" parent="n.pr">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.lint" value="&lt;b&gt;Lint + schema check&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;pre-commit&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="40" y="190" width="200" height="70" 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.lint">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st4" value="Compile" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="300" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.comp" value="&lt;b&gt;Plan compiler&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;must be bounded&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="300" y="90" width="200" 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+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.comp">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.est" value="&lt;b&gt;Cost estimate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;$ / run, posted to PR&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="300" y="210" width="200" 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+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.est">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st7" value="Gate" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="560" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.tierg" value="&lt;b&gt;Tier policy check&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;may this block?&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="560" y="90" width="200" height="90" 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+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.tierg">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.own" value="&lt;b&gt;Owner approval&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;CODEOWNERS&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="560" y="210" width="200" height="90" 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+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.own">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st10" value="Publish" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="820" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.cat" value="&lt;b&gt;Rule catalogue&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;new assertion version&lt;/font&gt;" style="shape=cylinder3;boundedLbl=1;backgroundOutline=1;size=11;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="820" y="90" width="200" height="90" 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,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;" vertex="1" parent="n.cat">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.prob" value="&lt;b&gt;Probation set&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;advise for 30 days&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="820" y="210" width="200" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico12" 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+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.prob">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st13" value="Prove" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1080" y="60" width="230" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.bf" value="&lt;b&gt;Automatic backfill&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;30-day lookback&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="1080" y="90" width="230" height="90" 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+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.bf">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.rep" value="&lt;b&gt;Would-have-failed report&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;posted to the PR thread&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="1080" y="210" width="230" height="90" 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,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.rep">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st16" value="Enforce" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1370" y="60" width="210" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.prom" value="&lt;b&gt;Promote action&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;advise → quarantine/block&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="1370" y="90" width="210" height="90" 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+gvaeTAAADLElEQVRoge3YT6hVVRTH8c97vjQyjVQESStCkEQQChV0GIqBg8AMI4IgUpyIRjNp0MgiB0YY4UghrYEURCQIWj2I6I8mBAlF+F9LB5mK9krvbbDvrdtxn3/3nXfOE/zC5vHO2nvt39rnrn3W3tyhWQZK9l+I57EY9+ICPsMu/FapsoqZiHdxE+1Iu4KXGlOXwyA+FheebJsa0pjJRsXEt3EDC5qRGWcQ5xQPoI09dQrMS+LF+Dry/Bd8gTWYkrD9gfuFYPJY2GmTcQbDnfGV8Yz4Kj/Ssa9Lsc/I8bsCP0TGjeAdYQEKMZhjT1vFmYm/SVoZPjdiv3iuTMQGfIUHcrQVYoH4Cl/Ftx2hSdu5DH9PSt+Kk+0bTBhtAAP4seCE3fZ2hb5eGG0AsLrEhJcxO8XPooxxsTfZxsEqAoA3C4gfwaoMH+tTxq3EPfgkYvu9qgAIyXUpRcQxLMsZ/0pk3HUMdewvR+w3la/XMpmCzxOTbFUs2Z6LCGxjr7A4sQ/m6SrFd3k/MUnRIm62UGqUSeLdeU7zvgNVcgb7SvRv4a28TnUGAJtxtmDfN3Akr1PdAZzHE/gpo09LEL9lrET0mwO93C2cHc4mfA1jSRlHdb+BLn9iu7D99rJTvPpNpakACFvv/MSzovnxL00GsBazev6/ge/KOhnK71I5A3gKOxLPPxUuB0pRRwD3YY7wc3kcT/vvQNSlhdf7cV5VAEPC8XMp5uIhPIiHhUItj63CIaYWktvol/hVuRKht1h7rS7hXZIB9Ct8v5J7fow6cqAlXDsex2Fhpzkk1EajpsoAruGAcJY9IZTCp4Ty4e8K5xk1sZ/QDkxtUlQRJuNVXPR/8dfwrIpPTlUzDz/LTswPcVdTArOYgZOK7S4fGIdvYqdyW+SaZmTGmSrcHJQJYLgRpSksFxf5nlCQHY3Y/sKkJsTGSLsKmdaxp91ez7rF0xiRdx5Iuxl7URC5NmJrZ4yrnZnK3+V8X6fAvDdwQSi6yrCrPyljx6PCSanI6h81jhK4l5XC1XmW+GPCQWbcMg8fuTUnLmObcHSsnX4++9PxmCD4vFDfj1Qp6g63E/8AKx6wsTVHQH0AAAAASUVORK5CYII=;" vertex="1" parent="n.prom">
          <mxGeometry x="19" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.live" value="&lt;b&gt;Live in the gate&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;with FP tracking&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1370" y="210" width="210" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico18" 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+gvaeTAAACnUlEQVRoge3az4tNYRzH8ZeZ8TMLSZPxowizUBLyI0lSilLIH0DWs7CQtY0U2ZBIWVlQbAaJhWJhRrKxUUp+lTt+pDB+jDGGxbm3rjv3jOfe+5xzNvOpb/d07vN8v+/PPec5zznPuUyoWE2KnGsttmIlFmEGfuELnuIObmMwYt2WNRk9eIY/ATGEa1hTBGytdkp+2RDw2hjFZczPnVpyuhwpQzQDXx0lrM8Tvg0XI4BXxw/sysvA0QCgl+jFOfQHmviG1VnD75F+2oziElbV9JmCd4EmXmNOVvDT8Sal8HtsTuk3B58DDfzB6awMHEopWMLiqnZtkqvTGdyQmGtkPAxjaWz4jhSQn/69gqzA4waB68XZ2Aa2pBSqPtyrJTNujKtSSXIko+lknSIj6Cp/Pw0vIsFXYkMIWKjLesn6MFDe3i+594mpTSGNQg101dnXX7W9OzBPI1oS0ijUwNw6+95UbXcH5mlEs0IahRqod9s9r/zZiQWBeRrRSMxkL40dZL9xUzJ7xhy8lTgRAhZ6BAbq7GvDDiwMzNGoSiGNQg30tQDSrO7HTLZNNqdJWnwQeSKbirc5GjgfE76iwznBj2BZFgZmyucoXMgCvqLt4jwHp8VrzM7SABzPCH4YG7OGJ3k2uJuBgYN5wFfUhY8R4XvzhK9oX5OwtfFJQYtbcC8A8H/Rkzt1ldZp7ar0XLLsUqhuad7AgQJ4x2iv5uAHJZNjS+poNYFkqfyYxm++nuBrhPoTKlSxXjFdEfgQXqXrONVq4RhjgGRht7PBPk9jFI761FOEYhkYbqJPlGWTWAYeNtHnQaTaUdSN78InsX60F0I6jtJegNTGEJYXxDiu2nHV+PDDktvwaIr5V4NKvg3qr5WO4hFeRa45oUL1F4RjSvd3c7OYAAAAAElFTkSuQmCC;" vertex="1" parent="n.live">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st19" value="Watch" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontStyle=1;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="1640" y="60" width="200" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.fp" value="&lt;b&gt;FP rate monitor&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;trailing 30 days&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="1640" y="90" width="200" height="70" 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+gvaeTAAAD+UlEQVRoge3YW4iVVRQH8N+MOWpaWo0+WDgIQnYPLYosCCohLCPD7AKhREZQ0ENUJHRDEcoKqpceuj1UEBEJWWAXCoqiG5iFpZMDEV4yKjSmnLGmh/Udzuc33+0cp+nl/GG9rL3W2mvtvfbaa2866KCDDjoI9OEmTEzxTsFy9PwvHtVEN9ZiCCN4CCdjLvoT3g9YlKfc1eakk7EQszATg9iHbfixRVuL8FENua9xVou2c9GDb8TKZOkQrmrR3kR8X2AvTffkKXe37D7zcFrB2AQsbdHeHMyuIXdeHrOdACYc4XgD03EJHsG0FP8VLMFKkZINXI1VCgJpBUuVb/VmTKlh5/kc3TczMn04mCN3fpXxS0U1mJ/inYN3K5xv0F7cjaMS3R7cKvJ4asJ7L0fvthxftuTILS9z/jL8nQgO4Qms0SxzrdCnIhV2pHibROpuzJF/LOPLZPyaI3d5kfMn4ec2HG2V7sOFeAbbU/wDIv9hBl7O6G3EBiUp+s44ON8otwuSOZfkjA9iOMPrd/gtPQpXjJPzDXo/NfdXNeRXlzkPb7fhxCC+w09tBnEqzqwpm3tbp++BVtqKnVgh8nS+ODuniwPaCrqxC1tTvA9wP+7FnwlvRKR3KebgDfyjfCUGcGyBjS48V6E/InZsZUpvEu4U90Bfin8LXlXQyBVhgViVoslvrNCfit0l+usSh/9T7CyY/KB6t+yTBfojWDaWjhb1QjML+Ls087IMO0rGZtXQr42iAP4o4E+vaXdGydiBmjZqIS+ALnF95+E4NRop0WUW4bca+m1jCT5XXkE+1GzS8nCB8kp2AOvRm9GbZPTinCDKcy2srXA8Ta+J3cjiIsUFIEt7NM/aCs3KtyrhdeGThPeWKPOjkL68PsO5daMVqfC66FGm4WIt1mvR+f4udr2BYbGDww5/6HxR5d8a7bUD7dI+HI1jxG5UyWdbbRx+iJ9ODI0X1oleqke8P6pQ66m6THUrMRb0sSgEfXgqM/Yl7sKjIk0b/EMiRY+vCuLxjMHd4nHdjqNDootM8/bixJx5RsQ5TPf8Z2u+Dhs0rPhXhMTAS6IqrBc5OiVZqayxMtqmeegWi4PaL15i5D+e7sjx59scuWvKAijDPLxY4fgArlWds5tydB/IyDTa7azcle0GAGdUBPBCTTvXi11JP9r3iEUiSvzDGdvbxc9IUa82rgE0cHNGf0ichYEM/xeRzkeMXvmfTQ16sEV73eLjtupM3Z6n3O7v9GLcIFrjXvwlLqat4qtwsAVbc8XnbumPg3itjcr9sqasDJsTGivsF40b8UmwRVS86zQv2/1jON+YYzaeFW/lhSn+BnFwV2s/WzrooIMOOijGv2hVX3koN3LcAAAAAElFTkSuQmCC;" vertex="1" parent="n.fp">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.demote" value="&lt;b&gt;Auto-demote&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;&gt; 5% → advise&lt;/font&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#5c1a17;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1640" y="190" width="200" height="70" 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+gvaeTAAACo0lEQVRoge2YTYiNURjHf2MuNb5iNsTMpNxSruQjG3ai1N1YSBasWFAsJspCIbGZhRILq1usFLJQGslqdkj5SNgw02AzikEz4ToWZ97mveOc93y975xb3n89Nd3p+T+/Z+b03HMeKFXq/1Zngd41oA6sAoaB3wXWylUdwGVApGIU2BwTykVHaIVPYhhYGJHLSkuBMdQNCOBCPDQ7XUEPL4BJoBqNzqC1wC+yGxDArViAJt3HDJ/EzkiMWu3GHl4AL4FKFFKF5gFvcWtAAIdjwKp0End4AXwGuiPwtmgZ8AW/BgRwcfaRW9XAH14gp1Zt1qmntBFoGgBt4kEIREdA3hCwTfG7JvAc+DPj8+XASo1fHbjnyeKlfbif68XIG6kq5zUwt1jkaXUB7zUgWfedTuR/RZfXXyR0WmczIATyKq3SEkPeV+QxK1Q9wHcDyDVNbp8hTwBXC2QH4IYFxB1N7jqL3CYFPny2kn2Gk3iYkW8zVofwn45azQEeWQI81njssswXwJ68GzjoUPyNxmOvg8cIMD8v+EXAR4finzQ+hxw8BHAqrwYGHAv/0Pj0e/j0hcJXke9Yl8IC9WPljIfPdROgabHVwO+2OAlMACumogocR16/XbQeGAQ+eDCwHfe/WBHxBDkFnVRBvlt9i44Bx4BNyPF5O7CJA64NHA0oNg6sVnheCvAcxWGr1418r/oWG9D4LgB+Bviet21g5mLWNfZneL8K8J1AbrozVcNuu5YVpzXeFeRsD/G+aWpgMLCAQH5rq9YlJ3LwFsAOHXw9pwICeIEcw11AL3COsPOfjqdobqt3c2yg6NiSQKe/IHpUXbWpepMf0g08iwDiI4Fc2/yjNcA34h8PUzSyutuAnETjbQCajibwDjmi22YtX6pUqRz0FyGU+wg7R1qJAAAAAElFTkSuQmCC;" vertex="1" parent="n.demote">
          <mxGeometry x="9" y="23" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_spine22" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="250" y="190" as="sourcePoint" />
            <mxPoint x="290" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine23" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="510" y="190" as="sourcePoint" />
            <mxPoint x="550" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine24" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="770" y="190" as="sourcePoint" />
            <mxPoint x="810" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine25" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1030" y="190" as="sourcePoint" />
            <mxPoint x="1070" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine26" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1320" y="190" as="sourcePoint" />
            <mxPoint x="1360" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_spine27" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="1590" y="190" as="sourcePoint" />
            <mxPoint x="1630" y="190" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e28" value="rework" 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.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.demote" target="n.pr">
          <mxGeometry relative="1" x="-0.9" as="geometry">
            <Array as="points">
              <mxPoint x="1740" y="190" />
              <mxPoint x="140" y="190" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e29" value="refused" 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.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tierg" target="n.pr">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="660" y="60" />
              <mxPoint x="140" y="60" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Rules as Code — From a Pull Request to an Enforcing Assertion" 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="1790" 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="1790" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="40" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" 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="370" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="" style="rounded=1;arcSize=30;html=1;fillColor=#fff2cc;strokeColor=#d6b656;" vertex="1" parent="1">
          <mxGeometry x="200" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" 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="230" y="370" width="90" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="340" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" 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="370" y="370" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="500" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" value="Data store" 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="530" y="370" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="620" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" value="Opportunity" 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="650" y="370" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f8cecc;strokeColor=#b85450;" vertex="1" parent="1">
          <mxGeometry x="740" y="380" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg41" value="Risk / gap" 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="770" y="370" 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="860" y="380" as="sourcePoint" />
            <mxPoint x="880" y="380" 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="880" y="370" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="Nothing reaches the gate without having been run against history first. The would-have-failed report is the artefact that forces the discovery-or-bad-rule question to be answered by a person before enforcement." 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="400" width="1790" 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="420" width="1790" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Data 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="440" width="1790" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
