<mxfile host="app.diagrams.net" version="24.7.17" type="device">
  <diagram id="08-rollout-containment" name="Rollout decision gates and incident containment">
    <mxGraphModel dx="1200" dy="850" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1200" pageHeight="850" background="#F7F4EC">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="title" value="Rollout decision gates and incident containment" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=28;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="22" width="1110" height="45" />
        </mxCell>
        <mxCell id="subtitle" value="Advance on evidence; re-enter only after affected acceptance gates pass." style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=16;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="70" width="1110" height="32" />
        </mxCell>
        <mxCell id="footer" value="Recommended rollout. Accountable owners sign the evidence packet; incident containment includes backend and in-flight work." style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;fontSize=13;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="787" width="1110" height="40" />
        </mxCell>
        <mxCell id="edge0" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="g0" target="g1">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label0" value="design proof" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="270.4" y="144" width="79.19999999999999" height="18" />
        </mxCell>
        <mxCell id="edge1" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="g1" target="g2">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label1" value="ENFORCE tests" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="557.6" y="144" width="84.8" height="18" />
        </mxCell>
        <mxCell id="edge2" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="g2" target="g3">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label2" value="isolation proof" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="842.0" y="144" width="96.0" height="18" />
        </mxCell>
        <mxCell id="edge3" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="g3" target="g4">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label3" value="correctness proof" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="981.4" y="299.0" width="107.19999999999999" height="18" />
        </mxCell>
        <mxCell id="edge4" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="g4" target="g5">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label4" value="approval + DR proof" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="830.8" y="364" width="118.39999999999999" height="18" />
        </mxCell>
        <mxCell id="edge5" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#E4A83A;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="g4" target="stop">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label5" value="incident" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="1006.6" y="539.0" width="56.8" height="18" />
        </mxCell>
        <mxCell id="edge6" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#E4A83A;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="g5" target="stop">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="745" y="570" />
              <mxPoint x="890" y="570" />
              <mxPoint x="890" y="697" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="label6" value="incident" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="789.1" y="548.0" width="56.8" height="18" />
        </mxCell>
        <mxCell id="edge7" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#E4A83A;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="g2" target="stop">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="745" y="310" />
              <mxPoint x="1190" y="310" />
              <mxPoint x="1190" y="697" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="label7" value="any live phase" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="922.3" y="288.0" width="90.39999999999999" height="18" />
        </mxCell>
        <mxCell id="edge8" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="stop" target="rec">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="865" y="697.5" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="label8" value="effective denial" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="839.2" y="675.5" width="101.6" height="18" />
        </mxCell>
        <mxCell id="edge9" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="rec" target="fix">
          <mxGeometry as="geometry" relative="1" />
        </mxCell>
        <mxCell id="label9" value="known outcomes" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="554.8" y="624" width="90.39999999999999" height="18" />
        </mxCell>
        <mxCell id="edge10" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="fix" target="entry">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="285" y="691.0" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="label10" value="tests pass" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="276.0" y="669.0" width="68.0" height="18" />
        </mxCell>
        <mxCell id="edge11" value="" style="edgeStyle=none;rounded=0;html=0;endArrow=block;endFill=1;strokeWidth=2;strokeColor=#142B49;fontColor=#142B49;fontFamily=Helvetica;fontSize=12;labelBackgroundColor=#F7F4EC;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="entry" target="g1">
          <mxGeometry as="geometry" relative="1">
            <Array as="points">
              <mxPoint x="165" y="450" />
              <mxPoint x="310" y="450" />
              <mxPoint x="310" y="211" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="label11" value="repeat affected gates" style="text;html=0;align=left;verticalAlign=middle;whiteSpace=wrap;strokeColor=none;fillColor=none;fontFamily=Helvetica;fontColor=#142B49;align=center;fontSize=11;fillColor=#F7F4EC;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="245.2" y="308.5" width="129.6" height="18" />
        </mxCell>
        <mxCell id="g0" value="G0 · FOUNDATION&#10;Security architect" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="170" width="240" height="82" />
        </mxCell>
        <mxCell id="g1" value="G1 · ISOLATED VALIDATION&#10;Platform owner" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="335" y="170" width="240" height="82" />
        </mxCell>
        <mxCell id="g2" value="G2 · TENANT READS&#10;Domain owner" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="625" y="170" width="240" height="82" />
        </mxCell>
        <mxCell id="g3" value="G3 · REVERSIBLE WRITES&#10;Product owner" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="915" y="170" width="240" height="82" />
        </mxCell>
        <mxCell id="g5" value="G5 · SCALE / REVIEW&#10;Platform + SRE" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="625" y="390" width="240" height="82" />
        </mxCell>
        <mxCell id="g4" value="G4 · CONSEQUENTIAL WRITES&#10;Business risk owner" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="915" y="390" width="240" height="82" />
        </mxCell>
        <mxCell id="stop" value="CONTAIN&#10;Forbid + backend stop" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#E4A83A;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="915" y="650" width="240" height="95" />
        </mxCell>
        <mxCell id="rec" value="RECONCILE + PRESERVE&#10;Determine effects / exposure" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="625" y="650" width="240" height="82" />
        </mxCell>
        <mxCell id="fix" value="REPAIR + REVALIDATE&#10;Root cause / isolation tests" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#F7F4EC;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="335" y="650" width="240" height="82" />
        </mxCell>
        <mxCell id="entry" value="GATED RE-ENTRY&#10;Independent acceptance" style="rounded=0;whiteSpace=wrap;html=0;fillColor=#E4A83A;strokeColor=#142B49;strokeWidth=2;fontColor=#142B49;fontFamily=Helvetica;fontSize=15;align=center;verticalAlign=middle;spacing=10;" vertex="1" parent="1">
          <mxGeometry as="geometry" x="45" y="650" width="240" height="95" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
