<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="eli.ai" agent="eli.ai diagram exporter" version="1">
  <diagram id="semantic-layer-to-live-data-5fff2e80" name="Semantic layer to live data">
    <mxGraphModel dx="1600" dy="1200" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1200" math="0" shadow="0">
      <root>
        <mxCell id="0"/>
        <object id="1" label="Semantic layer to live data" schemaVersion="1" diagramId="semantic-layer-to-live-data-5fff2e80" canonicalAppearanceKey="tsx:src/app/(docs)/docs/architecture/page.tsx:SEMANTIC_DATA_CHART#1" sourceSha256="5fff2e80f4ff11bf5cd12be78dbd17c174cfbe166d517224040223e53ad3fecc" metadataPayloadSha256="f9c4165e5b1ad0cb69efc9e4c50daecf6a76275657123874cecebabc7effe45d" generationKey="a090a6a0e4b4dd938b1ed454b62e1a56ab3f6cf562476adad06d198c2854f170" concepts="[&quot;Semantic data&quot;,&quot;Public overview diagrams&quot;,&quot;Semantic layer to live data&quot;]" keywords="[&quot;structured query · MCP eli_query&quot;,&quot;parameterized, read-shaped SQL&quot;,&quot;Postgres · MySQL · Snowflake&quot;,&quot;explicit agent kb_data&quot;,&quot;documents → chunks&quot;,&quot;entities &amp; concepts&quot;,&quot;semantic layer&quot;,&quot;knowledge graph&quot;,&quot;→ named query&quot;,&quot;parameter map&quot;,&quot;external systems&quot;,&quot;append-only provenance&quot;,&quot;value snapshot + hash&quot;,&quot;optional per-user entitlement param&quot;,&quot;encrypted credentials · caps&quot;,&quot;entity_bindings&quot;,&quot;data_queries&quot;,&quot;data_connectors&quot;,&quot;data_calls&quot;,&quot;entity/type&quot;,&quot;row/time&quot;,&quot;/api/v1/query&quot;,&quot;/api/mcp&quot;,&quot;Sn&quot;,&quot;Dn&quot;]" application="{&quot;name&quot;:&quot;eli-ai&quot;,&quot;version&quot;:&quot;0.1.0&quot;}" packages="{&quot;mermaid&quot;:&quot;11.16.0&quot;,&quot;mermaidCli&quot;:&quot;11.16.0&quot;,&quot;playwright&quot;:&quot;1.62.1&quot;,&quot;playwrightCore&quot;:&quot;1.62.1&quot;,&quot;puppeteer&quot;:&quot;25.6.0&quot;,&quot;puppeteerCore&quot;:&quot;25.6.0&quot;}" environment="{&quot;architecture&quot;:&quot;x64&quot;,&quot;containerImage&quot;:&quot;playwright:v1.62.1-noble@sha256:c091b21d9fae78c76e85cd4356431e9b018402f172a214fc7d7a5e9a7e29d8ac+node:26.3.1-bookworm-slim@sha256:209558c3e5e40e8adff68959d3c2ba7cd73723e716d89196878a0c362fa1e109&quot;,&quot;node&quot;:&quot;v26.3.1&quot;,&quot;platform&quot;:&quot;linux&quot;,&quot;yarn&quot;:&quot;4.17.1&quot;}" renderer="{&quot;browser&quot;:{&quot;executableSha256&quot;:&quot;0b20b130e7edd9dd51873be867761295fe0cfad490c2b9a64f95bd3cfc08fa71&quot;,&quot;name&quot;:&quot;chromium&quot;,&quot;revision&quot;:&quot;1234&quot;,&quot;version&quot;:&quot;151.0.7922.34&quot;},&quot;font&quot;:{&quot;family&quot;:&quot;Eli Diagram Inter Variable&quot;,&quot;fileSha256&quot;:&quot;3100e775e8616cd2611beecfa23a4263d7037586789b43f035236a2e6fbd4c62&quot;,&quot;licenseSha256&quot;:&quot;3b0a5fca3d17942cde889069889dedbbbd075e9b599968c82a95f4d944e9b345&quot;},&quot;mermaidConfigSha256&quot;:&quot;68c10966fe84406ee626034d58bfabd555df9f65f691204b7c46db24038da101&quot;,&quot;themeCssSha256&quot;:&quot;c80287a78d80ad63d27bd5ca348b2ef9a7e2f44da289e436be6484ea28a1b033&quot;}" adapterVersions="{&quot;diagramGenerator&quot;:&quot;2&quot;,&quot;drawioFlowchart&quot;:&quot;1&quot;,&quot;drawioGantt&quot;:&quot;1&quot;,&quot;drawioSequence&quot;:&quot;1&quot;,&quot;drawioState&quot;:&quot;1&quot;}" mermaidType="flowchart" direction="LR" generatedAt="2026-08-12T23:42:12.826Z" mermaidSource="flowchart LR&#10;  Docs[&quot;documents → chunks&quot;] --&gt; Ent[&quot;entities &amp; concepts&lt;br/&gt;(semantic layer)&quot;]&#10;  Ent --&gt; Graph[(&quot;knowledge graph&quot;)]&#10;  Graph --&gt; EB[&quot;entity_bindings&lt;br/&gt;entity/type → named query&lt;br/&gt;+ parameter map&quot;]&#10;  EB --&gt; DQ[&quot;data_queries&lt;br/&gt;parameterized, read-shaped SQL&lt;br/&gt;optional per-user entitlement param&quot;]&#10;  DQ --&gt; Conn[&quot;data_connectors&lt;br/&gt;encrypted credentials · row/time caps&quot;]&#10;  Conn --&gt; Ext[(&quot;external systems&lt;br/&gt;Postgres · MySQL · Snowflake&quot;)]&#10;  Ext --&gt; Prov[(&quot;data_calls&lt;br/&gt;append-only provenance&lt;br/&gt;value snapshot + hash&quot;)]&#10;  Q[&quot;structured query · MCP eli_query&lt;br/&gt;explicit agent kb_data&quot;] --&gt; Graph&#10;  Prov --&gt; Ans[&quot;structured answer&lt;br/&gt;[Sn] + [Dn] citations&quot;]&#10;  Graph --&gt; Ans&#10;  Ans --&gt; Consumers[&quot;UI · /api/v1/query · /api/mcp&quot;]">
          <mxCell parent="0"/>
        </object>
        <object id="n:Docs" label="documents → chunks" mermaidId="Docs" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="8" y="41.5" width="220.0625" height="52" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Ent" label="entities &amp; concepts(semantic layer)" mermaidId="Ent" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="306.03125" y="29.5" width="200.0625" height="76" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Graph" label="knowledge graph" mermaidId="Graph" mermaidShape="cylinder">
          <mxCell parent="1" vertex="1" style="backgroundOutline=1;boundedLbl=1;fillColor=#ECECFF;fontColor=#333333;html=1;shape=cylinder3;size=15;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="584.0625" y="97.338034" width="145.359375" height="78.323932" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:EB" label="entity_bindingsentity/type → named query+ parameter map" mermaidId="EB" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="779.421875" y="20" width="256" height="124" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:DQ" label="data_queriesparameterized, read-shaped SQLoptional per-user entitlement param" mermaidId="DQ" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1085.421875" y="8" width="256" height="148" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Conn" label="data_connectorsencrypted credentials · row/time caps" mermaidId="Conn" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1391.421875" y="32" width="256" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Ext" label="external systemsPostgres · MySQL · Snowflake" mermaidId="Ext" mermaidShape="cylinder">
          <mxCell parent="1" vertex="1" style="backgroundOutline=1;boundedLbl=1;fillColor=#ECECFF;fontColor=#333333;html=1;shape=cylinder3;size=15;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1697.421875" y="15.327434" width="214" height="133.345133" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Prov" label="data_callsappend-only provenancevalue snapshot + hash" mermaidId="Prov" mermaidShape="cylinder">
          <mxCell parent="1" vertex="1" style="backgroundOutline=1;boundedLbl=1;fillColor=#ECECFF;fontColor=#333333;html=1;shape=cylinder3;size=15;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="1961.421875" y="15.738253" width="204.21875" height="132.523493" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Q" label="structured query · MCP eli_queryexplicit agent kb_data" mermaidId="Q" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="278.0625" y="155.5" width="256" height="100" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Ans" label="structured answer[Sn] + [Dn] citations" mermaidId="Ans" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="2215.640625" y="98.5" width="208.0625" height="76" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:Consumers" label="UI · /api/v1/query · /api/mcp" mermaidId="Consumers" mermaidShape="rectangle">
          <mxCell parent="1" vertex="1" style="fillColor=#ECECFF;fontColor=#333333;html=1;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="2473.703125" y="98.5" width="256" height="76" as="geometry"/>
          </mxCell>
        </object>
        <object id="e:L_Docs_Ent_0" label="" mermaidId="L_Docs_Ent_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Docs" target="n:Ent" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="228.0625" y="67.5" as="sourcePoint"/>
              <mxPoint x="306.03125" y="67.5" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="253.0625" y="67.5"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Ent_Graph_0" label="" mermaidId="L_Ent_Graph_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Ent" target="n:Graph" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="506.09375" y="67.5" as="sourcePoint"/>
              <mxPoint x="601.302645" y="102.087617" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="559.0625" y="67.5"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Graph_EB_0" label="" mermaidId="L_Graph_EB_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Graph" target="n:EB" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="726.9317" y="107.291055" as="sourcePoint"/>
              <mxPoint x="779.421875" y="82" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="754.421875" y="82"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_EB_DQ_0" label="" mermaidId="L_EB_DQ_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:EB" target="n:DQ" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1035.421875" y="82" as="sourcePoint"/>
              <mxPoint x="1085.421875" y="82" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1060.421875" y="82"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_DQ_Conn_0" label="" mermaidId="L_DQ_Conn_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:DQ" target="n:Conn" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1341.421875" y="82" as="sourcePoint"/>
              <mxPoint x="1391.421875" y="82" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1366.421875" y="82"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Conn_Ext_0" label="" mermaidId="L_Conn_Ext_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Conn" target="n:Ext" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1647.421875" y="82" as="sourcePoint"/>
              <mxPoint x="1697.421875" y="82" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1672.421875" y="82"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Ext_Prov_0" label="" mermaidId="L_Ext_Prov_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Ext" target="n:Prov" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1911.421875" y="82" as="sourcePoint"/>
              <mxPoint x="1961.421875" y="82" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="1936.421875" y="82"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Q_Graph_0" label="" mermaidId="L_Q_Graph_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Q" target="n:Graph" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="534.0625" y="205.5" as="sourcePoint"/>
              <mxPoint x="601.302645" y="170.912383" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="559.0625" y="205.5"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Prov_Ans_0" label="" mermaidId="L_Prov_Ans_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Prov" target="n:Ans" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="2165.640625" y="82" as="sourcePoint"/>
              <mxPoint x="2229.705132" y="98.5" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2190.640625" y="82"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Graph_Ans_0" label="" mermaidId="L_Graph_Ans_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Graph" target="n:Ans" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="726.9317" y="165.708945" as="sourcePoint"/>
              <mxPoint x="2229.705132" y="174.5" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="754.421875" y="191"/>
                <mxPoint x="907.421875" y="191"/>
                <mxPoint x="1060.421875" y="191"/>
                <mxPoint x="1213.421875" y="191"/>
                <mxPoint x="1366.421875" y="191"/>
                <mxPoint x="1519.421875" y="191"/>
                <mxPoint x="1672.421875" y="191"/>
                <mxPoint x="1804.421875" y="191"/>
                <mxPoint x="1936.421875" y="191"/>
                <mxPoint x="2063.53125" y="191"/>
                <mxPoint x="2190.640625" y="191"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:L_Ans_Consumers_0" label="" mermaidId="L_Ans_Consumers_0" mermaidKind="relationship">
          <mxCell parent="1" source="n:Ans" target="n:Consumers" edge="1" style="edgeStyle=orthogonalEdgeStyle;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="2423.703125" y="136.5" as="sourcePoint"/>
              <mxPoint x="2473.703125" y="136.5" as="targetPoint"/>
              <Array as="points">
                <mxPoint x="2448.703125" y="136.5"/>
              </Array>
            </mxGeometry>
          </mxCell>
        </object>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
