<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Feature Store — Data Flow" id="09-feature-data-flow">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1780" pageHeight="590" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="_st1" value="Emit" 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="180" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.ord" value="&lt;b&gt;Order events&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="140" width="180" height="50" 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+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.ord">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.cour" value="&lt;b&gt;Courier telemetry&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="230" width="180" height="50" 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+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.cour">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.tbl" value="&lt;b&gt;Warehouse tables&lt;/b&gt;" style="rounded=1;arcSize=8;whiteSpace=wrap;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="40" y="310" width="180" height="50" 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+gvaeTAAAB40lEQVRoge3Yz6sOURzH8dfjXlfuQkoW6ooiIUk2imRna+kvYCMLUlIsWNhYKFtZKUp3y80/YGOHKD+6RCGJErnyazF3MsbM85z73HnmTDnv+tQ0c2bm8znnzJyZL4lEIpH4n+k1dJ21mMJKfMFjvG7o2iNjChfwFL8q9ARnsTqWwTrGcE7W01XGy/qEo5ob7UWxAjPCjJd1DRPtW/7DOG4bznyuqyKOxPkAgyE6jD24IXtOPmMWV7B9VObX4WtDAb73OfYDZ4xglC41ZD5UJ5s038PLlgPMYUOIuSUBbTbJ3vltMoFDIQ1DArRtPmdvSKOQALFW0kXfdxlO4IV253+uOyEmx2v2b8U0tgTHbZ57w564Ex/E6fWynuE4loeaX4VXHTBe1kNsCwlwuQNm6/RuUIg1+NYBo/30SGk6FV+jB7G0X8IOsBlH6g5Oi9/DIZotmi6OQKwVd6Gsl33e4O8AUf+WFsjGfKMYoPNVhAKT+UYxwIMIRoblTdXO3eI/oCGakxUX/qGHux0wOEg3q8zn7JP9l8Y2Waef2NUvAJzqgNE6XRxknmwqnZ5PG9twUdfVf/5Xsh/3O2D8I46pKbUMqr+MzQc5gB2y1Xqy7xnN8BbPcUtWknzfwj0TiUQikWif37lJeEKjXHZHAAAAAElFTkSuQmCC;" vertex="1" parent="n.tbl">
          <mxGeometry x="9" y="15" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st5" value="Land" 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="350" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.log" value="&lt;b&gt;Stream log&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Kinesis, 7 days&lt;/font&gt;" style="shape=process;size=0.08;whiteSpace=wrap;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=middle;align=center;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="350" y="150" width="170" 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,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;" vertex="1" parent="n.log">
          <mxGeometry x="21" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.raw" value="&lt;b&gt;Raw landing&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;S3, as given&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="350" y="270" width="170" 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+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.raw">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st8" value="Compute" 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="650" y="60" width="180" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.flink" value="&lt;b&gt;Stream aggregates&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;Flink, 1 m – 24 h&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="650" y="90" width="180" 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,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;" vertex="1" parent="n.flink">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.batch" value="&lt;b&gt;Batch transforms&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;EMR Serverless&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="650" y="210" width="180" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico10" 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.batch">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.guard" value="&lt;b&gt;Contract guard&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;quarantine&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="650" y="330" width="180" 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.guard">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st12" value="Materialise" 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="950" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.off" value="&lt;b&gt;Offline store&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;event + ingest ts&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="950" y="150" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico13" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.off">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.on" value="&lt;b&gt;Online store&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;latest value + ts&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="950" y="270" width="170" 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+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.on">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st15" value="Serve" 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="1250" y="60" width="190" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.vec" value="&lt;b&gt;Vector read&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;p99 15 ms&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="1250" y="150" width="190" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico16" 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.vec">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pit" value="&lt;b&gt;Point-in-time join&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;as-of spine&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="1250" y="270" width="190" 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+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.pit">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_st18" 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="1570" y="60" width="170" height="20" as="geometry" />
        </mxCell>
        <mxCell id="n.slog" value="&lt;b&gt;Serving log&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;1% sample&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="1570" y="150" width="170" height="90" as="geometry" />
        </mxCell>
        <mxCell id="_ico19" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.slog">
          <mxGeometry x="12" y="39" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.replay" value="&lt;b&gt;Skew replay&lt;/b&gt;&lt;br&gt;&lt;font style=&quot;font-size:10px;color:#5b6b7d&quot;&gt;nightly verdict&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="1570" y="270" width="170" height="90" 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+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.replay">
          <mxGeometry x="9" y="33" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_spine21" value="" style="html=1;endArrow=block;endFill=1;strokeColor=#b8c4d0;strokeWidth=2;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="230" y="250" as="sourcePoint" />
            <mxPoint x="340" y="250" as="targetPoint" />
          </mxGeometry>
        </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="530" y="250" as="sourcePoint" />
            <mxPoint x="640" y="250" 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="840" y="250" as="sourcePoint" />
            <mxPoint x="940" y="250" 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="1130" y="250" as="sourcePoint" />
            <mxPoint x="1240" y="250" 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="1450" y="250" as="sourcePoint" />
            <mxPoint x="1560" y="250" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_e26" value="pass" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.guard" target="n.off">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="890" y="380" />
              <mxPoint x="890" y="200" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_e27" value="rebuild" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.off" target="n.on">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e28" value="sample" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;endArrow=open;endFill=0;strokeColor=#d79b00;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;verticalAlign=bottom;fontFamily=Segoe UI;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.vec" target="n.slog">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_e29" value="as-of compare" style="edgeStyle=orthogonalEdgeStyle;rounded=1;html=1;jettySize=auto;orthogonalLoop=1;dashed=1;dashPattern=1 4;endArrow=block;endFill=1;strokeColor=#9673a6;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.replay" target="n.off">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1660" y="60" />
              <mxPoint x="1040" y="60" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Feature Store — Data Flow" 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="1690" 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="1690" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg30" value="" style="rounded=1;arcSize=30;html=1;fillColor=#f5f5f5;strokeColor=#8c8c8c;" vertex="1" parent="1">
          <mxGeometry x="40" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg31" value="External / third party" 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="490" width="130" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg32" value="" style="rounded=1;arcSize=30;html=1;fillColor=#ffe6cc;strokeColor=#d79b00;" vertex="1" parent="1">
          <mxGeometry x="230" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg33" value="Queue / topic" 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="250" y="490" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg34" value="" style="rounded=1;arcSize=30;html=1;fillColor=#d5e8d4;strokeColor=#82b366;" vertex="1" parent="1">
          <mxGeometry x="360" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg35" 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="380" y="490" width="70" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg36" value="" style="rounded=1;arcSize=30;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;" vertex="1" parent="1">
          <mxGeometry x="470" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg37" 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="500" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg38" value="" style="rounded=1;arcSize=30;html=1;fillColor=#e1d5e7;strokeColor=#9673a6;" vertex="1" parent="1">
          <mxGeometry x="630" y="490" width="20" height="10" as="geometry" />
        </mxCell>
        <mxCell id="_lg39" 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="660" y="490" width="110" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg40" value="" style="html=1;endArrow=none;dashed=1;dashPattern=1 4;strokeColor=#9673a6;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="800" y="500" as="sourcePoint" />
            <mxPoint x="820" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg41" value="batch" 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="820" y="490" width="40" height="20" as="geometry" />
        </mxCell>
        <mxCell id="_lg42" value="" style="html=1;endArrow=none;dashed=1;strokeColor=#d79b00;strokeWidth=1.4;" edge="1" parent="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="880" y="500" as="sourcePoint" />
            <mxPoint x="910" y="500" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="_lg43" value="event / async" 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="910" y="490" width="80" height="20" as="geometry" />
        </mxCell>
        <mxCell id="note" value="The only loop closes left: sampled serving vectors are replayed against the offline path to prove the two agree." 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="520" width="1690" 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="540" width="1690" 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="550" width="1690" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
