<mxfile host="app.diagrams.net" agent="architecture-diagram" version="24.0.0">
  <diagram name="Structured Retrieval and Tool Invocation — The Model Asks, the Broker Decides" id="27-structured-retrieval-and-tools">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1720" pageHeight="830" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="n.pl" value="&lt;b&gt;Planner&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="60" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico1" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACpUlEQVRoge3YTYhNYRzH8Y+3iLzkbZoSdhJZkI1YUWzYWbCxJCU1ZShlpVhQKIoFG28pKxaKDUnyUtTQZJCExZSJEYMMFs+cXMe5955z7jn3jppf/evWfc7/+f6e5/+8nMOIWqsxJeWdhA3YhMUYQG9JfRWqZTiJfvyKxRPsxuyW0VXRHAGsx7/QSfED17ER41rACyYMAVwZAkoDnhTvhRlb2izwWiXSaJRWYvOxDy9yQOWZnW+4jPUaKLFGS+QBdmIGFuGgsAuVXmLTcUS+EnmDA1hQJff4oUG5mnNQ7mNdLfjJeJQx6QDOY61sZ0o7dqErY38/saVa0r0ZEt3BVkzLAF1Ny3EcfSn77sOUpEQ36zz4FkexpADoJI0XFu4lfK/DsjopwdOEhgO4INReWdeOJEUl9iSB6Rc2Rw1H10n0CS/RjcEySKuoF8/wOstDSTMQxaA/x//YIkljahcOs1c1WP6agbQG4mvhIOYWBD0aa6Sr/UIMRFF5KcuzPqYJh93zjP0WZqAyeoSpn5UCPLpPfWmgv8INRPEV57Aqljsa7ax9DDbbQGV0oQOn8Tnjs++wHwtbaSBP3Pb3i87EegbK3BLT6oOwAx0TDq5MaqWBhziFs8KCzqVmG+jHRZzA4yISNtPAGewQFnRhqncXKlLdCoanuQZK0YiBVuu/NzAcDrJqasOeeo0qDXwsjyWT2tCJbcJVIkkfoh+VJXSrRKg0asNh4RW2Q3X4r7iX9Mds4R20rItaZx3wtDfWvbVGYR6uNclAVvA+bMeoWgYirRC+i5ZhYKbwTp0WvH+ofa6PaCtxoyADh2Qf8X2Ymgc8rjJmpJQRb6WRUsHLNNJU8LgaMdJS8LiyGBlW4HHVMjKsweNaKXyW78Zd4atdIdvhiEZUsH4D+zfN9JHFLwAAAAAASUVORK5CYII=;" vertex="1" parent="n.pl">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.tb" value="&lt;b&gt;Tool Broker&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#ffe6cc;strokeColor=#d79b00;fontColor=#4a3200;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="290" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico2" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACBUlEQVRoge3Xv2oUURTH8Y9GWfA//q0UlCD4AkYhWlgooq2FYGerhS8hPoBgo4X6CFEhoFXSCFYJWgmCokUsBFExGl2L2Ymbdda5c2dwZtf5woGdwz33/s7OufeeoaXl/2ZdBXPsw+aIuC7eYbkCDVGcwmJPSKx9wS1xf0AppvGthPBBm1VNNQQzV6H41M7ECFkfETOB4zGL5TAdExSTQEeSRNVE7YMNFQq4gSeBY+/gQBWLVpnAczwOHPu5qkVjSqhRtAnUTd4e2IVj2NTn6wwZe1R4W7Atw3cYFwZ8r/AscM4/OIcPqr+witqMiCP2LL42QHxqc9g6quILJdFU8anN/y2JKckmrFtknj00pHOdaYC4UJtKRfffA4eysmook+mP/gT+6QdFSVa1jvxNPPIJxLbT83iEn73nSVwWXoYvcRffe887ccXalqUwL4SdACuye5nZwPguTmbEXy8QfykNiimhZXzM8C8VmON9oC+X/le+HxsDYrqSLnGQvdgSuO4bv8snZbuk+w1hCZ8CxzabsXoDoZt42Af5/cD4Lo5kxF8rEF9qE3dkd4R7Csyxu2T8KjH3wAQeSO6BlIM4XWCO27gnOZJhB65GaFlDaAk1wUqVUKNoE6ibsUrgbW0qivM6y3keP9R/wuTZU33H/2D/fgIXZV80dbOCBdw0Lo1cS0sLvwBkPeYai1wNTgAAAABJRU5ErkJggg==;" vertex="1" parent="n.tb">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.pe" value="&lt;b&gt;Policy Engine&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="520" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico3" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.pe">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.sg" value="&lt;b&gt;SQL Guard&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#e1d5e7;strokeColor=#9673a6;fontColor=#3a2b44;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="760" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico4" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADDUlEQVRoge3azatVVRjH8Y+aebMX4Q6EQKQXaiBRDkS46TCLZgbpIMgKylHQC6HYX+BMmgS90BvhoJpEgmiFoNmk0sAyiKK07GVwzTJLUe9tsN1w2j37nL32XvvcBn5hDc5z1lrP73fWWnuvtThcZm6Z11O/a/EwVuIP7MJrONlTvixMYBMOYzYoZ/EW1syVwDpuwXZMi4VH5VNsxuI50Avm4y68h5lAYNPyG57DjeMSvhRb8X0H0VG5iPexAQv6EL4GO3EuUdi04ldOafMNnsFkV9GjFmWTsn+gn0OJbVsv+iuwDac6CB80MMidePOSuJR+DigeyY14IYPwOgMlS/EsjiX09TtuGyX+dt2eKk0NlCzAeuxtmPfdUQYezyi+iYFBbsUOwxf9qWqj+ZXP1yQkzM3XeArLFC+5r4I6/9FXNXA2v65kzuAlvBh891c1UDXwdx+KWnJdEBtpYDqziC673ehFdroaqBo40SFhxGyHtsuD2PFqoGrgxw4JI7qMwE1B7IdqIBqBMx2S5mIxVgTxY9VA1cAMvsgopO0UWoWFQfxwNVA1AJ+3TBrRdgqtrokfqgYiAwdbJs3JVBD7VYNFDB9ml5PG1bg7iH8QVY4M/IQvcypK5D7xlmZPVDkyAO9kk5POg0HsghoDdayQZzd6IFH8sktiq/3sqmtQNwJH8Uli8hxsEx/qX2/T2SbjHYEbxJcGJ3BlGwMT+HmMBl6p6WNLG/ElT47JwJR47p/Eki4GrlJs8Po0cK3iLihq/3QX8SUPdDDwUYP+X61p+y0W5TAwD/t6MrC5pt0M1uUQX3Kz4jSU08AG8byfxcs5xZc8mtHAPervWY/q8Xakbr6mGHhsiPjT4oNMNhbh45YGFuL5IXXP494+xZdM4kiigSl8NqTeBTw0DvEl1yuOnqMMHFG8YYfde57D/eMUXzIpbTpF5U+ZH5epTEhf2GX5Tv3Zd+w8ori/byr+DR33OH2wHG8bLvw4Ns6VwKasxW7/Fv4LnpBpbzNIX381oNh+3KGYWgf9P67uL5OdfwCdL2jqexBRtgAAAABJRU5ErkJggg==;" vertex="1" parent="n.sg">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.dbx" value="&lt;b&gt;Databricks SQL&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#f5f5f5;strokeColor=#8c8c8c;fontColor=#333333;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="990" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico5" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABmJLR0QA/wD/AP+gvaeTAAAMf0lEQVR4nO2dW8wdVRXHf71QCxSptSIttFURC1REqJXirRZbg2ijwahEEyXG2EQfjJeoD8ZrNN4e1Bi88OA9GhMwsVESKogKQstNQIqilkIR0fK1WGil/WzHh/1te77TM+fs/561Z885Z/7JfullZs3MOvvyX2v9F4wvlgObgM3A2ZltaVEjFgCfBw4AxdSYBL4FnJTRrhaJcQzwbmAXRz5899gDfAR4SiYbWyTCOuAeyj989/gL8KYslrYwxZnALwn/8N3jOuDc2q1uURkLga8C/yX+4/txCPg+sKjWJ2gRhTnA+4B/U/3Dd48ngE8Cx9b1MC3CMQN4C3A/2kf9GXCV+H92AJdO3bNFA7AS+C3aR7wHuKjjGquB34vX2Aq8NOmTteiLU3Bn90OEf7SHcUfBWT2uNwO3898hXO8w8FPgWeZP16IUx+HO6nsJ/1D7ceTPUxtw/RaRqPILfXbE/RbjZhjlJPF3ymeYFhXwYuBG9DX6ZQb3Pg/4tXjv24A1BvceeyzBncEPE/7ydwJvx36Xvg74o2BHgQs2nWZsx1jgeNyZ+z+Ev+w6zuk+nvAvwa6DOFLqxIR2jQxm4n69/yD8BXum7uQa7XwabtP3pGDnoziSanaNdg4V1gJ3oE2x1wEvzGHsFE7HbTIVm+8FXpvD2KYi5iXeR7OidWuB29GeYTPw/BzGNgXz0afR3TQ3Xh9zTPWJKM+o39x8mI3bSP2T0XxRMURSkx3bFOuAuxiPqTKGSGra0mYGn4CpfPhtwMU5jDXGecD1aM9+LXBOBlvNsQB3Bp4k/OH9cWnU6NQNuFSz0PeQ43hrhmNwH3EP4Q98gNEnTGKIJE9wza3f3DioCZgFbnl4Tg5jM8GnpisnoAdJQ3Gb4Vz0oMkWxjupYjnwc/T9QaMQk4D5EG4qnJnB3ibiQsJZ0L2ZbDwKMQmY+3BT3wkZ7G06fBzkYRruADNwSZE70Ha038GdjVv0xzzgM7gfS693eX02y4AXoSdg3gRckMPYIUd3zuMe3IybZdlcAvwQLTHjr8AlOYwdMawCvkgmGtzz2o8T/uEfZ8jOrS2OxkzgHbjdeuiHnwQuZzgCNuOA+cCXgWuAFep/Vtf5q2Nu0iIJZgPvYXoZ/EHc6SsYuwn78H9iRKNXQ4p+0dbdyoVCHOBrtPltTcEK3Czc73uZO4CPVj3T4glaREGJtkoO8CnCU7L3AB/CMYMt6sEc3Dt/jPB9muQAAKeiFV8+QMOjVSOCDTiORdmkRzmAh8r+tcxfGsRkFpk4ALhf9ZuB7YE3a7l/OyzGvcvQmfhAyZ9XcgAPHwEMXXt89G+exc3HDMeiZRcfwtVXrC75exMH8Hg6Wq5fG/8Ph68vuJ/w6f1ajqiZLSr5N6YO4LEcrarnFuDlKQwZEahl8H/maCKuVgfweBXwB8HwccsBHAS1DH4Ctzz0OnpncQDQK3vHIQt4ENQyeP/O5ve5ZjYH8PAPtb/EkO4xqnUA/RBTBh86a2Z3AI9T0aa1UakEGoQL0ZbLLWhSN41xAI9VaETSsNYCDsLz0DbMsXUAjXMAjw3A3wh7+IMMTzXwIKhqIlUzqhrrAKATScNcNq2WgXmnr9q0wswBzsBNWSmqd1QiadjKplVFMctlz8QBvs70j3MY+AFuY2eJsxicyNA5fkWzy6bPwdkY+jy34eRlLHFKyb1MEkJSVfasA+4suWf3aGLZtFoe56lx66Nvv8Jc04wgL4lqye2rZ+Mm6Per5XFPkOYHFKJmap4SVgC3Ys/tq0RSKmXQQVBONam6jigyNJIDTARc0I/DwE+AZVWfpgvLgB8TTiTdCJxvbEMvnI/WW+Aa4AXGNhwHfBw3o4TacaVyg9AZoHN4ntpaMl0hklLq96v9CVKkzMeEircRIUwZ4wB+7CINt69MuZb6/Wp5XCpJWDVUXOk7VHEAP7rbslhAJZL6dQgZBP9reyDwXqmim2qo2GQmLnOAj4nGFKSRTFeJpNuBVwrXX41Lbg25dpWmFP0wDy1UbGpHmQNcNvX3q4DfBRpWkE4y3bOVoXZsxpFPZXiueL2bsWdJ/XH4EcEOc7Z2kAN4KOtyQbr1USGSPOe+sOP/q7rFqWoglOcoSKgcVnYMvKzHv50LfBRNK+guYL2xzbOAjYRrEO8C3js1+jWU7hwTwPuxr4I6C63F7WPAh0kYJAudATqhrst+SrYuK4/pNhI6a1iHp1Ul1drqMWMcwOMMNF3gVC9XzUiq00ljlFQ3A2cb21GKKg7goa5nPvZvPb2qG1Y/biVN5y+1ti9LhxELB4C4HW2vXHcLhG5YUxWxqLV9WXsMWTmAh3qmLXBxdWsOvR+RlCq6qPYNaES6vLUDeKislt/0VE2T6kbnhjVVfoHaOSQVoRSFVA7gcQHhTFuB2yx9EPv9wQrsN3gxCmspIplzgA8A3yWiSrvMATba2RclOXsf8HpDG6zxCtzmMfR5tuPK7q2JnDcwvTnFXtzSF4wyB0hB6aoBnoL8/QK7sRRtaUslptkvx9I0IyhFOZdKJDUhN1Dd3KYichYxeKOZJCVsG/YhX5VIytFSxbe+U463m7E/1XgRiRAaXnIAtbXbldiXe1+Ellu/nXpqB16D1hLnbuDVxjbMAN5KeK6C7AAxVGWK/UEMkXQzaUSq1JkpFZGzCrhBsCPKATx8c6My4aF+D265P1ADPP5Mvczg3ureJBWRUzW2Uak2UJWCKXBZOGuq3LQHVCKpikiVnwWV00kK5RM1TT6JA3isRwvwFKTJ0lWJpAdxa2bIedvnAoZK4hW4NPHVJk92BLOAd6GJSEwAny35O7Pq4Bh1i1Qp42pG0i30F1tYCfxGuF6qjJy1hHcRK5geUq+tPDxmaqqSpVsGlUjqVTug5vynOnqejr7UbsLlMnrUrg+wFPgR2uZk0C8xBicB3yQ86rYf+PTUKOvQ1T0mgW9gH5xaAHwF90sOfYdb6V2Wl00gIqaj2Cbso1/qcS10pCByPKGk9BLeSf98hewKIWrGi6/iyVly3m/cC7zO2DZv392CHaH5CtkdAOKIpCaUnHeOVETOmcAvBDvUmEcjHMBDzXotcOFU6/2BQiSlInI8oaT0WI5ZdhrlAB4xRNIm7PmDQWxaCiInJty9jfhlp5EO4KFqCqfaH3RnCm/FftYBnaewqKw2c4DFwLeBq5h+zqyKWeih1J3A27AlXHxG0qXG1wVXyq0EbPbhGkZb9FUwcYBPMF194gCuC2U/kWIVJwCfQ8sUvol6VEBisQSnpqYkvX4PW/U1Ewcoqw2cwH5nrDansoz0WSGmx3KK3kr9qGxTjaAU1SqqpnAT2tH4wNEOwu1OIXoZQmUnEYlKIeysbpweIo9K2Go0sSjf5MGyoleZeSQHUIiTg7g2sguqPk0H5uIeTDk63YCbRVLjNFwKXKhdTwJfwnb/NBN4Jy64FmrHI8oN/JSikBYphJ3VbBy/P1hqaINHTHlbCnmctbhkm1AbKlUcrURvVpiiuFMlkvZhV+cXk5dYFqmrgphQsZl0zAamV5qEjBTFnWqAp6qKaBMkW9R+A6ns+L/+faicSkGaQoiYAM8WtCPXcrSQcopKH7XfQCo7joLPFFY8MoVhMZnCg/R61eDVJG6vZF3po4aKU9nRF2oPnIIj6lqWUNOle6VzNUWyRQ0Vp7JDghrgKXDS5tbFnYq4Y4HjGt4IXIKWwHLH1DNb4mTgCrRT153YK61Fw6/Lyrk0VXGnSiSFDp+wkiKhVZHYS6XFbILj0TnxFBm2MTH4spGiS0pM7UGq1PokUNOsC9I0fojRLuycoVIEndTavkZJx6hQCy0K3JHtJcZ2qJnCne3YrRBT25eiY1sWqJnCqUK+g4idFCxmjHJpMg3gnIg5aqVYf3tRu/3asVe9j0JY1ULk5MZCju5LGPKLsE4JOxHnXF/APgN4PZrIxiRwOaPRKjcYMURSipIyS8Q8U3YiJzdiiKQUJWVVECOkkUUDuKloUsm5gpgAWVYN4KajKSXnIVBD5I3QAB4WqJnCBa4R85oabFNVv4eayMmN2JJz6zQs0FW/CxyR0+RN69BAJZIsJetU1e+CESVyciOGSKoiWReT8z8WRE5uxJScbwMuFu6hNoiurZlTiyOIKTkf1ABKVf3217ROfm0hQCWSejWOjMn5TyUd0yICMSXnj6I3jixwjSk30tCMnHGHlaxqr9ESOUMEq6aRfqSQjmlRA9SS8+6RSjqmRc1QM4VbImcEEZIpnKP9TIua0StTuCVyxhArcC3Wrsa+eeTQ4H+9L2RIVfmuJQAAAABJRU5ErkJggg==;" vertex="1" parent="n.dbx">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.as" value="&lt;b&gt;Answer Assembler&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#1a2b45;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1220" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico6" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAACxUlEQVRoge3Yy4sUVxgF8F9HhQTBiUGz8AFKjzGCjwQfCw0iSFyGQTGJq2zi3o2uk53uEnQdAv4B6kZcJKDBbILjRp2JQRAS4/iIZtAwUUenXdxu6amurqm6NdPdMH3g0tVV9zt1zr236vvq0kcf8xuVkvGL8DGqeIlRXC8rqlP4HGOoJdpvWNdFXbkwhCmt4hvtNhZ3TV0ODGsvvtG+6oSQtyJjNufo92EEd2HEGJjCZI5+/0RwdwwXZS+fSXzQLXF5MCTbwPHuScuHCi5LFz+Kd7onLT82CskraWBPFzUVxk+mi3/YaQExb6FmLEz8fxHBUcFOfFJSS2HswyvTZ2AKO3LELsAunMAtJZZeczF3FhO4Vif9E/fwSCja4H1sr4s/pHUG1Pt/gwv14wpWYK3w3OwSRnugKeZ/vCtuBt9gxMzlwVy1X2NFl30GZgvDsYF9A7OEK7GBvWLgVmxgLxgYx/PY4F4xEI1eMLCkTHBaIuo0BvA2niXOr8HX+EjI3FfxPR60I+pmIvsyYeg74blI9hvDYC8aGBfKj29xd4a+PzeLbq6FRrChnbs2uIMbQhk9iC068zGzCn8nTxaZgcfYr3Vnbyl+KMAT2/amucprYAq7M0angjNzbOCzMgYuZ4hvYOccG1jfuFFMHriWo8/vBfgmcURY15uFj5ysfacR/NHuQh73p3OIGszJVcOplPgt0rcvnwqz29ZZnhv+JSSWLBwrYODTNhwLcVj4UryEkzJyQBEDNRzN4FmBfwtwrc0SVQRFDExgUwpHBecL8NSwshsGakINnyzEvijIUZM+ELlRphqtCmu0GQcjeFaX0FC6nE5m4pgyotQMNKPoErqJ9xIcQ1o3u2Zq58qIbh7BKrYKyaQq1OPLsUwoHwhvl2H8gh/xXwrnNhyoczUMPhFK4Qe4L2yYPaz/3q1f66OPPuYjXgOFSOhQ2bt/6QAAAABJRU5ErkJggg==;" vertex="1" parent="n.as">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="n.au" value="&lt;b&gt;Audit Log&lt;/b&gt;" style="shape=umlLifeline;perimeter=lifelinePerimeter;whiteSpace=wrap;html=1;container=0;collapsible=0;recursiveResize=0;outlineConnect=0;size=58;rounded=1;arcSize=8;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#1e3a1e;fontSize=12;fontFamily=Segoe UI;verticalAlign=top;spacingTop=9;spacingLeft=38;" vertex="1" parent="1">
          <mxGeometry x="1460" y="80" width="210" height="630" as="geometry" />
        </mxCell>
        <mxCell id="_ico7" value="" style="shape=image;html=1;imageAspect=1;aspect=fixed;movable=0;resizable=0;rotatable=0;connectable=0;editable=0;deletable=0;noLabel=1;image=data:image/png,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR0QA/wD/AP+gvaeTAAADIUlEQVRoge3aTWwVVRjG8V9LkW+kwYDY6kLxC5QNJEIMECEGNSa6MCaGHStXrtyqxI0xJLCCDTGBBRuCiSQuTIgxhAUsABP5SAQlCFhlYaB82AqNdfFO06E9U+5M7+29rf0nbyY9M3Pmee85M/Ocd8o0zaVtHOfOwoosuvBEFp2YjTnZMf9kx9/AAK7jGv7ErziHK1VFlEmgE5vwOtbjOXRUvfAIbuI0vscRnMK/9ei4TQg+KH7JwQmKK/hMjGxlVuCHCRSdir/xqZiKpXgFt5osPh9HxH01ihkFbSfwWNmsG8jT6MexkTvaEwcvFU+TVmN1qjGVQKqtFUjqalWxNTMlE7gt7vxWo7fMwV9p/qMzH31YWyaBDuxrAeGD+AtvlRGfZzOON0n4HezG4qri86zCTpxvsOi7+A4fYmFVsV3Yj2UF+7vxAb7At7ikmtG7IVznfnyM1xTYBbyNHakdKTvdjavixjmAPfixoOM8S8RbfEnW76Jc//1Zf/1iHfB79vdYzMF7+AhrcBjv1qBDt9G/1gV8iS1YUEsnFVmObTgkplNewzepE8YagSIGREIXcBG/ZNurYmHSl108da1FmCsWR89msTzbvihGsIjkCFRZUXUYXkqORa9IZpaYDkXze1zUa0mY4tEsGsqU9EKTilQCdakGNICkrlQC19HTWC2VOF3m4LWGbXUrROGifixewtEmC+/D9irih2jDG/ga9yZQ+DV8jieriF6A5xPti/E+9uJn8Uaul+BbYrQ/wTqjyz3tCqoSRVbikjBxu/BbQaJzxdt4ZXbO49l2vmEj1+lBI3dXPCT+EA+Ky/gp2w4mrtGON0WZsUcFMzcgTNRWE/BWzfGyKClezGlJmrmHWYkZeCeL+zgpqmMnDRu5O+MU2yXM3At4FRvwVK0nl/FCM8X8XDeivUckc1lMlV4xVfrE3J4pptVCYermibLlM8KJziuhYRT1MHNDHzY21qGv0kxJLzSpmJIJTJcWGxDTpcVmCP9/lBarfKnvFh+6VwnPMvSl/pGS/dwUpvEszogy43Fh+mpmPP9qMJJ6lxanmRT8B1M0bJ9FjBNdAAAAAElFTkSuQmCC;" vertex="1" parent="n.au">
          <mxGeometry x="9" y="17" width="24" height="24" as="geometry" />
        </mxCell>
        <mxCell id="_m8" value="1. tool request: revenue by region, FY26" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.1460;exitDx=0;exitDy=0;entryX=0.5;entryY=0.1460;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.pl" target="n.tb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m9" value="2. may this class call this tool?" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2095;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2095;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tb" target="n.pe">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m10" value="3. allowed: structured class, read-only" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.2730;exitDx=0;exitDy=0;entryX=0.5;entryY=0.2730;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.pe" target="n.tb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m11" value="4. reject if the request came from a document" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.3365;exitDx=0;exitDy=0;entryX=0.5;entryY=0.3746;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.tb" target="n.tb">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="470" y="290" />
              <mxPoint x="470" y="320" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m12" value="5. compile against the semantic layer" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4190;exitDx=0;exitDy=0;entryX=0.5;entryY=0.4190;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tb" target="n.sg">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m13" value="6. allowlisted views, bound parameters, row cap" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.4825;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5206;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.sg" target="n.sg">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="940" y="390" />
              <mxPoint x="940" y="410" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="_m14" value="7. parameterised SQL as the caller" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.5651;exitDx=0;exitDy=0;entryX=0.5;entryY=0.5651;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sg" target="n.dbx">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m15" value="8. 42 rows, Unity Catalog applied" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6286;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6286;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.dbx" target="n.sg">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m16" value="9. typed result plus the SQL executed" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.6921;exitDx=0;exitDy=0;entryX=0.5;entryY=0.6921;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.sg" target="n.tb">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m17" value="10. tool call, principal, statement" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#d79b00;exitX=0.5;exitY=0.7556;exitDx=0;exitDy=0;entryX=0.5;entryY=0.7556;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tb" target="n.au">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m18" value="11. rows as citable evidence" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=open;endFill=0;dashed=1;strokeColor=#5a6570;exitX=0.5;exitY=0.8190;exitDx=0;exitDy=0;entryX=0.5;entryY=0.8190;entryDx=0;entryDy=0;" edge="1" parent="1" source="n.tb" target="n.as">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="_m19" value="12. figures rendered from rows, never retyped" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;strokeWidth=1.4;fontSize=10;fontColor=#42536a;labelBackgroundColor=#ffffff;fontFamily=Segoe UI;verticalAlign=bottom;endArrow=block;endFill=1;strokeColor=#5a6570;exitX=0.5;exitY=0.8825;exitDx=0;exitDy=0;entryX=0.5;entryY=0.9206;entryDx=0;entryDy=0;align=left;spacingLeft=6;" edge="1" parent="1" source="n.as" target="n.as">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="1410" y="640" />
              <mxPoint x="1410" y="660" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="title" value="Structured Retrieval and Tool Invocation — The Model Asks, the Broker Decides" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=20;fontStyle=1;fontColor=#16202c;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="20" width="1630" height="30" as="geometry" />
        </mxCell>
        <mxCell id="rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#c9d3de;" vertex="1" parent="1">
          <mxGeometry x="40" y="50" width="1630" height="10" as="geometry" />
        </mxCell>
        <mxCell id="note" value="The model never emits SQL that reaches a database. It names an intent; the guard compiles it against views a data owner published." style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=10;fontColor=#8a97a5;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="760" width="1630" height="20" as="geometry" />
        </mxCell>
        <mxCell id="foot-rule" value="" style="line;strokeWidth=1;html=1;strokeColor=#e3e9ef;" vertex="1" parent="1">
          <mxGeometry x="40" y="780" width="1630" height="10" as="geometry" />
        </mxCell>
        <mxCell id="foot" value="v 1.0   ·   owner Data and AI Global Practice" style="text;html=1;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;whiteSpace=wrap;fontSize=9;fontColor=#9aa7b4;fontFamily=Segoe UI;" vertex="1" parent="1">
          <mxGeometry x="40" y="790" width="1630" height="10" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
