Files
CASAN/docs/guides/assets/casan-agentic-runtime.svg
T
2026-07-23 23:50:09 +07:00

1 line
36 KiB
XML

<svg id="container" width="656.01953125" xmlns="http://www.w3.org/2000/svg" class="flowchart" height="1615.15625" viewBox="0 0 656.01953125 1615.15625" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#container{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;}}#container .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#container .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#container .error-icon{fill:#552222;}#container .error-text{fill:#552222;stroke:#552222;}#container .edge-thickness-normal{stroke-width:1px;}#container .edge-thickness-thick{stroke-width:3.5px;}#container .edge-pattern-solid{stroke-dasharray:0;}#container .edge-thickness-invisible{stroke-width:0;fill:none;}#container .edge-pattern-dashed{stroke-dasharray:3;}#container .edge-pattern-dotted{stroke-dasharray:2;}#container .marker{fill:#333333;stroke:#333333;}#container .marker.cross{stroke:#333333;}#container svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#container p{margin:0;}#container .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#container .cluster-label text{fill:#333;}#container .cluster-label span{color:#333;}#container .cluster-label span p{background-color:transparent;}#container .label text,#container span{fill:#333;color:#333;}#container .node rect,#container .node circle,#container .node ellipse,#container .node polygon,#container .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#container .rough-node .label text,#container .node .label text,#container .image-shape .label,#container .icon-shape .label{text-anchor:middle;}#container .node .katex path{fill:#000;stroke:#000;stroke-width:1px;}#container .rough-node .label,#container .node .label,#container .image-shape .label,#container .icon-shape .label{text-align:center;}#container .node.clickable{cursor:pointer;}#container .root .anchor path{fill:#333333!important;stroke-width:0;stroke:#333333;}#container .arrowheadPath{fill:#333333;}#container .edgePath .path{stroke:#333333;stroke-width:1px;}#container .flowchart-link{stroke:#333333;fill:none;}#container .edgeLabel{background-color:rgba(232,232,232, 0.8);text-align:center;}#container .edgeLabel p{background-color:rgba(232,232,232, 0.8);}#container .edgeLabel rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#container .labelBkg{background-color:rgba(232, 232, 232, 0.5);}#container .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#container .cluster text{fill:#333;}#container .cluster span{color:#333;}#container 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;}#container .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#333;}#container rect.text{fill:none;stroke-width:0;}#container .icon-shape,#container .image-shape{background-color:rgba(232,232,232, 0.8);text-align:center;}#container .icon-shape p,#container .image-shape p{background-color:rgba(232,232,232, 0.8);padding:2px;}#container .icon-shape .label rect,#container .image-shape .label rect{opacity:0.5;background-color:rgba(232,232,232, 0.8);fill:rgba(232,232,232, 0.8);}#container .label-icon{display:inline-block;height:1em;overflow:visible;vertical-align:-0.125em;}#container .node .label-icon path{fill:currentColor;stroke:revert;stroke-width:revert;}#container .node .neo-node{stroke:#9370DB;}#container [data-look="neo"].node rect,#container [data-look="neo"].cluster rect,#container [data-look="neo"].node polygon{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#container [data-look="neo"].node path{stroke:#9370DB;stroke-width:1px;}#container [data-look="neo"].node .outer-path{filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#container [data-look="neo"].node .neo-line path{stroke:#9370DB;filter:none;}#container [data-look="neo"].node circle{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#container [data-look="neo"].node circle .state-start{fill:#000000;}#container [data-look="neo"].icon-shape .icon{fill:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#container [data-look="neo"].icon-shape .icon-neo path{stroke:#9370DB;filter:drop-shadow(1px 2px 2px rgba(185, 185, 185, 1));}#container :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}</style><g><marker id="container_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;"></path></marker><marker id="container_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;"></path></marker><marker id="container_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;"></path></marker><marker id="container_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;"></polygon></marker><marker id="container_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;"></circle></marker><marker id="container_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;"></circle></marker><marker id="container_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;"></circle></marker><marker id="container_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;"></circle></marker><marker id="container_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;"></path></marker><marker id="container_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;"></path></marker><marker id="container_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;"></path></marker><marker id="container_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;"></path></marker><g class="root"><g class="clusters"><g class="cluster" id="container-TURN" data-look="classic"><rect style="" x="208.0390625" y="967.15625" width="417.5859375" height="512"></rect><g class="cluster-label" transform="translate(354.83984375, 967.15625)"><foreignObject width="123.984375" 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>Per-turn lifecycle</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M193.258,54.654L174.901,60.045C156.544,65.436,119.831,76.218,101.474,85.109C83.117,94,83.117,101,83.117,104.5L83.117,108" id="container-L_U_C1_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_U_C1_0" data-points="W3sieCI6MTkzLjI1NzgxMjUsInkiOjU0LjY1MzcyMzk2NzUyNTU5fSx7IngiOjgzLjExNzE4NzUsInkiOjg3fSx7IngiOjgzLjExNzE4NzUsInkiOjExMn1d" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M260.18,62L260.18,66.167C260.18,70.333,260.18,78.667,260.18,86.333C260.18,94,260.18,101,260.18,104.5L260.18,108" id="container-L_U_C2_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_U_C2_0" data-points="W3sieCI6MjYwLjE3OTY4NzUsInkiOjYyfSx7IngiOjI2MC4xNzk2ODc1LCJ5Ijo4N30seyJ4IjoyNjAuMTc5Njg3NSwieSI6MTEyfV0=" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M327.102,49.961L354.715,56.134C382.329,62.307,437.557,74.654,465.171,84.327C492.785,94,492.785,101,492.785,104.5L492.785,108" id="container-L_U_C3_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_U_C3_0" data-points="W3sieCI6MzI3LjEwMTU2MjUsInkiOjQ5Ljk2MDY4NjUxNjUzMzE2fSx7IngiOjQ5Mi43ODUxNTYyNSwieSI6ODd9LHsieCI6NDkyLjc4NTE1NjI1LCJ5IjoxMTJ9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M83.117,166L83.117,170.167C83.117,174.333,83.117,182.667,89.636,190.662C96.155,198.658,109.193,206.316,115.712,210.145L122.231,213.974" id="container-L_C1_E1_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_C1_E1_0" data-points="W3sieCI6ODMuMTE3MTg3NSwieSI6MTY2fSx7IngiOjgzLjExNzE4NzUsInkiOjE5MX0seyJ4IjoxMjUuNjgwMjg4NDYxNTM4NDUsInkiOjIxNn1d" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M260.18,166L260.18,170.167C260.18,174.333,260.18,182.667,253.661,190.662C247.142,198.658,234.104,206.316,227.585,210.145L221.066,213.974" id="container-L_C2_E1_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_C2_E1_0" data-points="W3sieCI6MjYwLjE3OTY4NzUsInkiOjE2Nn0seyJ4IjoyNjAuMTc5Njg3NSwieSI6MTkxfSx7IngiOjIxNy42MTY1ODY1Mzg0NjE1NSwieSI6MjE2fV0=" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M492.785,166L492.785,170.167C492.785,174.333,492.785,182.667,492.785,190.333C492.785,198,492.785,205,492.785,208.5L492.785,212" id="container-L_C3_E2_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_C3_E2_0" data-points="W3sieCI6NDkyLjc4NTE1NjI1LCJ5IjoxNjZ9LHsieCI6NDkyLjc4NTE1NjI1LCJ5IjoxOTF9LHsieCI6NDkyLjc4NTE1NjI1LCJ5IjoyMTZ9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M171.648,270L171.648,274.167C171.648,278.333,171.648,286.667,181.9,294.761C192.151,302.856,212.653,310.712,222.904,314.641L233.155,318.569" id="container-L_E1_B_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_E1_B_0" data-points="W3sieCI6MTcxLjY0ODQzNzUsInkiOjI3MH0seyJ4IjoxNzEuNjQ4NDM3NSwieSI6Mjk1fSx7IngiOjIzNi44OTAzMjQ1MTkyMzA3NywieSI6MzIwfV0=" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M492.785,270L492.785,274.167C492.785,278.333,492.785,286.667,478.569,294.82C464.352,302.973,435.919,310.947,421.702,314.933L407.486,318.92" id="container-L_E2_B_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_E2_B_0" data-points="W3sieCI6NDkyLjc4NTE1NjI1LCJ5IjoyNzB9LHsieCI6NDkyLjc4NTE1NjI1LCJ5IjoyOTV9LHsieCI6NDAzLjYzNDM5MDAyNDAzODQ1LCJ5IjozMjB9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M307.352,374L307.352,378.167C307.352,382.333,307.352,390.667,307.352,398.333C307.352,406,307.352,413,307.352,416.5L307.352,420" id="container-L_B_V_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_B_V_0" data-points="W3sieCI6MzA3LjM1MTU2MjUsInkiOjM3NH0seyJ4IjozMDcuMzUxNTYyNSwieSI6Mzk5fSx7IngiOjMwNy4zNTE1NjI1LCJ5Ijo0MjR9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M257.085,610.89L246.383,625.434C235.68,639.979,214.276,669.067,203.573,689.112C192.871,709.156,192.871,720.156,192.871,725.656L192.871,731.156" id="container-L_V_D_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_V_D_0" data-points="W3sieCI6MjU3LjA4NTE0MDE0Njk5NSwieSI6NjEwLjg4OTgyNzY0Njk5NTF9LHsieCI6MTkyLjg3MTA5Mzc1LCJ5Ijo2OTguMTU2MjV9LHsieCI6MTkyLjg3MTA5Mzc1LCJ5Ijo3MzUuMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M357.618,610.89L368.32,625.434C379.023,639.979,400.427,669.067,411.13,691.112C421.832,713.156,421.832,728.156,421.832,735.656L421.832,743.156" id="container-L_V_A_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_V_A_0" data-points="W3sieCI6MzU3LjYxNzk4NDg1MzAwNSwieSI6NjEwLjg4OTgyNzY0Njk5NTF9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo2OTguMTU2MjV9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo3NDcuMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M421.832,801.156L421.832,807.323C421.832,813.49,421.832,825.823,421.832,835.49C421.832,845.156,421.832,852.156,421.832,855.656L421.832,859.156" id="container-L_A_G_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_A_G_0" data-points="W3sieCI6NDIxLjgzMjAzMTI1LCJ5Ijo4MDEuMTU2MjV9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo4MzguMTU2MjV9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo4NjMuMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M421.832,1070.156L421.832,1074.323C421.832,1078.49,421.832,1086.823,421.832,1094.49C421.832,1102.156,421.832,1109.156,421.832,1112.656L421.832,1116.156" id="container-L_L1_L2_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_L1_L2_0" data-points="W3sieCI6NDIxLjgzMjAzMTI1LCJ5IjoxMDcwLjE1NjI1fSx7IngiOjQyMS44MzIwMzEyNSwieSI6MTA5NS4xNTYyNX0seyJ4Ijo0MjEuODMyMDMxMjUsInkiOjExMjAuMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M421.832,1198.156L421.832,1202.323C421.832,1206.49,421.832,1214.823,421.832,1222.49C421.832,1230.156,421.832,1237.156,421.832,1240.656L421.832,1244.156" id="container-L_L2_L3_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_L2_L3_0" data-points="W3sieCI6NDIxLjgzMjAzMTI1LCJ5IjoxMTk4LjE1NjI1fSx7IngiOjQyMS44MzIwMzEyNSwieSI6MTIyMy4xNTYyNX0seyJ4Ijo0MjEuODMyMDMxMjUsInkiOjEyNDguMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M421.832,1326.156L421.832,1330.323C421.832,1334.49,421.832,1342.823,421.832,1350.49C421.832,1358.156,421.832,1365.156,421.832,1368.656L421.832,1372.156" id="container-L_L3_L4_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_L3_L4_0" data-points="W3sieCI6NDIxLjgzMjAzMTI1LCJ5IjoxMzI2LjE1NjI1fSx7IngiOjQyMS44MzIwMzEyNSwieSI6MTM1MS4xNTYyNX0seyJ4Ijo0MjEuODMyMDMxMjUsInkiOjEzNzYuMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M421.832,917.156L421.832,921.323C421.832,925.49,421.832,933.823,421.832,942.156C421.832,950.49,421.832,958.823,421.832,966.49C421.832,974.156,421.832,981.156,421.832,984.656L421.832,988.156" id="container-L_G_L1_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_G_L1_0" data-points="W3sieCI6NDIxLjgzMjAzMTI1LCJ5Ijo5MTcuMTU2MjV9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo5NDIuMTU2MjV9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo5NjcuMTU2MjV9LHsieCI6NDIxLjgzMjAzMTI1LCJ5Ijo5OTIuMTU2MjV9XQ==" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M344.118,1454.156L335.815,1458.323C327.512,1462.49,310.906,1470.823,302.604,1479.156C294.301,1487.49,294.301,1495.823,294.301,1503.49C294.301,1511.156,294.301,1518.156,294.301,1521.656L294.301,1525.156" id="container-L_L4_S_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_L4_S_0" data-points="W3sieCI6MzQ0LjExNzY3NTc4MTI1LCJ5IjoxNDU0LjE1NjI1fSx7IngiOjI5NC4zMDA3ODEyNSwieSI6MTQ3OS4xNTYyNX0seyJ4IjoyOTQuMzAwNzgxMjUsInkiOjE1MDQuMTU2MjV9LHsieCI6Mjk0LjMwMDc4MTI1LCJ5IjoxNTI5LjE1NjI1fV0=" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path><path d="M499.546,1454.156L507.849,1458.323C516.152,1462.49,532.758,1470.823,541.06,1479.156C549.363,1487.49,549.363,1495.823,549.363,1505.49C549.363,1515.156,549.363,1526.156,549.363,1531.656L549.363,1537.156" id="container-L_L4_R_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_L4_R_0" data-points="W3sieCI6NDk5LjU0NjM4NjcxODc1LCJ5IjoxNDU0LjE1NjI1fSx7IngiOjU0OS4zNjMyODEyNSwieSI6MTQ3OS4xNTYyNX0seyJ4Ijo1NDkuMzYzMjgxMjUsInkiOjE1MDQuMTU2MjV9LHsieCI6NTQ5LjM2MzI4MTI1LCJ5IjoxNTQxLjE1NjI1fV0=" data-look="classic" marker-end="url(#container_flowchart-v2-pointEnd)"></path></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_U_C1_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_U_C2_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_U_C3_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_C1_E1_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_C2_E1_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_C3_E2_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_E1_B_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_E2_B_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_B_V_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" transform="translate(192.87109375, 698.15625)"><g class="label" data-id="L_V_D_0" transform="translate(-10.140625, -12)"><foreignObject width="20.28125" height="24"><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"><p>No</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(421.83203125, 698.15625)"><g class="label" data-id="L_V_A_0" transform="translate(-12.03125, -12)"><foreignObject width="24.0625" height="24"><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"><p>Yes</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_A_G_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_L1_L2_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_L2_L3_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_L3_L4_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_G_L1_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_L4_S_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_L4_R_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="node default" id="container-flowchart-U-0" data-look="classic" transform="translate(260.1796875, 35)"><rect class="basic label-container" style="" x="-66.921875" y="-27" width="133.84375" height="54"></rect><g class="label" style="" transform="translate(-36.921875, -12)"><rect></rect><foreignObject width="73.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>Developer</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-C1-1" data-look="classic" transform="translate(83.1171875, 139)"><rect class="basic label-container" style="" x="-75.1171875" y="-27" width="150.234375" height="54"></rect><g class="label" style="" transform="translate(-45.1171875, -12)"><rect></rect><foreignObject width="90.234375" 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>Claude Code</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-C2-3" data-look="classic" transform="translate(260.1796875, 139)"><rect class="basic label-container" style="" x="-51.9453125" y="-27" width="103.890625" height="54"></rect><g class="label" style="" transform="translate(-21.9453125, -12)"><rect></rect><foreignObject width="43.890625" 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>Codex</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-C3-5" data-look="classic" transform="translate(492.78515625, 139)"><rect class="basic label-container" style="" x="-91.859375" y="-27" width="183.71875" height="54"></rect><g class="label" style="" transform="translate(-61.859375, -12)"><rect></rect><foreignObject width="123.71875" 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>VS Code: @casan</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-E1-7" data-look="classic" transform="translate(171.6484375, 243)"><rect class="basic label-container" style="" x="-101.59375" y="-27" width="203.1875" height="54"></rect><g class="label" style="" transform="translate(-71.59375, -12)"><rect></rect><foreignObject width="143.1875" 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>Project hook events</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-E2-11" data-look="classic" transform="translate(492.78515625, 243)"><rect class="basic label-container" style="" x="-119.8125" y="-27" width="239.625" height="54"></rect><g class="label" style="" transform="translate(-89.8125, -12)"><rect></rect><foreignObject width="179.625" 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>CASAN-owned VSIX route</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-B-13" data-look="classic" transform="translate(307.3515625, 347)"><rect class="basic label-container" style="" x="-108.984375" y="-27" width="217.96875" height="54"></rect><g class="label" style="" transform="translate(-78.984375, -12)"><rect></rect><foreignObject width="157.96875" 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>.casan/casan-hook.py</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-V-17" data-look="classic" transform="translate(307.3515625, 542.578125)"><polygon points="118.578125,0 237.15625,-118.578125 118.578125,-237.15625 0,-118.578125" class="label-container" transform="translate(-118.078125, 118.578125)"></polygon><g class="label" style="" transform="translate(-79.578125, -24)"><rect></rect><foreignObject width="159.15625" 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>Global harness<br/>matches version.lock?</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-D-19" data-look="classic" transform="translate(192.87109375, 774.15625)"><rect class="basic label-container" style="" x="-97.4453125" y="-39" width="194.890625" height="78"></rect><g class="label" style="" transform="translate(-67.4453125, -24)"><rect></rect><foreignObject width="134.890625" 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>Deny or degrade<br/>according to mode</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-A-21" data-look="classic" transform="translate(421.83203125, 774.15625)"><rect class="basic label-container" style="" x="-81.515625" y="-27" width="163.03125" height="54"></rect><g class="label" style="" transform="translate(-51.515625, -12)"><rect></rect><foreignObject width="103.03125" 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>Client adapter</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-G-23" data-look="classic" transform="translate(421.83203125, 890.15625)"><rect class="basic label-container" style="" x="-82.03125" y="-27" width="164.0625" height="54"></rect><g class="label" style="" transform="translate(-52.03125, -12)"><rect></rect><foreignObject width="104.0625" 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>Agentic bridge</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-L1-24" data-look="classic" transform="translate(421.83203125, 1031.15625)"><rect class="basic label-container" style="" x="-67.4921875" y="-39" width="134.984375" height="78"></rect><g class="label" style="" transform="translate(-37.4921875, -24)"><rect></rect><foreignObject width="74.984375" 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>Admission<br/>H1 + H4</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-L2-25" data-look="classic" transform="translate(421.83203125, 1159.15625)"><rect class="basic label-container" style="" x="-76.9453125" y="-39" width="153.890625" height="78"></rect><g class="label" style="" transform="translate(-46.9453125, -24)"><rect></rect><foreignObject width="93.890625" 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>Pre-tool gate<br/>H2 + H4</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-L3-27" data-look="classic" transform="translate(421.83203125, 1287.15625)"><rect class="basic label-container" style="" x="-97.5234375" y="-39" width="195.046875" height="78"></rect><g class="label" style="" transform="translate(-67.5234375, -24)"><rect></rect><foreignObject width="135.046875" 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>Post-tool evidence<br/>H5</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-L4-29" data-look="classic" transform="translate(421.83203125, 1415.15625)"><rect class="basic label-container" style="" x="-92.2734375" y="-39" width="184.546875" height="78"></rect><g class="label" style="" transform="translate(-62.2734375, -24)"><rect></rect><foreignObject width="124.546875" 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>Finalize<br/>H3 + H5 + H6 + H7</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-S-33" data-look="classic" transform="translate(294.30078125, 1568.15625)"><rect class="basic label-container" style="" x="-106.40625" y="-39" width="212.8125" height="78"></rect><g class="label" style="" transform="translate(-76.40625, -24)"><rect></rect><foreignObject width="152.8125" 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>Project runtime state<br/>.specify/logs + state</p></span></div></foreignObject></g></g><g class="node default" id="container-flowchart-R-35" data-look="classic" transform="translate(549.36328125, 1568.15625)"><rect class="basic label-container" style="" x="-98.65625" y="-27" width="197.3125" height="54"></rect><g class="label" style="" transform="translate(-68.65625, -12)"><rect></rect><foreignObject width="137.3125" 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>Native client result</p></span></div></foreignObject></g></g></g></g></g><defs><filter id="container-drop-shadow" height="130%" width="130%"><feDropShadow dx="4" dy="4" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs><defs><filter id="container-drop-shadow-small" height="150%" width="150%"><feDropShadow dx="2" dy="2" stdDeviation="0" flood-opacity="0.06" flood-color="#000000"></feDropShadow></filter></defs></svg>