mirror of
https://bitbucket.org/siakitem/my-pi.git
synced 2026-10-26 18:55:22 +00:00
从官方 Git 仓库导入 chandra447/pi-hermes-memory 在 tag v0.9.10 (df624056a2e8c68bc89ba0a81e1c120856ec9665,2026-10-02)的源码快照。 本次仅导入源码,尚未接入组合包:package.json、加载顺序、依赖与权限策略 均未改动。 - 原样导入 src/、tests/、docs/、scripts/、README、CHANGELOG、PLAN、 AGENTS 与 LICENSE;该快照共 156 个上游文件。 - 剔除嵌套 .git、上游 .github 工作流、.ralph/、.claude/、node_modules、 覆盖率与构建产物。 - 新增中文 UPSTREAM.md,记录来源,以及启用前必须完成的待决事项: 在 pi-compaction 之前注册加载顺序、better-sqlite3 版本与根 allowScripts 对齐、strip-ansi 解析确认。 - 说明选择 tag 而非 main 的原因:导入时上游 main 已领先至 24fcd8ad26fc27badb8d7dbaf8034645de07b893(2026-10-11),选 tag 是为 对应一个已发布、可复现的版本。 尚未接线。启用前还需反转 tests/extension-load.test.ts 中"不得加载 Hermes"的断言,并同步 pi-tool-search 分组、权限策略与文档。 验证:快照 156 个上游文件全部导入,目录内仅多出 UPSTREAM.md 一份; 已确认与上游 main 内容存在差异,证明取的是 tag 而非 main。
1 line
34 KiB
XML
1 line
34 KiB
XML
<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: 1518.45px; background-color: white;" viewBox="0 0 1518.453125 1002.60546875" 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="cluster" id="my-svg-subGraph1" data-look="classic"><rect style="" x="1232.90625" y="338.80859375" width="277.546875" height="436"/><g class="cluster-label" transform="translate(1316.3515625, 338.80859375)"><foreignObject width="110.65625" 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>Failure Memory</p></span></div></foreignObject></g></g><g class="cluster" id="my-svg-subGraph0" data-look="classic"><rect style="" x="539.5" y="8" width="310" height="484"/><g class="cluster-label" transform="translate(634.375, 8)"><foreignObject width="120.25" 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>Blocked Patterns</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M240.891,308L245.057,308C249.224,308,257.557,308,265.224,308C272.891,308,279.891,308,283.391,308L286.891,308" id="my-svg-L_A_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_A_B_0" data-points="W3sieCI6MjQwLjg5MDYyNSwieSI6MzA4fSx7IngiOjI2NS44OTA2MjUsInkiOjMwOH0seyJ4IjoyOTAuODkwNjI1LCJ5IjozMDh9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M386.131,355.369L402.859,388.474C419.587,421.579,453.044,487.79,478.605,520.895C504.167,554,521.833,554,541.413,554C560.992,554,582.484,554,593.23,554L603.977,554" id="my-svg-L_B_C_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_C_0" data-points="W3sieCI6Mzg2LjEzMTAyNTk3MTAxMjA0LCJ5IjozNTUuMzY4OTc0MDI4OTg3OTZ9LHsieCI6NDg2LjUsInkiOjU1NH0seyJ4Ijo1MzkuNSwieSI6NTU0fSx7IngiOjYwNy45NzY1NjI1LCJ5Ijo1NTR9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M378.278,363.222L396.315,425.153C414.352,487.084,450.426,610.946,477.296,672.877C504.167,734.809,521.833,734.809,543.397,734.809C564.961,734.809,590.422,734.809,603.152,734.809L615.883,734.809" id="my-svg-L_B_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_B_D_0" data-points="W3sieCI6Mzc4LjI3ODIyNTM5MzgyMjksInkiOjM2My4yMjE3NzQ2MDYxNzcxfSx7IngiOjQ4Ni41LCJ5Ijo3MzQuODA4NTkzNzV9LHsieCI6NTM5LjUsInkiOjczNC44MDg1OTM3NX0seyJ4Ijo2MTkuODgyODEyNSwieSI6NzM0LjgwODU5Mzc1fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M729.869,774.057L749.808,796.182C769.746,818.307,809.623,862.558,840.783,884.683C871.943,906.809,894.385,906.809,916.203,906.809C938.021,906.809,959.214,906.809,969.81,906.809L980.406,906.809" id="my-svg-L_D_E_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_D_E_0" data-points="W3sieCI6NzI5Ljg2OTAwMzI0OTIzNTQsInkiOjc3NC4wNTY3NzgwMDA3NjQ2fSx7IngiOjg0OS41LCJ5Ijo5MDYuODA4NTkzNzV9LHsieCI6OTE2LjgyODEyNSwieSI6OTA2LjgwODU5Mzc1fSx7IngiOjk4NC40MDYyNSwieSI6OTA2LjgwODU5Mzc1fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1132.078,878.887L1142.828,873.874C1153.578,868.861,1175.078,858.835,1191.883,853.822C1208.688,848.809,1220.797,848.809,1233.467,848.809C1246.138,848.809,1259.37,848.809,1265.986,848.809L1272.602,848.809" id="my-svg-L_E_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_E_G_0" data-points="W3sieCI6MTEzMi4wNzgzMDcwNTk2Mjk5LCJ5Ijo4NzguODg2OTAwODA5NjI5OX0seyJ4IjoxMTk2LjU3ODEyNSwieSI6ODQ4LjgwODU5Mzc1fSx7IngiOjEyMzIuOTA2MjUsInkiOjg0OC44MDg1OTM3NX0seyJ4IjoxMjc2LjYwMTU2MjUsInkiOjg0OC44MDg1OTM3NX1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1132.078,934.73L1142.828,939.743C1153.578,944.756,1175.078,954.782,1191.883,959.796C1208.688,964.809,1220.797,964.809,1230.352,964.809C1239.906,964.809,1246.906,964.809,1250.406,964.809L1253.906,964.809" id="my-svg-L_E_F_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_E_F_0" data-points="W3sieCI6MTEzMi4wNzgzMDcwNTk2Mjk5LCJ5Ijo5MzQuNzMwMjg2NjkwMzcwMX0seyJ4IjoxMTk2LjU3ODEyNSwieSI6OTY0LjgwODU5Mzc1fSx7IngiOjEyMzIuOTA2MjUsInkiOjk2NC44MDg1OTM3NX0seyJ4IjoxMjU3LjkwNjI1LCJ5Ijo5NjQuODA4NTkzNzV9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M735.659,701.35L754.632,685.927C773.606,670.503,811.553,639.656,841.748,624.232C871.943,608.809,894.385,608.809,916.161,608.809C937.938,608.809,959.047,608.809,969.602,608.809L980.156,608.809" id="my-svg-L_D_H_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_D_H_0" data-points="W3sieCI6NzM1LjY1ODk0Njg0MTYzNywieSI6NzAxLjM1MDM1MzA5MTYzN30seyJ4Ijo4NDkuNSwieSI6NjA4LjgwODU5Mzc1fSx7IngiOjkxNi44MjgxMjUsInkiOjYwOC44MDg1OTM3NX0seyJ4Ijo5ODQuMTU2MjUsInkiOjYwOC44MDg1OTM3NX1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M387.498,261.998L403.998,231.998C420.498,201.998,453.499,141.999,478.833,112C504.167,82,521.833,82,534.833,82C547.833,82,556.167,82,560.333,82L564.5,82" id="my-svg-L_B_P1_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_P1_0" data-points="W3sieCI6Mzg3LjQ5NzU5MTM4MjUwMTg3LCJ5IjoyNjEuOTk3NTkxMzgyNTAxODd9LHsieCI6NDg2LjUsInkiOjgyfSx7IngiOjUzOS41LCJ5Ijo4Mn0seyJ4Ijo1NjQuNSwieSI6ODJ9XQ==" data-look="classic"/><path d="M400.024,274.524L414.437,261.77C428.85,249.016,457.675,223.508,480.921,210.754C504.167,198,521.833,198,541.852,198C561.87,198,584.24,198,595.424,198L606.609,198" id="my-svg-L_B_P2_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_P2_0" data-points="W3sieCI6NDAwLjAyNDI5MDYyMDUxOTUsInkiOjI3NC41MjQyOTA2MjA1MTk1fSx7IngiOjQ4Ni41LCJ5IjoxOTh9LHsieCI6NTM5LjUsInkiOjE5OH0seyJ4Ijo2MDYuNjA5Mzc1LCJ5IjoxOTh9XQ==" data-look="classic"/><path d="M430.217,304.717L439.597,304.264C448.978,303.811,467.739,302.906,485.953,302.453C504.167,302,521.833,302,541.395,302C560.956,302,582.411,302,593.139,302L603.867,302" id="my-svg-L_B_P3_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_P3_0" data-points="W3sieCI6NDMwLjIxNjcwOTYzNDg3MDIsInkiOjMwNC43MTY3MDk2MzQ4NzAyfSx7IngiOjQ4Ni41LCJ5IjozMDJ9LHsieCI6NTM5LjUsInkiOjMwMn0seyJ4Ijo2MDMuODY3MTg3NSwieSI6MzAyfV0=" data-look="classic"/><path d="M400.024,341.476L414.437,354.23C428.85,366.984,457.675,392.492,480.921,405.246C504.167,418,521.833,418,541.797,418C561.76,418,584.021,418,595.151,418L606.281,418" id="my-svg-L_B_P4_0" class="edge-thickness-normal edge-pattern-dotted edge-thickness-normal edge-pattern-solid flowchart-link" style=";" data-edge="true" data-et="edge" data-id="L_B_P4_0" data-points="W3sieCI6NDAwLjAyNDI5MDYyMDUxOTUsInkiOjM0MS40NzU3MDkzNzk0ODA1fSx7IngiOjQ4Ni41LCJ5Ijo0MTh9LHsieCI6NTM5LjUsInkiOjQxOH0seyJ4Ijo2MDYuMjgxMjUsInkiOjQxOH1d" data-look="classic"/><path d="M1088.348,581.809L1106.386,551.642C1124.425,521.475,1160.501,461.142,1184.594,430.975C1208.688,400.809,1220.797,400.809,1237.484,400.809C1254.172,400.809,1275.438,400.809,1286.07,400.809L1296.703,400.809" id="my-svg-L_H_F1_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_H_F1_0" data-points="W3sieCI6MTA4OC4zNDc5NTY3MzA3NjkzLCJ5Ijo1ODEuODA4NTkzNzV9LHsieCI6MTE5Ni41NzgxMjUsInkiOjQwMC44MDg1OTM3NX0seyJ4IjoxMjMyLjkwNjI1LCJ5Ijo0MDAuODA4NTkzNzV9LHsieCI6MTMwMC43MDMxMjUsInkiOjQwMC44MDg1OTM3NX1d" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1104.493,581.809L1119.84,568.975C1135.188,556.142,1165.883,530.475,1187.285,517.642C1208.688,504.809,1220.797,504.809,1239.626,504.809C1258.456,504.809,1284.005,504.809,1296.78,504.809L1309.555,504.809" id="my-svg-L_H_F2_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_H_F2_0" data-points="W3sieCI6MTEwNC40OTI3ODg0NjE1Mzg2LCJ5Ijo1ODEuODA4NTkzNzV9LHsieCI6MTE5Ni41NzgxMjUsInkiOjUwNC44MDg1OTM3NX0seyJ4IjoxMjMyLjkwNjI1LCJ5Ijo1MDQuODA4NTkzNzV9LHsieCI6MTMxMy41NTQ2ODc1LCJ5Ijo1MDQuODA4NTkzNzV9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1160.25,608.809L1166.305,608.809C1172.359,608.809,1184.469,608.809,1196.578,608.809C1208.688,608.809,1220.797,608.809,1239.828,608.809C1258.859,608.809,1284.813,608.809,1297.789,608.809L1310.766,608.809" id="my-svg-L_H_F3_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_H_F3_0" data-points="W3sieCI6MTE2MC4yNSwieSI6NjA4LjgwODU5Mzc1fSx7IngiOjExOTYuNTc4MTI1LCJ5Ijo2MDguODA4NTkzNzV9LHsieCI6MTIzMi45MDYyNSwieSI6NjA4LjgwODU5Mzc1fSx7IngiOjEzMTQuNzY1NjI1LCJ5Ijo2MDguODA4NTkzNzV9XQ==" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1104.493,635.809L1119.84,648.642C1135.188,661.475,1165.883,687.142,1187.285,699.975C1208.688,712.809,1220.797,712.809,1237.07,712.809C1253.344,712.809,1273.781,712.809,1284,712.809L1294.219,712.809" id="my-svg-L_H_F4_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_H_F4_0" data-points="W3sieCI6MTEwNC40OTI3ODg0NjE1Mzg2LCJ5Ijo2MzUuODA4NTkzNzV9LHsieCI6MTE5Ni41NzgxMjUsInkiOjcxMi44MDg1OTM3NX0seyJ4IjoxMjMyLjkwNjI1LCJ5Ijo3MTIuODA4NTkzNzV9LHsieCI6MTI5OC4yMTg3NSwieSI6NzEyLjgwODU5Mzc1fV0=" data-look="classic" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel"><g class="label" data-id="L_A_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" transform="translate(486.5, 554)"><g class="label" data-id="L_B_C_0" transform="translate(-28, -12)"><foreignObject width="56" 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>Blocked</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(486.5, 734.80859375)"><g class="label" data-id="L_B_D_0" transform="translate(-15.375, -12)"><foreignObject width="30.75" 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>Safe</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(916.828125, 906.80859375)"><g class="label" data-id="L_D_E_0" transform="translate(-28.6796875, -12)"><foreignObject width="57.359375" 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>Exceeds</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(1196.578125, 848.80859375)"><g class="label" data-id="L_E_G_0" transform="translate(-11.328125, -12)"><foreignObject width="22.65625" 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" transform="translate(1196.578125, 964.80859375)"><g class="label" data-id="L_E_F_0" transform="translate(-9.3984375, -12)"><foreignObject width="18.796875" 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(916.828125, 608.80859375)"><g class="label" data-id="L_D_H_0" transform="translate(-42.328125, -12)"><foreignObject width="84.65625" 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>Within limit</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_B_P1_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_P2_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_P3_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_P4_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_H_F1_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_H_F2_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_H_F3_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_H_F4_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="my-svg-flowchart-A-0" data-look="classic" transform="translate(124.4453125, 308)"><rect class="basic label-container" style="" x="-116.4453125" y="-39" width="232.890625" height="78"/><g class="label" style="" transform="translate(-86.4453125, -24)"><rect/><foreignObject width="172.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>LLM calls<br />memory, skill, or failure</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-B-1" data-look="classic" transform="translate(362.1953125, 308)"><polygon points="71.3046875,0 142.609375,-71.3046875 71.3046875,-142.609375 0,-71.3046875" class="label-container" transform="translate(-70.8046875, 71.3046875)"/><g class="label" style="" transform="translate(-44.3046875, -12)"><rect/><foreignObject width="88.609375" 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>scanContent</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-C-3" data-look="classic" transform="translate(694.5, 554)"><rect class="basic label-container" style="fill:#3d0000 !important;stroke:#ff4444 !important" x="-86.5234375" y="-27" width="173.046875" height="54"/><g class="label" style="color:#fff !important" transform="translate(-56.5234375, -12)"><rect/><foreignObject width="113.046875" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>❌ Return error</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-D-5" data-look="classic" transform="translate(694.5, 734.80859375)"><polygon points="74.6171875,0 149.234375,-74.6171875 74.6171875,-149.234375 0,-74.6171875" class="label-container" transform="translate(-74.1171875, 74.6171875)"/><g class="label" style="" transform="translate(-35.6171875, -24)"><rect/><foreignObject width="71.234375" 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>Char limit<br />check</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-E-7" data-look="classic" transform="translate(1072.203125, 906.80859375)"><polygon points="87.796875,0 175.59375,-87.796875 87.796875,-175.59375 0,-87.796875" class="label-container" transform="translate(-87.296875, 87.796875)"/><g class="label" style="" transform="translate(-60.796875, -12)"><rect/><foreignObject width="121.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>autoConsolidate?</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-G-9" data-look="classic" transform="translate(1371.6796875, 848.80859375)"><rect class="basic label-container" style="fill:#003d3d !important;stroke:#00cccc !important" x="-95.078125" y="-39" width="190.15625" height="78"/><g class="label" style="color:#fff !important" transform="translate(-65.078125, -24)"><rect/><foreignObject width="130.15625" height="48"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>🔄 Merge & prune<br />then retry</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-F-11" data-look="classic" transform="translate(1371.6796875, 964.80859375)"><rect class="basic label-container" style="" x="-113.7734375" y="-27" width="227.546875" height="54"/><g class="label" style="" transform="translate(-83.7734375, -12)"><rect/><foreignObject width="167.546875" 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>❌ Return budget error</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-H-13" data-look="classic" transform="translate(1072.203125, 608.80859375)"><rect class="basic label-container" style="fill:#003d00 !important;stroke:#44ff44 !important" x="-88.046875" y="-27" width="176.09375" height="54"/><g class="label" style="color:#fff !important" transform="translate(-58.046875, -12)"><rect/><foreignObject width="116.09375" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>✅ Write to disk</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-P1-14" data-look="classic" transform="translate(694.5, 82)"><rect class="basic label-container" style="" x="-130" y="-39" width="260" height="78"/><g class="label" style="" transform="translate(-100, -24)"><rect/><foreignObject width="200" height="48"><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>'ignore previous instructions'</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-P2-15" data-look="classic" transform="translate(694.5, 198)"><rect class="basic label-container" style="" x="-87.890625" y="-27" width="175.78125" height="54"/><g class="label" style="" transform="translate(-57.890625, -12)"><rect/><foreignObject width="115.78125" 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>'curl ${API_KEY}'</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-P3-16" data-look="classic" transform="translate(694.5, 302)"><rect class="basic label-container" style="" x="-90.6328125" y="-27" width="181.265625" height="54"/><g class="label" style="" transform="translate(-60.6328125, -12)"><rect/><foreignObject width="121.265625" 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>Zero-width chars</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-P4-17" data-look="classic" transform="translate(694.5, 418)"><rect class="basic label-container" style="" x="-88.21875" y="-39" width="176.4375" height="78"/><g class="label" style="" transform="translate(-58.21875, -24)"><rect/><foreignObject width="116.4375" 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>Secret patterns<br />API keys, tokens</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-F1-26" data-look="classic" transform="translate(1371.6796875, 400.80859375)"><rect class="basic label-container" style="fill:#2d1b2e !important;stroke:#ff6b6b !important" x="-70.9765625" y="-27" width="141.953125" height="54"/><g class="label" style="color:#fff !important" transform="translate(-40.9765625, -12)"><rect/><foreignObject width="81.953125" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>Corrections</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-F2-27" data-look="classic" transform="translate(1371.6796875, 504.80859375)"><rect class="basic label-container" style="fill:#2d1b2e !important;stroke:#ff6b6b !important" x="-58.125" y="-27" width="116.25" height="54"/><g class="label" style="color:#fff !important" transform="translate(-28.125, -12)"><rect/><foreignObject width="56.25" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>Failures</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-F3-28" data-look="classic" transform="translate(1371.6796875, 608.80859375)"><rect class="basic label-container" style="fill:#2d1b2e !important;stroke:#ff6b6b !important" x="-56.9140625" y="-27" width="113.828125" height="54"/><g class="label" style="color:#fff !important" transform="translate(-26.9140625, -12)"><rect/><foreignObject width="53.828125" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>Insights</p></span></div></foreignObject></g></g><g class="node default" id="my-svg-flowchart-F4-29" data-look="classic" transform="translate(1371.6796875, 712.80859375)"><rect class="basic label-container" style="fill:#2d1b2e !important;stroke:#ff6b6b !important" x="-73.4609375" y="-27" width="146.921875" height="54"/><g class="label" style="color:#fff !important" transform="translate(-43.4609375, -12)"><rect/><foreignObject width="86.921875" height="24"><div style="color: rgb(255, 255, 255) !important; display: table-cell; white-space: nowrap; line-height: 1.5; max-width: 200px; text-align: center;" xmlns="http://www.w3.org/1999/xhtml"><span style="color:#fff !important" class="nodeLabel"><p>Conventions</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> |