Files
OmniRoute/docs/diagrams/exported/auto-combo-12factor.svg
Diego Rodrigues de Sa e Souza 7c23dab64d Release v3.8.40
v3.8.40 cycle integration → main. All test gates green (Unit/Integration/Coverage/Node-compat/Quality-Ratchet). The only red check, 'PR Test Policy', is the test-masking heuristic firing on the cumulative ~57-commit release diff (legitimate assert consolidations already reviewed per-PR — Gemini CLI removal #5246, retired GPT models #5280, provider catalog refreshes); overridden with --admin per the documented release-PR convention. CodeQL/SonarQube advisory scans non-blocking; #5278's code already passed CodeQL on main. Homologated on VPS 192.168.0.15 (v3.8.40 healthy).
2026-06-29 08:40:06 -03:00

1 line
24 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg id="my-svg" width="100%" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="flowchart" style="max-width: 337.453px; background-color: white;" viewBox="0 0 337.453125 2028" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#my-svg .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#my-svg .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#my-svg .error-icon{fill:#552222;}#my-svg .error-text{fill:#552222;stroke:#552222;}#my-svg .edge-thickness-normal{stroke-width:1px;}#my-svg .edge-thickness-thick{stroke-width:3.5px;}#my-svg .edge-pattern-solid{stroke-dasharray:0;}#my-svg .edge-thickness-invisible{stroke-width:0;fill:none;}#my-svg .edge-pattern-dashed{stroke-dasharray:3;}#my-svg .edge-pattern-dotted{stroke-dasharray:2;}#my-svg .marker{fill:#333333;stroke:#333333;}#my-svg .marker.cross{stroke:#333333;}#my-svg svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#my-svg p{margin:0;}#my-svg .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#my-svg .cluster-label text{fill:#333;}#my-svg .cluster-label span{color:#333;}#my-svg .cluster-label span p{background-color:transparent;}#my-svg .label text,#my-svg span{fill:#333;color:#333;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#my-svg .rough-node .label text,#my-svg .node .label text,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-anchor:middle;}#my-svg .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#my-svg .rough-node .label,#my-svg .node .label,#my-svg .image-shape .label,#my-svg .icon-shape .label{text-align:center;}#my-svg .node.clickable{cursor:pointer;}#my-svg .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#333333;stroke-width:1px;}#my-svg .flowchart-link{stroke:#333333;fill:none;}#my-svg .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#my-svg .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#my-svg .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#my-svg .cluster text{fill:#333;}#my-svg .cluster span{color:#333;}#my-svg div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#my-svg .icon-shape .label rect,#my-svg .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#my-svg .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#my-svg .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#my-svg .node .neo-node{stroke:#9370DB;}#my-svg [data-look="neo"].node rect,#my-svg [data-look="neo"].cluster rect,#my-svg [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}#my-svg [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}#my-svg [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].node circle .state-start{fill:#000000;}#my-svg [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#my-svg :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="my-svg_flowchart-v2-pointEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="4.5" refY="5" markerUnits="userSpaceOnUse" markerWidth="8" markerHeight="8" orient="auto"><path d="M 0 5 L 10 10 L 10 0 z" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointEnd-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="11.5" refY="7" markerUnits="userSpaceOnUse" markerWidth="10.5" markerHeight="14" orient="auto"><path d="M 0 0 L 11.5 7 L 0 14 z" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-pointStart-margin" class="marker flowchart-v2" viewBox="0 0 11.5 14" refX="1" refY="7" markerUnits="userSpaceOnUse" markerWidth="11.5" markerHeight="14" orient="auto"><polygon points="0,7 11.5,14 11.5,0" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd" class="marker flowchart-v2" viewBox="0 0 10 10" refX="11" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-1" refY="5" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 1; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleEnd-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refY="5" refX="12.25" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-circleStart-margin" class="marker flowchart-v2" viewBox="0 0 10 10" refX="-2" refY="5" markerUnits="userSpaceOnUse" markerWidth="14" markerHeight="14" orient="auto"><circle cx="5" cy="5" r="5" class="arrowMarkerPath" style="stroke-width: 0; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="12" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossStart" class="marker cross flowchart-v2" viewBox="0 0 11 11" refX="-1" refY="5.2" markerUnits="userSpaceOnUse" markerWidth="11" markerHeight="11" orient="auto"><path d="M 1,1 l 9,9 M 10,1 l -9,9" class="arrowMarkerPath" style="stroke-width: 2; stroke-dasharray: 1, 0;"/></marker><marker id="my-svg_flowchart-v2-crossEnd-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="17.7" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5;"/></marker><marker id="my-svg_flowchart-v2-crossStart-margin" class="marker cross flowchart-v2" viewBox="0 0 15 15" refX="-3.5" refY="7.5" markerUnits="userSpaceOnUse" markerWidth="12" markerHeight="12" orient="auto"><path d="M 1,1 L 14,14 M 1,14 L 14,1" class="arrowMarkerPath" style="stroke-width: 2.5; stroke-dasharray: 1, 0;"/></marker><g class="root"><g class="clusters"/><g class="edgePaths"><path d="M168.727,62L168.727,66.167C168.727,70.333,168.727,78.667,168.727,86.333C168.727,94,168.727,101,168.727,104.5L168.727,108" id="my-svg-L_Request_Candidates_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Request_Candidates_0" data-points="W3sieCI6MTY4LjcyNjU2MjUsInkiOjYyfSx7IngiOjE2OC43MjY1NjI1LCJ5Ijo4N30seyJ4IjoxNjguNzI2NTYyNSwieSI6MTEyfV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M168.727,214L168.727,218.167C168.727,222.333,168.727,230.667,168.727,238.333C168.727,246,168.727,253,168.727,256.5L168.727,260" id="my-svg-L_Candidates_Score_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Candidates_Score_0" data-points="W3sieCI6MTY4LjcyNjU2MjUsInkiOjIxNH0seyJ4IjoxNjguNzI2NTYyNSwieSI6MjM5fSx7IngiOjE2OC43MjY1NjI1LCJ5IjoyNjR9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M168.727,1788L168.727,1792.167C168.727,1796.333,168.727,1804.667,168.727,1812.333C168.727,1820,168.727,1827,168.727,1830.5L168.727,1834" id="my-svg-L_Final_Top_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Final_Top_0" data-points="W3sieCI6MTY4LjcyNjU2MjUsInkiOjE3ODh9LHsieCI6MTY4LjcyNjU2MjUsInkiOjE4MTN9LHsieCI6MTY4LjcyNjU2MjUsInkiOjE4Mzh9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M168.727,1892L168.727,1896.167C168.727,1900.333,168.727,1908.667,168.727,1916.333C168.727,1924,168.727,1931,168.727,1934.5L168.727,1938" id="my-svg-L_Top_Dispatch_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Top_Dispatch_0" data-points="W3sieCI6MTY4LjcyNjU2MjUsInkiOjE4OTJ9LHsieCI6MTY4LjcyNjU2MjUsInkiOjE5MTd9LHsieCI6MTY4LjcyNjU2MjUsInkiOjE5NDJ9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M168.727,342L168.727,346.167C168.727,350.333,168.727,358.667,168.727,366.333C168.727,374,168.727,381,168.727,384.5L168.727,388" id="my-svg-L_Score_Factors_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Score_Factors_0" data-points="W3sieCI6MTY4LjcyNjU2MjUsInkiOjM0Mn0seyJ4IjoxNjguNzI2NTYyNSwieSI6MzY3fSx7IngiOjE2OC43MjY1NjI1LCJ5IjozOTJ9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M168.727,1660L168.727,1664.167C168.727,1668.333,168.727,1676.667,168.727,1684.333C168.727,1692,168.727,1699,168.727,1702.5L168.727,1706" id="my-svg-L_Factors_Final_0" class="edge-thickness-normal edge-pattern-solid edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_Factors_Final_0" data-points="W3sieCI6MTY4LjcyNjU2MjUsInkiOjE2NjB9LHsieCI6MTY4LjcyNjU2MjUsInkiOjE2ODV9LHsieCI6MTY4LjcyNjU2MjUsInkiOjE3MTB9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_Request_Candidates_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Candidates_Score_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Final_Top_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Top_Dispatch_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Score_Factors_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_Factors_Final_0" transform="translate(0, 0)"><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="edgeLabel"></span></div></foreignObject></g></g></g><g class="nodes"><g class="root" transform="translate(0, 384)"><g class="clusters"><g class="cluster" id="my-svg-Factors" data-look="classic"><rect style="" x="8" y="8" width="321.453125" height="1268"/><g class="cluster-label" transform="translate(36.890625, 8)"><foreignObject width="263.671875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5;"><span class="nodeLabel"><p>12-factor scoring weights (sum = 1.0)</p></span></div></foreignObject></g></g></g><g class="edgePaths"/><g class="edgeLabels"/><g class="nodes"><g class="node default" id="my-svg-flowchart-f1-4" data-look="classic" transform="translate(168.7265625, 70)"><rect class="basic label-container" style="" x="-74.921875" y="-27" width="149.84375" height="54"/><g class="label" style="" transform="translate(-44.921875, -12)"><rect/><foreignObject width="89.84375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>health (0.20)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f2-5" data-look="classic" transform="translate(168.7265625, 174)"><rect class="basic label-container" style="" x="-73.140625" y="-27" width="146.28125" height="54"/><g class="label" style="" transform="translate(-43.140625, -12)"><rect/><foreignObject width="86.28125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>quota (0.15)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f3-6" data-look="classic" transform="translate(168.7265625, 278)"><rect class="basic label-container" style="" x="-78.46875" y="-27" width="156.9375" height="54"/><g class="label" style="" transform="translate(-48.46875, -12)"><rect/><foreignObject width="96.9375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>costInv (0.15)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f4-7" data-look="classic" transform="translate(168.7265625, 382)"><rect class="basic label-container" style="" x="-89.140625" y="-27" width="178.28125" height="54"/><g class="label" style="" transform="translate(-59.140625, -12)"><rect/><foreignObject width="118.28125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>latencyInv (0.12)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f5-8" data-look="classic" transform="translate(168.7265625, 486)"><rect class="basic label-container" style="" x="-76.6796875" y="-27" width="153.359375" height="54"/><g class="label" style="" transform="translate(-46.6796875, -12)"><rect/><foreignObject width="93.359375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>taskFit (0.08)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f6-9" data-look="classic" transform="translate(168.7265625, 590)"><rect class="basic label-container" style="" x="-79.796875" y="-27" width="159.59375" height="54"/><g class="label" style="" transform="translate(-49.796875, -12)"><rect/><foreignObject width="99.59375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>stability (0.05)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f7-10" data-look="classic" transform="translate(168.7265625, 694)"><rect class="basic label-container" style="" x="-89.125" y="-27" width="178.25" height="54"/><g class="label" style="" transform="translate(-59.125, -12)"><rect/><foreignObject width="118.25" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>tierPriority (0.05)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f8-11" data-look="classic" transform="translate(168.7265625, 798)"><rect class="basic label-container" style="" x="-88.1015625" y="-27" width="176.203125" height="54"/><g class="label" style="" transform="translate(-58.1015625, -12)"><rect/><foreignObject width="116.203125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>tierAffinity (0.05)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f9-12" data-look="classic" transform="translate(168.7265625, 902)"><rect class="basic label-container" style="" x="-109.5859375" y="-27" width="219.171875" height="54"/><g class="label" style="" transform="translate(-79.5859375, -12)"><rect/><foreignObject width="159.171875" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>specificityMatch (0.05)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f10-13" data-look="classic" transform="translate(168.7265625, 1006)"><rect class="basic label-container" style="" x="-102.78125" y="-27" width="205.5625" height="54"/><g class="label" style="" transform="translate(-72.78125, -12)"><rect/><foreignObject width="145.5625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>contextAffinity (0.05)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f11-14" data-look="classic" transform="translate(168.7265625, 1110)"><rect class="basic label-container" style="" x="-118.4921875" y="-27" width="236.984375" height="54"/><g class="label" style="" transform="translate(-88.4921875, -12)"><rect/><foreignObject width="176.984375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>connectionDensity (0.05)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-f12-15" data-look="classic" transform="translate(168.7265625, 1214)"><rect class="basic label-container" style="" x="-123.2265625" y="-27" width="246.453125" height="54"/><g class="label" style="" transform="translate(-93.2265625, -12)"><rect/><foreignObject width="186.453125" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>resetWindowAffinity (0.00)</p></span></div></foreignObject></g></g></g></g><g class="node default" id="my-svg-flowchart-Request-0" data-look="classic" transform="translate(168.7265625, 35)"><rect class="basic label-container" style="" x="-91.3671875" y="-27" width="182.734375" height="54"/><g class="label" style="" transform="translate(-61.3671875, -12)"><rect/><foreignObject width="122.734375" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Incoming request</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-Candidates-1" data-look="classic" transform="translate(168.7265625, 163)"><rect class="basic label-container" style="" x="-130" y="-51" width="260" height="102"/><g class="label" style="" transform="translate(-100, -36)"><rect/><foreignObject width="200" height="72"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="nodeLabel"><p>Eligible candidates<br />(provider × model × account)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-Score-3" data-look="classic" transform="translate(168.7265625, 303)"><rect class="basic label-container" style="" x="-122.9296875" y="-39" width="245.859375" height="78"/><g class="label" style="" transform="translate(-92.9296875, -24)"><rect/><foreignObject width="185.859375" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Compute composite score<br />per candidate</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-Final-19" data-look="classic" transform="translate(168.7265625, 1749)"><rect class="basic label-container" style="" x="-77.1328125" y="-39" width="154.265625" height="78"/><g class="label" style="" transform="translate(-47.1328125, -24)"><rect/><foreignObject width="94.265625" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Sort by score<br />(desc)</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-Top-21" data-look="classic" transform="translate(168.7265625, 1865)"><rect class="basic label-container" style="" x="-93.578125" y="-27" width="187.15625" height="54"/><g class="label" style="" transform="translate(-63.578125, -12)"><rect/><foreignObject width="127.15625" height="24"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Pick top-N targets</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-Dispatch-23" data-look="classic" transform="translate(168.7265625, 1981)"><rect class="basic label-container" style="" x="-118.9140625" y="-39" width="237.828125" height="78"/><g class="label" style="" transform="translate(-88.9140625, -24)"><rect/><foreignObject width="177.828125" height="48"><div xmlns="http://www.w3.org/1999/xhtml" style="display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;"><span class="nodeLabel"><p>Dispatch sequentially<br />(short-circuit on success)</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="my-svg-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs><defs><filter id="my-svg-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"/></filter></defs></svg>