tractatus/public/images/architecture-diagram-generic.svg
TheFlow 2298d36bed fix(submissions): restructure Economist package and fix article display
- Create Economist SubmissionTracking package correctly:
  * mainArticle = full blog post content
  * coverLetter = 216-word SIR— letter
  * Links to blog post via blogPostId
- Archive 'Letter to The Economist' from blog posts (it's the cover letter)
- Fix date display on article cards (use published_at)
- Target publication already displaying via blue badge

Database changes:
- Make blogPostId optional in SubmissionTracking model
- Economist package ID: 68fa85ae49d4900e7f2ecd83
- Le Monde package ID: 68fa2abd2e6acd5691932150

Next: Enhanced modal with tabs, validation, export

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-24 08:47:42 +13:00

1 line
No EOL
38 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: 2259.77px; background-color: transparent;" viewBox="0 0 2259.765625 1028" role="graphics-document document" aria-roledescription="flowchart-v2"><style>#my-svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#000000;}@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:#666;stroke:#666;}#my-svg .marker.cross{stroke:#666;}#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:#000000;}#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:#000000;color:#000000;}#my-svg .node rect,#my-svg .node circle,#my-svg .node ellipse,#my-svg .node polygon,#my-svg .node path{fill:#eee;stroke:#999;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:#666!important;stroke-width:0;stroke:#666;}#my-svg .arrowheadPath{fill:#333333;}#my-svg .edgePath .path{stroke:#666;stroke-width:2.0px;}#my-svg .flowchart-link{stroke:#666;fill:none;}#my-svg .edgeLabel{background-color:white;text-align:center;}#my-svg .edgeLabel p{background-color:white;}#my-svg .edgeLabel rect{opacity:0.5;background-color:white;fill:white;}#my-svg .labelBkg{background-color:rgba(255, 255, 255, 0.5);}#my-svg .cluster rect{fill:hsl(0, 0%, 98.9215686275%);stroke:#707070;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(-160, 0%, 93.3333333333%);border:1px solid #707070;border-radius:2px;pointer-events:none;z-index:100;}#my-svg .flowchartTitleText{text-anchor:middle;font-size:18px;fill:#000000;}#my-svg rect.text{fill:none;stroke-width:0;}#my-svg .icon-shape,#my-svg .image-shape{background-color:white;text-align:center;}#my-svg .icon-shape p,#my-svg .image-shape p{background-color:white;padding:2px;}#my-svg .icon-shape rect,#my-svg .image-shape rect{opacity:0.5;background-color:white;fill:white;}#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 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#my-svg .agent&gt;*{fill:#dbeafe!important;stroke:#3b82f6!important;stroke-width:3px!important;}#my-svg .agent span{fill:#dbeafe!important;stroke:#3b82f6!important;stroke-width:3px!important;}#my-svg .governance&gt;*{fill:#f0fdf4!important;stroke:#10b981!important;stroke-width:3px!important;}#my-svg .governance span{fill:#f0fdf4!important;stroke:#10b981!important;stroke-width:3px!important;}#my-svg .persistence&gt;*{fill:#fef9c3!important;stroke:#eab308!important;stroke-width:2px!important;}#my-svg .persistence span{fill:#fef9c3!important;stroke:#eab308!important;stroke-width:2px!important;}#my-svg .human&gt;*{fill:#fce7f3!important;stroke:#ec4899!important;stroke-width:3px!important;}#my-svg .human span{fill:#fce7f3!important;stroke:#ec4899!important;stroke-width:3px!important;}</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-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-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><g class="root"><g class="clusters"><g class="cluster" id="subGraph3" data-look="classic"><rect style="" x="70.5" y="772" width="506.03125" height="248"/><g class="cluster-label" transform="translate(226.109375, 772)"><foreignObject width="194.8125" 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>Human Approval Workflows</p></span></div></foreignObject></g></g><g class="cluster" id="subGraph2" data-look="classic"><rect style="" x="601.890625" y="772" width="1638.84375" height="248"/><g class="cluster-label" transform="translate(1321.3125, 772)"><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>Persistent Storage Layer (Immutable Audit Trail)</p></span></div></foreignObject></g></g><g class="cluster" id="subGraph1" data-look="classic"><rect style="" x="8" y="426" width="2243.765625" height="272"/><g class="cluster-label" transform="translate(1029.8828125, 426)"><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>Tractatus Governance Layer (External Enforcement)</p></span></div></foreignObject></g></g><g class="cluster" id="subGraph0" data-look="classic"><rect style="" x="116.21875" y="8" width="1834.6875" height="320"/><g class="cluster-label" transform="translate(933.5625, 8)"><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>Agent Runtime Layer (Any LLM Agent System)</p></span></div></foreignObject></g></g></g><g class="edgePaths"><path d="M1248.742,185.251L1069.452,209.042C890.161,232.834,531.581,280.417,352.29,312.375C173,344.333,173,360.667,173,377C173,393.333,173,409.667,173,421.333C173,433,173,440,173,443.5L173,447" id="L_AGENT_BE_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_AGENT_BE_0" data-points="W3sieCI6MTI0OC43NDIxODc1LCJ5IjoxODUuMjUwNzg1NjI4NjY0OTF9LHsieCI6MTczLCJ5IjozMjh9LHsieCI6MTczLCJ5IjozNzd9LHsieCI6MTczLCJ5Ijo0MjZ9LHsieCI6MTczLCJ5Ijo0NTF9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1248.742,214.108L1195.223,233.09C1141.703,252.072,1034.664,290.036,981.145,317.185C927.625,344.333,927.625,360.667,927.625,377C927.625,393.333,927.625,409.667,927.625,425.333C927.625,441,927.625,456,927.625,463.5L927.625,471" id="L_AGENT_IPC_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_AGENT_IPC_0" data-points="W3sieCI6MTI0OC43NDIxODc1LCJ5IjoyMTQuMTA3NzUzMzIwNzQ4ODN9LHsieCI6OTI3LjYyNSwieSI6MzI4fSx7IngiOjkyNy42MjUsInkiOjM3N30seyJ4Ijo5MjcuNjI1LCJ5Ijo0MjZ9LHsieCI6OTI3LjYyNSwieSI6NDc1fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1508.742,209.898L1569.816,229.582C1630.891,249.265,1753.039,288.633,1814.113,316.483C1875.188,344.333,1875.188,360.667,1875.188,377C1875.188,393.333,1875.188,409.667,1875.188,421.333C1875.188,433,1875.188,440,1875.188,443.5L1875.188,447" id="L_AGENT_CRV_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_AGENT_CRV_0" data-points="W3sieCI6MTUwOC43NDIxODc1LCJ5IjoyMDkuODk3ODY3NjUyODQ0NDR9LHsieCI6MTg3NS4xODc1LCJ5IjozMjh9LHsieCI6MTg3NS4xODc1LCJ5IjozNzd9LHsieCI6MTg3NS4xODc1LCJ5Ijo0MjZ9LHsieCI6MTg3NS4xODc1LCJ5Ijo0NTF9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1508.089,279L1517.605,287.167C1527.122,295.333,1546.155,311.667,1555.671,328C1565.188,344.333,1565.188,360.667,1565.188,377C1565.188,393.333,1565.188,409.667,1565.188,421.333C1565.188,433,1565.188,440,1565.188,443.5L1565.188,447" id="L_AGENT_CPM_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_AGENT_CPM_0" data-points="W3sieCI6MTUwOC4wODg2MjMwNDY4NzUsInkiOjI3OX0seyJ4IjoxNTY1LjE4NzUsInkiOjMyOH0seyJ4IjoxNTY1LjE4NzUsInkiOjM3N30seyJ4IjoxNTY1LjE4NzUsInkiOjQyNn0seyJ4IjoxNTY1LjE4NzUsInkiOjQ1MX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1293.026,279L1286.72,287.167C1280.413,295.333,1267.8,311.667,1261.494,328C1255.188,344.333,1255.188,360.667,1255.188,377C1255.188,393.333,1255.188,409.667,1255.188,421.333C1255.188,433,1255.188,440,1255.188,443.5L1255.188,447" id="L_AGENT_MV_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_AGENT_MV_0" data-points="W3sieCI6MTI5My4wMjYxMjMwNDY4NzUsInkiOjI3OX0seyJ4IjoxMjU1LjE4NzUsInkiOjMyOH0seyJ4IjoxMjU1LjE4NzUsInkiOjM3N30seyJ4IjoxMjU1LjE4NzUsInkiOjQyNn0seyJ4IjoxMjU1LjE4NzUsInkiOjQ1MX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1248.742,192.044L1126.23,214.704C1003.719,237.363,758.695,282.681,636.184,313.507C513.672,344.333,513.672,360.667,513.672,377C513.672,393.333,513.672,409.667,513.672,425.333C513.672,441,513.672,456,513.672,463.5L513.672,471" id="L_AGENT_PDO_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_AGENT_PDO_0" data-points="W3sieCI6MTI0OC43NDIxODc1LCJ5IjoxOTIuMDQ0Mjg4MzA3NDg5NDd9LHsieCI6NTEzLjY3MTg3NSwieSI6MzI4fSx7IngiOjUxMy42NzE4NzUsInkiOjM3N30seyJ4Ijo1MTMuNjcxODc1LCJ5Ijo0MjZ9LHsieCI6NTEzLjY3MTg3NSwieSI6NDc1fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M303,592.941L376.568,610.451C450.135,627.961,597.271,662.98,670.839,686.657C744.406,710.333,744.406,722.667,744.406,735C744.406,747.333,744.406,759.667,744.406,769.333C744.406,779,744.406,786,744.406,789.5L744.406,793" id="L_BE_GR_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_BE_GR_0" data-points="W3sieCI6MzAzLCJ5Ijo1OTIuOTQxMjA4NjQwOTYyNX0seyJ4Ijo3NDQuNDA2MjUsInkiOjY5OH0seyJ4Ijo3NDQuNDA2MjUsInkiOjczNX0seyJ4Ijo3NDQuNDA2MjUsInkiOjc3Mn0seyJ4Ijo3NDQuNDA2MjUsInkiOjc5N31d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M303,584.44L412.647,603.367C522.294,622.293,741.589,660.147,851.236,685.24C960.883,710.333,960.883,722.667,960.883,735C960.883,747.333,960.883,759.667,966.982,770.451C973.08,781.235,985.278,790.469,991.376,795.087L997.475,799.704" id="L_BE_AL_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_BE_AL_0" data-points="W3sieCI6MzAzLCJ5Ijo1ODQuNDM5ODg1MzczMTgxN30seyJ4Ijo5NjAuODgyODEyNSwieSI6Njk4fSx7IngiOjk2MC44ODI4MTI1LCJ5Ijo3MzV9LHsieCI6OTYwLjg4MjgxMjUsInkiOjc3Mn0seyJ4IjoxMDAwLjY2NDA2MjUsInkiOjgwMi4xMTg2Nzk2NDEyODk5fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M900.462,649L897.913,657.167C895.363,665.333,890.264,681.667,887.714,696C885.164,710.333,885.164,722.667,885.164,735C885.164,747.333,885.164,759.667,880.124,770.273C875.084,780.88,865.004,789.76,859.963,794.2L854.923,798.64" id="L_IPC_GR_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_IPC_GR_0" data-points="W3sieCI6OTAwLjQ2MjQ4ODUxMTAyOTQsInkiOjY0OX0seyJ4Ijo4ODUuMTY0MDYyNSwieSI6Njk4fSx7IngiOjg4NS4xNjQwNjI1LCJ5Ijo3MzV9LHsieCI6ODg1LjE2NDA2MjUsInkiOjc3Mn0seyJ4Ijo4NTEuOTIxODc1LCJ5Ijo4MDEuMjg0NTY0NTc3ODk4N31d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1075.188,594.573L1153.28,611.81C1231.372,629.048,1387.557,663.524,1465.65,686.929C1543.742,710.333,1543.742,722.667,1543.742,735C1543.742,747.333,1543.742,759.667,1578.662,779.594C1613.582,799.522,1683.423,827.044,1718.343,840.805L1753.263,854.566" id="L_IPC_IH_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_IPC_IH_0" data-points="W3sieCI6MTA3NS4xODc1LCJ5Ijo1OTQuNTcyNTM3MTg0NzM4fSx7IngiOjE1NDMuNzQyMTg3NSwieSI6Njk4fSx7IngiOjE1NDMuNzQyMTg3NSwieSI6NzM1fSx7IngiOjE1NDMuNzQyMTg3NSwieSI6NzcyfSx7IngiOjE3NTYuOTg0Mzc1LCJ5Ijo4NTYuMDMyNTc0NDIyMTI2OH1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M2005.188,624.236L2030.867,636.53C2056.547,648.824,2107.906,673.412,2133.586,691.873C2159.266,710.333,2159.266,722.667,2159.266,735C2159.266,747.333,2159.266,759.667,2126.642,779.279C2094.019,798.891,2028.773,825.783,1996.15,839.229L1963.526,852.674" id="L_CRV_IH_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_CRV_IH_0" data-points="W3sieCI6MjAwNS4xODc1LCJ5Ijo2MjQuMjM2NDAwNjM4MDI4N30seyJ4IjoyMTU5LjI2NTYyNSwieSI6Njk4fSx7IngiOjIxNTkuMjY1NjI1LCJ5Ijo3MzV9LHsieCI6MjE1OS4yNjU2MjUsInkiOjc3Mn0seyJ4IjoxOTU5LjgyODEyNSwieSI6ODU0LjE5ODcwMTYzNTkzODd9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1745.188,582.816L1625.297,602.013C1505.406,621.211,1265.625,659.605,1145.734,684.969C1025.844,710.333,1025.844,722.667,1025.844,735C1025.844,747.333,1025.844,759.667,1028.749,769.479C1031.654,779.291,1037.464,786.581,1040.369,790.227L1043.274,793.872" id="L_CRV_AL_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_CRV_AL_0" data-points="W3sieCI6MTc0NS4xODc1LCJ5Ijo1ODIuODE2MDcxMjMxNDY1NX0seyJ4IjoxMDI1Ljg0Mzc1LCJ5Ijo2OTh9LHsieCI6MTAyNS44NDM3NSwieSI6NzM1fSx7IngiOjEwMjUuODQzNzUsInkiOjc3Mn0seyJ4IjoxMDQ1Ljc2NzIwMDEwMDgwNjMsInkiOjc5N31d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1436.362,673L1431.527,677.167C1426.691,681.333,1417.019,689.667,1412.183,700C1407.348,710.333,1407.348,722.667,1407.348,735C1407.348,747.333,1407.348,759.667,1407.348,769.333C1407.348,779,1407.348,786,1407.348,789.5L1407.348,793" id="L_CPM_SS_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_CPM_SS_0" data-points="W3sieCI6MTQzNi4zNjIzMzM0MDk5MjY2LCJ5Ijo2NzN9LHsieCI6MTQwNy4zNDc2NTYyNSwieSI6Njk4fSx7IngiOjE0MDcuMzQ3NjU2MjUsInkiOjczNX0seyJ4IjoxNDA3LjM0NzY1NjI1LCJ5Ijo3NzJ9LHsieCI6MTQwNy4zNDc2NTYyNSwieSI6Nzk3fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1435.188,596.043L1370.297,613.036C1305.406,630.029,1175.625,664.014,1110.734,687.174C1045.844,710.333,1045.844,722.667,1045.844,735C1045.844,747.333,1045.844,759.667,1048.135,769.437C1050.426,779.208,1055.007,786.416,1057.298,790.02L1059.589,793.624" id="L_CPM_AL_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_CPM_AL_0" data-points="W3sieCI6MTQzNS4xODc1LCJ5Ijo1OTYuMDQyOTYyODczODE5MX0seyJ4IjoxMDQ1Ljg0Mzc1LCJ5Ijo2OTh9LHsieCI6MTA0NS44NDM3NSwieSI6NzM1fSx7IngiOjEwNDUuODQzNzUsInkiOjc3Mn0seyJ4IjoxMDYxLjczNDk0MjAzNjI5MDIsInkiOjc5N31d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M1201.677,673L1199.668,677.167C1197.66,681.333,1193.642,689.667,1191.634,700C1189.625,710.333,1189.625,722.667,1189.625,735C1189.625,747.333,1189.625,759.667,1187.752,769.409C1185.878,779.152,1182.131,786.305,1180.258,789.881L1178.384,793.457" id="L_MV_AL_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_MV_AL_0" data-points="W3sieCI6MTIwMS42NzY5MzAxNDcwNTg4LCJ5Ijo2NzN9LHsieCI6MTE4OS42MjUsInkiOjY5OH0seyJ4IjoxMTg5LjYyNSwieSI6NzM1fSx7IngiOjExODkuNjI1LCJ5Ijo3NzJ9LHsieCI6MTE3Ni41MjgwMzY3OTQzNTQ5LCJ5Ijo3OTd9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M674.344,593.398L763.557,610.831C852.771,628.265,1031.198,663.133,1120.411,686.733C1209.625,710.333,1209.625,722.667,1209.625,735C1209.625,747.333,1209.625,759.667,1207.147,769.45C1204.669,779.233,1199.713,786.467,1197.235,790.084L1194.757,793.7" id="L_PDO_AL_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_PDO_AL_0" data-points="W3sieCI6Njc0LjM0Mzc1LCJ5Ijo1OTMuMzk3NzY4MzQ4MjYzNH0seyJ4IjoxMjA5LjYyNSwieSI6Njk4fSx7IngiOjEyMDkuNjI1LCJ5Ijo3MzV9LHsieCI6MTIwOS42MjUsInkiOjc3Mn0seyJ4IjoxMTkyLjQ5NTc3ODcyOTgzODgsInkiOjc5N31d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M173,673L173,677.167C173,681.333,173,689.667,173,700C173,710.333,173,722.667,173,735C173,747.333,173,759.667,180.932,771.608C188.864,783.549,204.728,795.097,212.66,800.872L220.592,806.646" id="L_BE_HA_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_BE_HA_0" data-points="W3sieCI6MTczLCJ5Ijo2NzN9LHsieCI6MTczLCJ5Ijo2OTh9LHsieCI6MTczLCJ5Ijo3MzV9LHsieCI6MTczLCJ5Ijo3NzJ9LHsieCI6MjIzLjgyNjA0NTg2NjkzNTUsInkiOjgwOX1d" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M449.241,649L443.193,657.167C437.145,665.333,425.049,681.667,419.001,696C412.953,710.333,412.953,722.667,412.953,735C412.953,747.333,412.953,759.667,409.817,771.419C406.682,783.171,400.41,794.341,397.274,799.927L394.138,805.512" id="L_PDO_HA_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_PDO_HA_0" data-points="W3sieCI6NDQ5LjI0MTQ5ODE2MTc2NDcsInkiOjY0OX0seyJ4Ijo0MTIuOTUzMTI1LCJ5Ijo2OTh9LHsieCI6NDEyLjk1MzEyNSwieSI6NzM1fSx7IngiOjQxMi45NTMxMjUsInkiOjc3Mn0seyJ4IjozOTIuMTgwMjU0NTM2MjkwMywieSI6ODA5fV0=" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/><path d="M473.336,819.881L486.965,811.901C500.594,803.921,527.852,787.96,541.48,773.813C555.109,759.667,555.109,747.333,555.109,735C555.109,722.667,555.109,710.333,513.719,689.435C472.329,668.537,389.549,639.074,348.159,624.342L306.768,609.611" id="L_HA_BE_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_HA_BE_0" data-points="W3sieCI6NDczLjMzNTkzNzUsInkiOjgxOS44ODA5MTYzNjg0NjU3fSx7IngiOjU1NS4xMDkzNzUsInkiOjc3Mn0seyJ4Ijo1NTUuMTA5Mzc1LCJ5Ijo3MzV9LHsieCI6NTU1LjEwOTM3NSwieSI6Njk4fSx7IngiOjMwMywieSI6NjA4LjI2OTQ3NDU0NTA4Mjl9XQ==" marker-end="url(#my-svg_flowchart-v2-pointEnd)"/></g><g class="edgeLabels"><g class="edgeLabel" transform="translate(173, 377)"><g class="label" data-id="L_AGENT_BE_0" transform="translate(-100, -24)"><foreignObject width="200" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="labelBkg" style="display: table; white-space: break-spaces; line-height: 1.5; max-width: 200px; text-align: center; width: 200px;"><span class="edgeLabel"><p>All actions pass through governance checks</p></span></div></foreignObject></g></g><g class="edgeLabel"><g class="label" data-id="L_AGENT_IPC_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_AGENT_CRV_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_AGENT_CPM_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_AGENT_MV_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_AGENT_PDO_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_BE_GR_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_BE_AL_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_IPC_GR_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_IPC_IH_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_CRV_IH_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_CRV_AL_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_CPM_SS_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_CPM_AL_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_MV_AL_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_PDO_AL_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(173, 735)"><g class="label" data-id="L_BE_HA_0" transform="translate(-66.859375, -12)"><foreignObject width="133.71875" 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>Boundary violation</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(412.953125, 735)"><g class="label" data-id="L_PDO_HA_0" transform="translate(-52.375, -12)"><foreignObject width="104.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>Values conflict</p></span></div></foreignObject></g></g><g class="edgeLabel" transform="translate(555.109375, 735)"><g class="label" data-id="L_HA_BE_0" transform="translate(-69.78125, -12)"><foreignObject width="139.5625" 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>Approval/Rejection</p></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default agent" id="flowchart-AGENT-0" transform="translate(1378.7421875, 168)"><rect class="basic label-container" style="fill:#dbeafe !important;stroke:#3b82f6 !important;stroke-width:3px !important" x="-130" y="-111" width="260" height="222"/><g class="label" style="" transform="translate(-100, -96)"><rect/><foreignObject width="200" height="192"><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><b>Agentic AI Runtime</b><br />LangChain • AutoGPT • CrewAI<br />Claude Code • Custom Agents<br />Multi-Agent Systems<br /><i>Tool Use • Planning • Execution</i></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-BE-1" transform="translate(173, 562)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-130" y="-111" width="260" height="222"/><g class="label" style="" transform="translate(-100, -96)"><rect/><foreignObject width="200" height="192"><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><b>BoundaryEnforcer</b><br />Blocks values decisions<br />• Privacy policies<br />• Ethical trade-offs<br />• Strategic direction<br />• User agency violations<br /><b style="color:#ef4444">⚠ Cannot be bypassed by prompting</b></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-IPC-2" transform="translate(927.625, 562)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-147.5625" y="-87" width="295.125" height="174"/><g class="label" style="" transform="translate(-117.5625, -72)"><rect/><foreignObject width="235.125" height="144"><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><b>InstructionPersistenceClassifier</b><br />Classifies &amp; stores instructions<br />• Quadrant (STR/OPS/TAC/SYS)<br />• Persistence (HIGH/MED/LOW)<br />• Temporal scope<br /><b style="color:#ef4444">⚠ External to AI memory</b></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-CRV-3" transform="translate(1875.1875, 562)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-130" y="-111" width="260" height="222"/><g class="label" style="" transform="translate(-100, -96)"><rect/><foreignObject width="200" height="192"><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><b>CrossReferenceValidator</b><br />Prevents pattern bias override<br />• Checks instruction history<br />• Detects conflicts (27027)<br />• Blocks contradictions<br /><b style="color:#ef4444">⚠ Independent verification</b></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-CPM-4" transform="translate(1565.1875, 562)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-130" y="-111" width="260" height="222"/><g class="label" style="" transform="translate(-100, -96)"><rect/><foreignObject width="200" height="192"><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><b>ContextPressureMonitor</b><br />Detects degraded conditions<br />• Token budget tracking<br />• Error accumulation<br />• Checkpoint reporting<br /><b style="color:#ef4444">⚠ Objective metrics, not self-reported</b></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-MV-5" transform="translate(1255.1875, 562)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-130" y="-111" width="260" height="222"/><g class="label" style="" transform="translate(-100, -96)"><rect/><foreignObject width="200" height="192"><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><b>MetacognitiveVerifier</b><br />Validates complex operations<br />&gt;3 files or &gt;5 steps<br />• Architecture changes<br />• Confidence scoring<br /><b style="color:#ef4444">⚠ Structural pause-and-verify</b></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-PDO-6" transform="translate(513.671875, 562)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-160.671875" y="-87" width="321.34375" height="174"/><g class="label" style="" transform="translate(-130.671875, -72)"><rect/><foreignObject width="261.34375" height="144"><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><b>PluralisticDeliberationOrchestrator</b><br />Facilitates values deliberation<br />• Multi-stakeholder engagement<br />• Moral framework mapping<br />• Precedent documentation<br /><b style="color:#ef4444">⚠ Human judgment required</b></p></span></div></foreignObject></g></g><g class="node default persistence" id="flowchart-GR-7" transform="translate(744.40625, 896)"><rect class="basic label-container" style="fill:#fef9c3 !important;stroke:#eab308 !important;stroke-width:2px !important" x="-107.515625" y="-99" width="215.03125" height="198"/><g class="label" style="" transform="translate(-77.515625, -84)"><rect/><foreignObject width="155.03125" height="168"><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><b>governance_rules</b><br />• rule_id (STR-001...)<br />• quadrant<br />• persistence level<br />• enforced_by<br />• violation_action<br />• active status</p></span></div></foreignObject></g></g><g class="node default persistence" id="flowchart-AL-8" transform="translate(1124.6640625, 896)"><rect class="basic label-container" style="fill:#fef9c3 !important;stroke:#eab308 !important;stroke-width:2px !important" x="-124" y="-99" width="248" height="198"/><g class="label" style="" transform="translate(-94, -84)"><rect/><foreignObject width="188" height="168"><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><b>audit_logs</b><br />• timestamp<br />• service (which enforcer)<br />• action (BLOCK/WARN)<br />• instruction<br />• rule_violated<br />• session_id</p></span></div></foreignObject></g></g><g class="node default persistence" id="flowchart-SS-9" transform="translate(1407.34765625, 896)"><rect class="basic label-container" style="fill:#fef9c3 !important;stroke:#eab308 !important;stroke-width:2px !important" x="-101.3671875" y="-99" width="202.734375" height="198"/><g class="label" style="" transform="translate(-71.3671875, -84)"><rect/><foreignObject width="142.734375" height="168"><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><b>session_state</b><br />• session_id<br />• token_count<br />• message_count<br />• pressure_level<br />• last_checkpoint<br />• framework_active</p></span></div></foreignObject></g></g><g class="node default persistence" id="flowchart-IH-10" transform="translate(1858.40625, 896)"><rect class="basic label-container" style="fill:#fef9c3 !important;stroke:#eab308 !important;stroke-width:2px !important" x="-101.421875" y="-99" width="202.84375" height="198"/><g class="label" style="" transform="translate(-71.421875, -84)"><rect/><foreignObject width="142.84375" height="168"><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><b>instruction_history</b><br />• instruction_id<br />• content<br />• classification<br />• persistence<br />• created_at<br />• active status</p></span></div></foreignObject></g></g><g class="node default human" id="flowchart-HA-11" transform="translate(343.3359375, 896)"><rect class="basic label-container" style="fill:#fce7f3 !important;stroke:#ec4899 !important;stroke-width:3px !important" x="-130" y="-87" width="260" height="174"/><g class="label" style="" transform="translate(-100, -72)"><rect/><foreignObject width="200" height="144"><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><b>Human Oversight</b><br />Values Decisions<br />Strategic Changes<br />Boundary Violations<br /><i>Final authority on incommensurable values</i></p></span></div></foreignObject></g></g><g class="node default governance" id="flowchart-NOTE-50" transform="translate(2115.90625, 168)"><rect class="basic label-container" style="fill:#f0fdf4 !important;stroke:#10b981 !important;stroke-width:3px !important" x="-130" y="-135" width="260" height="270"/><g class="label" style="" transform="translate(-100, -120)"><rect/><foreignObject width="200" height="240"><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><b style="color:#dc2626 font-size:14px">🔒 KEY JAILBREAK DEFENSE</b><br /><span style="font-size:12px">Governance layer operates OUTSIDE agent runtime<br />Cannot be overridden by adversarial prompts<br />Structural boundaries, not behavioral training<br />Immutable audit trail independent of AI</span></p></span></div></foreignObject></g></g></g></g></g></svg>