Files
conti-docs/Architecture-Diagram/system-architecture-diagram.drawio

808 lines
70 KiB
Plaintext

<mxfile host="Electron" agent="Codex" compressed="false" pages="3">
<diagram id="system-overview" name="System Overview">
<mxGraphModel dx="2513" dy="1405" grid="1" gridSize="8" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2384" pageHeight="1504" background="#FFFFFF" math="1" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="100" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=32;fontStyle=1;fontColor=#0f172a;" value="Continental Retail APP System Overview" vertex="1">
<mxGeometry height="40" width="760" x="80" y="36" as="geometry" />
</mxCell>
<mxCell id="101" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontColor=#475569;" value="Capability ownership view: the app uses one main backend domain, while Mini backends and F6 stay independent." vertex="1">
<mxGeometry height="24" width="980" x="80" y="80" as="geometry" />
</mxCell>
<mxCell id="102" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#cbd5e1;strokeWidth=1.2;" value="" vertex="1">
<mxGeometry height="1248" width="2256" x="64" y="128" as="geometry" />
</mxCell>
<mxCell id="103" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#e0f2fe;strokeColor=#7dd3fc;strokeWidth=1.5;" value="" vertex="1">
<mxGeometry height="928" width="416" x="112" y="184" as="geometry" />
</mxCell>
<mxCell id="104" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;" value="" vertex="1">
<mxGeometry height="928" width="520" x="560" y="184" as="geometry" />
</mxCell>
<mxCell id="105" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#dcfce7;strokeColor=#22c55e;strokeWidth=1.5;" value="" vertex="1">
<mxGeometry height="928" width="520" x="1112" y="184" as="geometry" />
</mxCell>
<mxCell id="106" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#ffedd5;strokeColor=#f97316;strokeWidth=1.5;" value="" vertex="1">
<mxGeometry height="928" width="608" x="1664" y="184" as="geometry" />
</mxCell>
<mxCell id="107" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;fontSize=26;fontStyle=1;fontColor=#0f172a;" value="Mobile App" vertex="1">
<mxGeometry height="28" width="192" x="224" y="206" as="geometry" />
</mxCell>
<mxCell id="108" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;fontSize=28;fontStyle=1;fontColor=#1d4ed8;" value="App Backend" vertex="1">
<mxGeometry height="28" width="176" x="732" y="206" as="geometry" />
</mxCell>
<mxCell id="109" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#15803d;" value="Mini Program Backend Domain" vertex="1">
<mxGeometry height="28" width="360" x="1192" y="206" as="geometry" />
</mxCell>
<mxCell id="110" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;fontSize=26;fontStyle=1;fontColor=#c2410c;" value="F6 Supplier Domain" vertex="1">
<mxGeometry height="28" width="200" x="1868" y="206" as="geometry" />
</mxCell>
<mxCell id="111" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontStyle=1;fontColor=#0f172a;" value="App Shell and Entry" vertex="1">
<mxGeometry height="24" width="220" x="144" y="258" as="geometry" />
</mxCell>
<mxCell id="112" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontStyle=1;fontColor=#1d4ed8;" value="Context and Control" vertex="1">
<mxGeometry height="24" width="220" x="592" y="258" as="geometry" />
</mxCell>
<mxCell id="113" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontStyle=1;fontColor=#15803d;" value="Retained Business Systems" vertex="1">
<mxGeometry height="24" width="240" x="1144" y="258" as="geometry" />
</mxCell>
<mxCell id="114" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontStyle=1;fontColor=#c2410c;" value="Supplier Pages and APIs" vertex="1">
<mxGeometry height="24" width="240" x="1696" y="258" as="geometry" />
</mxCell>
<mxCell id="115" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#38bdf8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Login / Agreement / App Shell&#xa;Single mobile entry for store users" vertex="1">
<mxGeometry height="96" width="352" x="144" y="296" as="geometry" />
</mxCell>
<mxCell id="116" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#38bdf8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="WebView + JSBridge&#xa;Embedded WebView only for F6 pages" vertex="1">
<mxGeometry height="88" width="352" x="144" y="424" as="geometry" />
</mxCell>
<mxCell id="117" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#38bdf8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Native Capabilities&#xa;Scan, camera, upload, Bluetooth, notifications" vertex="1">
<mxGeometry height="88" width="352" x="144" y="544" as="geometry" />
</mxCell>
<mxCell id="118" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#38bdf8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Store-Aware Session Holder&#xa;Keeps current store and role locally" vertex="1">
<mxGeometry height="88" width="352" x="144" y="664" as="geometry" />
</mxCell>
<mxCell id="119" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Auth and Token Center&#xa;Login, refresh, logout, identity trust" vertex="1">
<mxGeometry height="96" width="456" x="592" y="296" as="geometry" />
</mxCell>
<mxCell id="120" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Store Context + Menu + Permission + Config&#xa;Owns current store, role scope, menu baseline" vertex="1">
<mxGeometry height="96" width="456" x="592" y="424" as="geometry" />
</mxCell>
<mxCell id="121" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Workbench Aggregation&#xa;Builds home tiles, reminders, and summary views" vertex="1">
<mxGeometry height="88" width="456" x="592" y="552" as="geometry" />
</mxCell>
<mxCell id="122" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Business Orchestration&#xa;Normalizes order, procurement, and workflow context" vertex="1">
<mxGeometry height="88" width="456" x="592" y="672" as="geometry" />
</mxCell>
<mxCell id="123" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#ea580c;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="WebView Ticket and Signing Entry&#xa;Prepares supplier session and trace context" vertex="1">
<mxGeometry height="88" width="456" x="592" y="792" as="geometry" />
</mxCell>
<mxCell id="124" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#22c55e;strokeWidth=1.5;fontSize=20;fontStyle=1;fontColor=#1e293b;" value="O2O" vertex="1">
<mxGeometry height="72" width="168" x="1160" y="316" as="geometry" />
</mxCell>
<mxCell id="125" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#22c55e;strokeWidth=1.5;fontSize=20;fontStyle=1;fontColor=#1e293b;" value="Warranty" vertex="1">
<mxGeometry height="72" width="168" x="1392" y="316" as="geometry" />
</mxCell>
<mxCell id="126" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#22c55e;strokeWidth=1.5;fontSize=20;fontStyle=1;fontColor=#1e293b;" value="马上下单" vertex="1">
<mxGeometry height="72" width="168" x="1160" y="420" as="geometry" />
</mxCell>
<mxCell id="127" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#22c55e;strokeWidth=1.5;fontSize=20;fontStyle=1;fontColor=#1e293b;" value="ROOS" vertex="1">
<mxGeometry height="72" width="168" x="1392" y="420" as="geometry" />
</mxCell>
<mxCell id="128" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#f0fdf4;strokeColor=#86efac;strokeWidth=1.4;fontSize=16;fontColor=#166534;" value="Retained source systems&#xa;Still own historical business data and workflows" vertex="1">
<mxGeometry height="96" width="400" x="1160" y="548" as="geometry" />
</mxCell>
<mxCell id="129" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#22c55e;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Representative examples&#xa;Home data, warranty lookup, order support, rebate data" vertex="1">
<mxGeometry height="88" width="400" x="1160" y="676" as="geometry" />
</mxCell>
<mxCell id="130" parent="1" style="shape=document;boundedLbl=1;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#f97316;strokeWidth=1.5;fontSize=20;fontStyle=1;fontColor=#1e293b;" value="F6 WebView Pages" vertex="1">
<mxGeometry height="88" width="224" x="1712" y="308" as="geometry" />
</mxCell>
<mxCell id="131" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#f97316;strokeWidth=1.5;fontSize=20;fontStyle=1;fontColor=#1e293b;" value="F6 Capability APIs" vertex="1">
<mxGeometry height="88" width="224" x="1984" y="308" as="geometry" />
</mxCell>
<mxCell id="132" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffedd5;strokeColor=#fdba74;strokeWidth=1.4;fontSize=16;fontColor=#9a3412;" value="Procurement / Promotion / ERP&#xa;Supplier-owned capabilities stay outside the main backend" vertex="1">
<mxGeometry height="96" width="496" x="1712" y="436" as="geometry" />
</mxCell>
<mxCell id="133" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#f97316;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="WebView examples&#xa;Sales, scan, settlement, inbound" vertex="1">
<mxGeometry height="88" width="224" x="1712" y="564" as="geometry" />
</mxCell>
<mxCell id="134" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#f97316;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="API examples&#xa;Procurement, activity, inventory sync" vertex="1">
<mxGeometry height="88" width="224" x="1984" y="564" as="geometry" />
</mxCell>
<mxCell id="135" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#cbd5e1;strokeWidth=1.2;" value="" vertex="1">
<mxGeometry height="184" width="2096" x="112" y="1144" as="geometry" />
</mxCell>
<mxCell id="136" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=20;fontStyle=1;fontColor=#334155;" value="External Services" vertex="1">
<mxGeometry height="24" width="180" x="144" y="1168" as="geometry" />
</mxCell>
<mxCell id="137" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=20;fontStyle=1;fontColor=#334155;" value="Governance Rules" vertex="1">
<mxGeometry height="24" width="180" x="1160" y="1168" as="geometry" />
</mxCell>
<mxCell id="138" parent="1" style="ellipse;shape=cloud;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.4;fontSize=16;fontColor=#1e293b;" value="SMS" vertex="1">
<mxGeometry height="72" width="176" x="152" y="1212" as="geometry" />
</mxCell>
<mxCell id="139" parent="1" style="ellipse;shape=cloud;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.4;fontSize=16;fontColor=#1e293b;" value="Marketing / CRM" vertex="1">
<mxGeometry height="72" width="224" x="368" y="1212" as="geometry" />
</mxCell>
<mxCell id="140" parent="1" style="ellipse;shape=cloud;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.4;fontSize=16;fontColor=#1e293b;" value="WeCom" vertex="1">
<mxGeometry height="72" width="176" x="632" y="1212" as="geometry" />
</mxCell>
<mxCell id="141" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="App -&gt; App Backend is primary" vertex="1">
<mxGeometry height="72" width="224" x="1160" y="1212" as="geometry" />
</mxCell>
<mxCell id="142" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#f97316;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="App -&gt; F6 only in Embedded WebView" vertex="1">
<mxGeometry height="72" width="224" x="1416" y="1212" as="geometry" />
</mxCell>
<mxCell id="143" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#f97316;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="F6 APIs go through Adapter" vertex="1">
<mxGeometry height="72" width="224" x="1672" y="1212" as="geometry" />
</mxCell>
<mxCell id="144" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#dc2626;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Mini direct access is legacy-only" vertex="1">
<mxGeometry height="72" width="248" x="1928" y="1212" as="geometry" />
</mxCell>
<mxCell id="145" edge="1" parent="1" source="115" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="119" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="154" connectable="0" parent="145" style="edgeLabel;html=1;align=center;verticalAlign=middle;fontSize=13;fontColor=#1d4ed8;" value="primary route" vertex="1">
<mxGeometry relative="1" x="0.5" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="146" edge="1" parent="1" source="118" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" target="120" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="552" y="708" />
<mxPoint x="552" y="472" />
</Array>
<mxPoint x="528" y="691.0000000000002" as="sourcePoint" />
<mxPoint x="852" y="525" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="155" connectable="0" parent="146" style="edgeLabel;html=1;align=center;verticalAlign=middle;fontSize=13;fontColor=#1d4ed8;" value="primary route" vertex="1">
<mxGeometry relative="1" x="0.5" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="147" edge="1" parent="1" source="121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="124" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="820" y="536" />
<mxPoint x="1352" y="536" />
<mxPoint x="1352" y="352" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="156" connectable="0" parent="147" style="edgeLabel;html=1;align=center;verticalAlign=middle;fontSize=13;fontColor=#64748b;" value="aggregated call" vertex="1">
<mxGeometry relative="1" x="0.5" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="148" edge="1" parent="1" source="121" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="125" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="820" y="536" />
<mxPoint x="1376" y="536" />
<mxPoint x="1376" y="352" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="149" edge="1" parent="1" source="122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="126" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1120" y="716" />
<mxPoint x="1120" y="456" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="150" edge="1" parent="1" source="122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="127" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1616" y="716" />
<mxPoint x="1616" y="456" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="151" edge="1" parent="1" source="123" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="130" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="157" connectable="0" parent="151" style="edgeLabel;html=1;align=center;verticalAlign=middle;fontSize=13;fontColor=#ea580c;" value="embedded WebView" vertex="1">
<mxGeometry relative="1" x="0.5" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="152" edge="1" parent="1" source="122" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#c2410c;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="131" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="820" y="784" />
<mxPoint x="2240" y="784" />
<mxPoint x="2240" y="352" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="158" connectable="0" parent="152" style="edgeLabel;html=1;align=center;verticalAlign=middle;fontSize=13;fontColor=#c2410c;" value="adapter call" vertex="1">
<mxGeometry relative="1" x="0.5" as="geometry">
<mxPoint y="-14" as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="system-architecture" name="System Architecture">
<mxGraphModel dx="2233" dy="1249" grid="1" gridSize="8" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="3700" pageHeight="1800" background="#FFFFFF" math="1" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="200" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=36;fontStyle=1;fontColor=#0f172a;" value="Continental Retail APP System Architecture" vertex="1">
<mxGeometry height="48" width="1100" x="96" y="40" as="geometry" />
</mxCell>
<mxCell id="201" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontColor=#475569;" value="Reference review page: layered architecture, route semantics, and domain boundaries for implementation and integration." vertex="1">
<mxGeometry height="28" width="1800" x="96" y="92" as="geometry" />
</mxCell>
<mxCell id="202" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="560" width="560" x="96" y="160" as="geometry" />
</mxCell>
<mxCell id="203" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="560" width="540" x="736" y="160" as="geometry" />
</mxCell>
<mxCell id="204" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="560" width="980" x="1356" y="160" as="geometry" />
</mxCell>
<mxCell id="205" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="560" width="440" x="2416" y="160" as="geometry" />
</mxCell>
<mxCell id="206" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="320" width="1212" x="1356" y="780" as="geometry" />
</mxCell>
<mxCell id="207" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="560" width="560" x="2936" y="160" as="geometry" />
</mxCell>
<mxCell id="208" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="360" width="560" x="2936" y="780" as="geometry" />
</mxCell>
<mxCell id="209" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#e2e8f0;strokeWidth=1;" value="" vertex="1">
<mxGeometry height="472" width="560" x="2936" y="1200" as="geometry" />
</mxCell>
<mxCell id="210" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="Client Tier" vertex="1">
<mxGeometry height="30" width="260" x="128" y="188" as="geometry" />
</mxCell>
<mxCell id="211" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="Access &amp; Security" vertex="1">
<mxGeometry height="30" width="260" x="768" y="188" as="geometry" />
</mxCell>
<mxCell id="212" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="App Backend" vertex="1">
<mxGeometry height="30" width="260" x="1388" y="188" as="geometry" />
</mxCell>
<mxCell id="213" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="Integration Layer" vertex="1">
<mxGeometry height="30" width="260" x="2448" y="188" as="geometry" />
</mxCell>
<mxCell id="214" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="Mini Program Backend" vertex="1">
<mxGeometry height="30" width="320" x="1388" y="808" as="geometry" />
</mxCell>
<mxCell id="215" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="F6 Supplier Domain" vertex="1">
<mxGeometry height="30" width="280" x="2968" y="188" as="geometry" />
</mxCell>
<mxCell id="216" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="External Services" vertex="1">
<mxGeometry height="30" width="260" x="2968" y="808" as="geometry" />
</mxCell>
<mxCell id="217" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1e293b;" value="Cross-Cutting" vertex="1">
<mxGeometry height="30" width="260" x="2968" y="1228" as="geometry" />
</mxCell>
<mxCell id="218" parent="1" style="ellipse;html=1;whiteSpace=wrap;fillColor=#e0f2fe;strokeColor=#0284c7;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Store User Persona" vertex="1">
<mxGeometry height="100" width="220" x="128" y="260" as="geometry" />
</mxCell>
<mxCell id="219" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#bfdbfe;strokeColor=#1d4ed8;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Mobile App&lt;br&gt;Native entry" vertex="1">
<mxGeometry height="100" width="220" x="384" y="260" as="geometry" />
</mxCell>
<mxCell id="220" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Native Capabilities&#xa;Scan / camera / upload / Bluetooth" vertex="1">
<mxGeometry height="100" width="220" x="128" y="460" as="geometry" />
</mxCell>
<mxCell id="221" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fed7aa;strokeColor=#ea580c;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="WebView + JSBridge&#xa;Embedded WebView container" vertex="1">
<mxGeometry height="100" width="220" x="384" y="460" as="geometry" />
</mxCell>
<mxCell id="222" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#e0e7ff;strokeColor=#4338ca;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="API Gateway&#xa;HTTPS / TLS / routing" vertex="1">
<mxGeometry height="100" width="220" x="768" y="260" as="geometry" />
</mxCell>
<mxCell id="223" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#e0e7ff;strokeColor=#4338ca;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="JWT / Auth&#xa;Token issue and refresh" vertex="1">
<mxGeometry height="100" width="220" x="1024" y="260" as="geometry" />
</mxCell>
<mxCell id="224" parent="1" style="rhombus;html=1;whiteSpace=wrap;fillColor=#fef3c7;strokeColor=#d97706;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="WebView Allowlist&#xa;Supplier domain control" vertex="1">
<mxGeometry height="120" width="220" x="896" y="460" as="geometry" />
</mxCell>
<mxCell id="225" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Identity &amp; Store Center&#xa;IAM, store, role, menu" vertex="1">
<mxGeometry height="110" width="260" x="1400" y="460" as="geometry" />
</mxCell>
<mxCell id="226" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#bfdbfe;strokeColor=#1d4ed8;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="BFF Orchestration&#xa;Unified response and normalization" vertex="1">
<mxGeometry height="110" width="260" x="1728" y="260" as="geometry" />
</mxCell>
<mxCell id="227" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Workbench Aggregation" vertex="1">
<mxGeometry height="110" width="260" x="1728" y="460" as="geometry" />
</mxCell>
<mxCell id="228" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fed7aa;strokeColor=#ea580c;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="WebView Ticket Center&#xa;Signed entry and trace handoff" vertex="1">
<mxGeometry height="110" width="260" x="2056" y="460" as="geometry" />
</mxCell>
<mxCell id="229" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fdba74;strokeColor=#c2410c;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="F6 Integration Adapter&lt;br&gt;Ticket exchange" vertex="1">
<mxGeometry height="110" width="260" x="2460" y="260" as="geometry" />
</mxCell>
<mxCell id="230" parent="1" style="shape=parallelogram;perimeter=parallelogramPerimeter;fixedSize=1;html=1;whiteSpace=wrap;fillColor=#fed7aa;strokeColor=#ea580c;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Timeout / Retry" vertex="1">
<mxGeometry height="110" width="260" x="2460" y="480" as="geometry" />
</mxCell>
<mxCell id="231" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#d1fae5;strokeColor=#059669;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="O2O Backend" vertex="1">
<mxGeometry height="100" width="220" x="1400" y="900" as="geometry" />
</mxCell>
<mxCell id="232" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#d1fae5;strokeColor=#059669;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Warranty Backend" vertex="1">
<mxGeometry height="100" width="220" x="1680" y="900" as="geometry" />
</mxCell>
<mxCell id="233" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#d1fae5;strokeColor=#059669;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="马上下单 Backend" vertex="1">
<mxGeometry height="100" width="220" x="1960" y="900" as="geometry" />
</mxCell>
<mxCell id="234" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#d1fae5;strokeColor=#059669;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="ROOS Backend" vertex="1">
<mxGeometry height="100" width="220" x="2240" y="900" as="geometry" />
</mxCell>
<mxCell id="235" parent="1" style="shape=document;boundedLbl=1;html=1;whiteSpace=wrap;fillColor=#fef3c7;strokeColor=#d97706;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="F6 WebView Pages&#xa;Sales, scan, settlement, inbound" vertex="1">
<mxGeometry height="110" width="220" x="2992" y="260" as="geometry" />
</mxCell>
<mxCell id="236" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fef3c7;strokeColor=#d97706;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="F6 Capability APIs&#xa;Procurement / promotion / ERP" vertex="1">
<mxGeometry height="110" width="220" x="2992" y="480" as="geometry" />
</mxCell>
<mxCell id="237" parent="1" style="ellipse;shape=cloud;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="SMS" vertex="1">
<mxGeometry height="100" width="180" x="2992" y="860" as="geometry" />
</mxCell>
<mxCell id="238" parent="1" style="ellipse;shape=cloud;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Marketing / CRM" vertex="1">
<mxGeometry height="100" width="220" x="3224" y="860" as="geometry" />
</mxCell>
<mxCell id="239" parent="1" style="ellipse;shape=cloud;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="WeCom" vertex="1">
<mxGeometry height="100" width="180" x="2992" y="1000" as="geometry" />
</mxCell>
<mxCell id="240" parent="1" style="shape=document;boundedLbl=1;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#cbd5e1;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Observability&#xa;Trace ID / logs / metrics" vertex="1">
<mxGeometry height="100" width="220" x="2992" y="1280" as="geometry" />
</mxCell>
<mxCell id="241" parent="1" style="shape=document;boundedLbl=1;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#cbd5e1;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Audit / Security&#xa;Masking and evidence" vertex="1">
<mxGeometry height="100" width="220" x="2992" y="1410" as="geometry" />
</mxCell>
<mxCell id="242" parent="1" style="shape=document;boundedLbl=1;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#cbd5e1;strokeWidth=1.5;fontSize=18;fontColor=#1e293b;" value="Config Center&#xa;Menu, switches, WebView entry" vertex="1">
<mxGeometry height="100" width="220" x="2992" y="1540" as="geometry" />
</mxCell>
<mxCell id="243" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontStyle=1;fontColor=#0f172a;" value="Legend" vertex="1">
<mxGeometry height="28" width="140" x="96" y="1670" as="geometry" />
</mxCell>
<mxCell id="244" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontColor=#1f2937;" value="Primary App -&gt; App Backend route" vertex="1">
<mxGeometry height="26" width="420" x="200" y="1704" as="geometry" />
</mxCell>
<mxCell id="245" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontColor=#1f2937;" value="Embedded WebView or F6 exception path" vertex="1">
<mxGeometry height="26" width="420" x="200" y="1734" as="geometry" />
</mxCell>
<mxCell id="246" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontColor=#1f2937;" value="Aggregation or external calls" vertex="1">
<mxGeometry height="26" width="360" x="760" y="1704" as="geometry" />
</mxCell>
<mxCell id="247" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontColor=#1f2937;" value="Legacy compatibility only" vertex="1">
<mxGeometry height="26" width="360" x="760" y="1734" as="geometry" />
</mxCell>
<mxCell id="248a" parent="1" style="shape=line;html=1;strokeColor=#2563eb;strokeWidth=1.5;" value="" vertex="1">
<mxGeometry height="10" width="80" x="96" y="1712" as="geometry" />
</mxCell>
<mxCell id="248b" parent="1" style="shape=line;html=1;strokeColor=#ea580c;strokeWidth=1.5;dashed=1;dashPattern=6 4;" value="" vertex="1">
<mxGeometry height="10" width="80" x="96" y="1742" as="geometry" />
</mxCell>
<mxCell id="248c" parent="1" style="shape=line;html=1;strokeColor=#64748b;strokeWidth=1.5;dashed=1;dashPattern=6 4;" value="" vertex="1">
<mxGeometry height="10" width="80" x="650" y="1712" as="geometry" />
</mxCell>
<mxCell id="248d" parent="1" style="shape=line;html=1;strokeColor=#dc2626;strokeWidth=1.5;dashed=1;dashPattern=2 2;" value="" vertex="1">
<mxGeometry height="10" width="80" x="650" y="1742" as="geometry" />
</mxCell>
<mxCell id="248" edge="1" parent="1" source="218" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#94a3b8;strokeWidth=1;endArrow=diamond;endFill=1;jumpStyle=arc;jumpSize=8;" target="219" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="249" edge="1" parent="1" source="219" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;jumpStyle=arc;jumpSize=8;" target="220" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="494" y="410" />
<mxPoint x="238" y="410" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="250" edge="1" parent="1" source="219" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;jumpStyle=arc;jumpSize=8;" target="221" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="494" y="410" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="251" edge="1" parent="1" source="219" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="222" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="700" y="310" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="252" edge="1" parent="1" source="222" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;jumpStyle=arc;jumpSize=8;" target="223" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="253" edge="1" parent="1" source="222" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="226" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="878" y="224" />
<mxPoint x="1320" y="224" />
<mxPoint x="1320" y="288" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="254" edge="1" parent="1" source="223" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="225" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1134" y="420" />
<mxPoint x="1530" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="255" edge="1" parent="1" source="225" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;exitX=1;exitY=0.32;exitDx=0;exitDy=0;entryX=0;entryY=0.32;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="226" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1695" y="515" />
<mxPoint x="1695" y="315" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="256" edge="1" parent="1" source="227" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;exitX=0;exitY=0.68;exitDx=0;exitDy=0;entryX=0.381;entryY=1.028;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;entryPerimeter=0;" target="226" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1712" y="535" />
<mxPoint x="1712" y="420" />
<mxPoint x="1827" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="257" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;exitX=1;exitY=0.32;exitDx=0;exitDy=0;entryX=0;entryY=0.32;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="228" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="2020" y="315" />
<mxPoint x="2186" y="420" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="258" edge="1" parent="1" source="228" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="221" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="2186" y="130" />
<mxPoint x="648" y="130" />
<mxPoint x="648" y="510" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="259" edge="1" parent="1" source="221" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="224" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="700" y="520" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="260" edge="1" parent="1" source="224" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="235" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1280" y="640" />
<mxPoint x="2860" y="640" />
<mxPoint x="2860" y="315" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="261" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#c2410c;strokeWidth=1;endArrow=block;endFill=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="229" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="262" edge="1" parent="1" source="229" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;endArrow=diamond;endFill=1;jumpStyle=arc;jumpSize=8;" target="230" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="263" edge="1" parent="1" source="230" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="236" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="2860" y="535" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="264" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="231" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1320" y="315" />
<mxPoint x="1320" y="850" />
<mxPoint x="1510" y="850" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="265" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="232" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1290" y="335" />
<mxPoint x="1290" y="870" />
<mxPoint x="1790" y="870" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="266" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="233" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="2350" y="315" />
<mxPoint x="2350" y="850" />
<mxPoint x="2070" y="850" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="267" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="234" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="2380" y="335" />
<mxPoint x="2380" y="870" />
<mxPoint x="2350" y="870" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="268" edge="1" parent="1" source="219" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#dc2626;strokeWidth=1;dashed=1;dashPattern=2 2;endArrow=open;endFill=0;jumpStyle=arc;jumpSize=8;" target="231" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="64" y="310" />
<mxPoint x="64" y="950" />
<mxPoint x="1400" y="950" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="269" edge="1" parent="1" source="223" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="237" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1134" y="112" />
<mxPoint x="2880" y="112" />
<mxPoint x="2880" y="910" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="270" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="238" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1858" y="120" />
<mxPoint x="2860" y="120" />
<mxPoint x="2860" y="976" />
<mxPoint x="3334" y="976" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="271" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1e293b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="239" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1888" y="100" />
<mxPoint x="2890" y="100" />
<mxPoint x="2890" y="1050" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="272" edge="1" parent="1" source="226" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#94a3b8;strokeWidth=1;dashed=1;dashPattern=2 2;endArrow=open;endFill=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="240" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1920" y="140" />
<mxPoint x="2860" y="140" />
<mxPoint x="2860" y="1330" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="273" edge="1" parent="1" source="225" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#94a3b8;strokeWidth=1;dashed=1;dashPattern=2 2;endArrow=open;endFill=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="241" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1320" y="515" />
<mxPoint x="1320" y="1150" />
<mxPoint x="2860" y="1150" />
<mxPoint x="2860" y="1460" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="274" edge="1" parent="1" source="225" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#94a3b8;strokeWidth=1;dashed=1;dashPattern=2 2;endArrow=open;endFill=0;exitDx=0;exitDy=0;entryDx=0;entryDy=0;jumpStyle=arc;jumpSize=8;" target="242" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="1300" y="535" />
<mxPoint x="1300" y="1180" />
<mxPoint x="2860" y="1180" />
<mxPoint x="2860" y="1590" />
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="key-flows" name="Key Flows and Context Governance">
<mxGraphModel dx="1436" dy="803" grid="1" gridSize="8" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="2384" pageHeight="1504" background="#FFFFFF" math="1" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="300" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=32;fontStyle=1;fontColor=#0f172a;" value="Key Flows and Context Governance" vertex="1">
<mxGeometry height="40" width="720" x="80" y="36" as="geometry" />
</mxCell>
<mxCell id="301" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=16;fontColor=#475569;" value="Runtime behaviors map directly to the architecture page: primary backend route, F6 embedded exception, and legacy Mini compatibility." vertex="1">
<mxGeometry height="24" width="1180" x="80" y="80" as="geometry" />
</mxCell>
<mxCell id="302" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#eff6ff;strokeColor=#93c5fd;strokeWidth=1.4;" value="" vertex="1">
<mxGeometry height="296" width="1088" x="80" y="144" as="geometry" />
</mxCell>
<mxCell id="303" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#fff7ed;strokeColor=#fdba74;strokeWidth=1.4;" value="" vertex="1">
<mxGeometry height="296" width="1088" x="1216" y="144" as="geometry" />
</mxCell>
<mxCell id="304" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#cbd5e1;strokeWidth=1.4;" value="" vertex="1">
<mxGeometry height="344" width="1088" x="80" y="488" as="geometry" />
</mxCell>
<mxCell id="305" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#fff7ed;strokeColor=#fdba74;strokeWidth=1.4;" value="" vertex="1">
<mxGeometry height="344" width="1088" x="1216" y="488" as="geometry" />
</mxCell>
<mxCell id="306" parent="1" style="rounded=1;arcSize=12;html=1;whiteSpace=wrap;fillColor=#f8fafc;strokeColor=#cbd5e1;strokeWidth=1.2;" value="" vertex="1">
<mxGeometry height="504" width="2224" x="96" y="880" as="geometry" />
</mxCell>
<mxCell id="307" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1d4ed8;" value="Flow 1&#xa;Login and Store Context Bootstrap" vertex="1">
<mxGeometry height="52" width="360" x="112" y="168" as="geometry" />
</mxCell>
<mxCell id="308" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#c2410c;" value="Flow 2&#xa;F6 WebView Launch and Session Rules" vertex="1">
<mxGeometry height="52" width="360" x="1248" y="168" as="geometry" />
</mxCell>
<mxCell id="309" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#334155;" value="Flow 3&#xa;Home Aggregation and Mini Compatibility" vertex="1">
<mxGeometry height="52" width="420" x="112" y="512" as="geometry" />
</mxCell>
<mxCell id="310" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#c2410c;" value="Flow 4&#xa;Hybrid Procurement and Inbound Flow" vertex="1">
<mxGeometry height="52" width="420" x="1248" y="512" as="geometry" />
</mxCell>
<mxCell id="311" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#bfdbfe;strokeColor=#1d4ed8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="App Login" vertex="1">
<mxGeometry height="72" width="168" x="136" y="252" as="geometry" />
</mxCell>
<mxCell id="312" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Token Issue" vertex="1">
<mxGeometry height="72" width="168" x="344" y="252" as="geometry" />
</mxCell>
<mxCell id="313" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Store List + Default Store" vertex="1">
<mxGeometry height="72" width="208" x="552" y="252" as="geometry" />
</mxCell>
<mxCell id="314" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Menu / Permission / Config Baseline" vertex="1">
<mxGeometry height="72" width="224" x="800" y="252" as="geometry" />
</mxCell>
<mxCell id="315" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#bfdbfe;strokeColor=#1d4ed8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Context Established" vertex="1">
<mxGeometry height="64" width="888" x="136" y="360" as="geometry" />
</mxCell>
<mxCell id="316" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#bfdbfe;strokeColor=#1d4ed8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="App asks for WebView entry" vertex="1">
<mxGeometry height="72" width="176" x="1248" y="252" as="geometry" />
</mxCell>
<mxCell id="317" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fed7aa;strokeColor=#ea580c;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Backend exchanges / prepares ticket" vertex="1">
<mxGeometry height="72" width="208" x="1464" y="252" as="geometry" />
</mxCell>
<mxCell id="318" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fef3c7;strokeColor=#d97706;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Embedded open in WebView" vertex="1">
<mxGeometry height="72" width="192" x="1712" y="252" as="geometry" />
</mxCell>
<mxCell id="319" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#ea580c;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Store switch invalidates WebView" vertex="1">
<mxGeometry height="52" width="176" x="1944" y="230" as="geometry" />
</mxCell>
<mxCell id="320" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#ea580c;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Expired ticket needs refresh" vertex="1">
<mxGeometry height="52" width="176" x="1944" y="294" as="geometry" />
</mxCell>
<mxCell id="321" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#94a3b8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Failure fallback shows safe message + trace ID" vertex="1">
<mxGeometry height="52" width="280" x="1944" y="358" as="geometry" />
</mxCell>
<mxCell id="322" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#bfdbfe;strokeColor=#1d4ed8;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Workbench request" vertex="1">
<mxGeometry height="72" width="176" x="136" y="612" as="geometry" />
</mxCell>
<mxCell id="323" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Backend aggregates O2O / Warranty / ROOS / Config" vertex="1">
<mxGeometry height="72" width="336" x="352" y="612" as="geometry" />
</mxCell>
<mxCell id="324" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#64748b;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Partial failure returns degradable tiles" vertex="1">
<mxGeometry height="72" width="272" x="728" y="612" as="geometry" />
</mxCell>
<mxCell id="325" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#dc2626;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Legacy Mini direct access is compatibility only" vertex="1">
<mxGeometry height="72" width="864" x="128" y="728" as="geometry" />
</mxCell>
<mxCell id="326" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#dbeafe;strokeColor=#2563eb;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="ROOS context + permission + normalization" vertex="1">
<mxGeometry height="72" width="272" x="1248" y="612" as="geometry" />
</mxCell>
<mxCell id="327" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fef3c7;strokeColor=#d97706;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="F6 owns procurement / promotion / ERP" vertex="1">
<mxGeometry height="72" width="256" x="1560" y="612" as="geometry" />
</mxCell>
<mxCell id="328" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#fed7aa;strokeColor=#ea580c;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Inbound execution uses WebView or API path" vertex="1">
<mxGeometry height="72" width="232" x="1856" y="612" as="geometry" />
</mxCell>
<mxCell id="329" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#64748b;strokeWidth=1.5;fontSize=16;fontColor=#1e293b;" value="Historical data may still come from Mini aggregation" vertex="1">
<mxGeometry height="72" width="840" x="1248" y="728" as="geometry" />
</mxCell>
<mxCell id="330" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#0f172a;" value="Shared Governance Rules" vertex="1">
<mxGeometry height="28" width="320" x="112" y="912" as="geometry" />
</mxCell>
<mxCell id="331" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#2563eb;strokeWidth=1.5;fontSize=20;fontColor=#1e293b;spacing=14;" value="Store context is owned by App Backend and every app request carries the current store scope." vertex="1">
<mxGeometry height="112" width="512" x="112" y="968" as="geometry" />
</mxCell>
<mxCell id="332" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#ea580c;strokeWidth=1.5;fontSize=20;fontColor=#1e293b;spacing=14;" value="F6 WebView is an embedded exception, not a replacement for the primary App -&gt; App Backend route." vertex="1">
<mxGeometry height="112" width="512" x="664" y="968" as="geometry" />
</mxCell>
<mxCell id="333" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#22c55e;strokeWidth=1.5;fontSize=20;fontColor=#1e293b;spacing=14;" value="Mini systems remain independent and can be source-of-truth, but the app should consume them through aggregation whenever possible." vertex="1">
<mxGeometry height="112" width="552" x="1216" y="968" as="geometry" />
</mxCell>
<mxCell id="334" parent="1" style="rounded=1;arcSize=20;html=1;whiteSpace=wrap;fillColor=#ffffff;strokeColor=#94a3b8;strokeWidth=1.5;fontSize=20;fontColor=#1e293b;spacing=14;" value="Every degraded or supplier-facing failure returns a user-safe message and a trace ID for support and audit." vertex="1">
<mxGeometry height="112" width="512" x="1800" y="968" as="geometry" />
</mxCell>
<mxCell id="335" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=26;fontStyle=1;fontColor=#0f172a;" value="Route Semantics" vertex="1">
<mxGeometry height="32" width="260" x="112" y="1124" as="geometry" />
</mxCell>
<mxCell id="336a" parent="1" style="shape=line;html=1;strokeColor=#2563eb;strokeWidth=1.5;" value="" vertex="1">
<mxGeometry height="10" width="84" x="136" y="1180" as="geometry" />
</mxCell>
<mxCell id="336" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontColor=#1f2937;" value="Primary App route" vertex="1">
<mxGeometry height="28" width="220" x="236" y="1170" as="geometry" />
</mxCell>
<mxCell id="337a" parent="1" style="shape=line;html=1;strokeColor=#ea580c;strokeWidth=1.5;dashed=1;dashPattern=6 4;" value="" vertex="1">
<mxGeometry height="10" width="84" x="496" y="1180" as="geometry" />
</mxCell>
<mxCell id="337" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontColor=#1f2937;" value="F6 embedded / exception" vertex="1">
<mxGeometry height="28" width="300" x="596" y="1170" as="geometry" />
</mxCell>
<mxCell id="338a" parent="1" style="shape=line;html=1;strokeColor=#64748b;strokeWidth=1.5;dashed=1;dashPattern=6 4;" value="" vertex="1">
<mxGeometry height="10" width="84" x="936" y="1180" as="geometry" />
</mxCell>
<mxCell id="338" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontColor=#1f2937;" value="Aggregation / external" vertex="1">
<mxGeometry height="28" width="280" x="1036" y="1170" as="geometry" />
</mxCell>
<mxCell id="339a" parent="1" style="shape=line;html=1;strokeColor=#dc2626;strokeWidth=1.5;dashed=1;dashPattern=2 2;" value="" vertex="1">
<mxGeometry height="10" width="84" x="1376" y="1180" as="geometry" />
</mxCell>
<mxCell id="339" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=18;fontColor=#1f2937;" value="Legacy compatibility" vertex="1">
<mxGeometry height="28" width="260" x="1476" y="1170" as="geometry" />
</mxCell>
<mxCell id="340" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=26;fontStyle=1;fontColor=#0f172a;" value="Review checks" vertex="1">
<mxGeometry height="32" width="240" x="112" y="1244" as="geometry" />
</mxCell>
<mxCell id="341" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=20;fontColor=#334155;" value="1. Store switch closes active supplier WebView session." vertex="1">
<mxGeometry height="30" width="720" x="136" y="1296" as="geometry" />
</mxCell>
<mxCell id="342" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=20;fontColor=#334155;" value="2. Home page degrades by tile, not by blank screen." vertex="1">
<mxGeometry height="30" width="720" x="136" y="1338" as="geometry" />
</mxCell>
<mxCell id="343" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=20;fontColor=#334155;" value="3. Procurement and inbound remain hybrid with F6-first supplier ownership." vertex="1">
<mxGeometry height="30" width="960" x="936" y="1296" as="geometry" />
</mxCell>
<mxCell id="344" parent="1" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;fontSize=20;fontColor=#334155;" value="4. Mini direct links are transitional and not the default route." vertex="1">
<mxGeometry height="30" width="960" x="936" y="1338" as="geometry" />
</mxCell>
<mxCell id="345" edge="1" parent="1" source="311" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="312" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="346" edge="1" parent="1" source="312" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="313" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="347" edge="1" parent="1" source="313" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="314" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="348" edge="1" parent="1" source="314" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="315" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="912" y="336" />
<mxPoint x="568" y="336" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="349" edge="1" parent="1" source="316" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#2563eb;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="317" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="350" edge="1" parent="1" source="317" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="318" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="351" edge="1" parent="1" source="318" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="321" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="352" edge="1" parent="1" source="322" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1d4ed8;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="323" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="353" edge="1" parent="1" source="323" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="324" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="354" edge="1" parent="1" source="323" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#dc2626;strokeWidth=1;dashed=1;dashPattern=2 2;endArrow=open;endFill=0;jumpStyle=arc;jumpSize=8;" target="325" value="">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="520" y="696" />
<mxPoint x="568" y="696" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="355" edge="1" parent="1" source="326" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#1d4ed8;strokeWidth=1;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="327" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="356" edge="1" parent="1" source="327" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#ea580c;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="328" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="357" edge="1" parent="1" source="326" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;strokeColor=#64748b;strokeWidth=1;dashed=1;dashPattern=6 4;endArrow=block;endFill=1;jumpStyle=arc;jumpSize=8;" target="329" value="">
<mxGeometry relative="1" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>