<?xml version="1.0" encoding="UTF-8"?>
<mxfile host="eli.ai" agent="eli.ai diagram exporter" version="1">
  <diagram id="write-via-approval-lifecycle-0025a784" name="Write-via-approval lifecycle">
    <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="Write-via-approval lifecycle" schemaVersion="1" diagramId="write-via-approval-lifecycle-0025a784" canonicalAppearanceKey="tsx:src/app/(docs)/docs/capabilities/write-via-approval/page.tsx:proposeChart#1" sourceSha256="0025a784a2aad21c8ca0f826d00fa88f81b18b375b30dc8d7608feb55765adbc" metadataPayloadSha256="069e3f2c663fda06bdb42eed11167b667425ca18ca5f16858bd29199334e2e83" generationKey="2e277832f29fc4111d16eba04537ccfdfa7ee92a6610e77fe393880096dc4e3a" concepts="[&quot;Write via approval&quot;,&quot;Capabilities&quot;,&quot;Propose&quot;]" keywords="[&quot;Agent run&quot;,&quot;Approvals inbox&quot;,&quot;status: suspended&quot;,&quot;cursor persisted&quot;,&quot;review proposal&quot;,&quot;resume with document id&quot;,&quot;propose (title, body, sources)&quot;,&quot;persist proposal · run suspends&quot;,&quot;materialize vault document&quot;,&quot;resume with rejection + note&quot;,&quot;run continues either way&quot;,&quot;kb_propose_note&quot;,&quot;Human&quot;,&quot;Vault&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="sequence" generatedAt="2026-08-12T23:43:38.769Z" mermaidSource="sequenceDiagram&#10;  participant A as Agent run&#10;  participant T as kb_propose_note&#10;  participant I as Approvals inbox&#10;  participant H as Human&#10;  participant V as Vault&#10;&#10;  A-&gt;&gt;T: propose (title, body, sources)&#10;  T-&gt;&gt;I: persist proposal · run suspends&#10;  Note over A: status: suspended&lt;br/&gt;cursor persisted&#10;  H-&gt;&gt;I: review proposal&#10;  alt approved&#10;    I-&gt;&gt;V: materialize vault document&#10;    I--&gt;&gt;A: resume with document id&#10;  else rejected&#10;    I--&gt;&gt;A: resume with rejection + note&#10;  end&#10;  Note over A: run continues either way">
          <mxCell parent="0"/>
        </object>
        <object id="c:i9" label="alt [approved] / [rejected]" mermaidId="i9" mermaidShape="frame">
          <mxCell parent="1" vertex="1" style="collapsible=0;container=1;dashed=1;fillColor=none;fontColor=#333333;html=1;recursiveResize=0;rounded=0;strokeColor=#9370DB;whiteSpace=wrap;">
            <mxGeometry x="64" y="295" width="1022" height="240" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:V" label="Vault" mermaidId="V" mermaidShape="participant">
          <mxCell parent="1" vertex="1" style="fillColor=#eaeaea;fontColor=#333333;html=1;participant=umlActor;shape=umlLifeline;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="1000" y="0" width="150" height="65" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:H" label="Human" mermaidId="H" mermaidShape="participant">
          <mxCell parent="1" vertex="1" style="fillColor=#eaeaea;fontColor=#333333;html=1;participant=umlActor;shape=umlLifeline;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="800" y="0" width="150" height="65" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:I" label="Approvals inbox" mermaidId="I" mermaidShape="participant">
          <mxCell parent="1" vertex="1" style="fillColor=#eaeaea;fontColor=#333333;html=1;participant=umlActor;shape=umlLifeline;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="600" y="0" width="150" height="65" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:T" label="kb_propose_note" mermaidId="T" mermaidShape="participant">
          <mxCell parent="1" vertex="1" style="fillColor=#eaeaea;fontColor=#333333;html=1;participant=umlActor;shape=umlLifeline;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="292" y="0" width="150" height="65" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:A" label="Agent run" mermaidId="A" mermaidShape="participant">
          <mxCell parent="1" vertex="1" style="fillColor=#eaeaea;fontColor=#333333;html=1;participant=umlActor;shape=umlLifeline;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="0" y="0" width="150" height="65" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:i2" label="status: suspended cursor persisted" mermaidId="i2" mermaidShape="note">
          <mxCell parent="1" vertex="1" style="fillColor=#EDF2AE;fontColor=#333333;html=1;shape=note;size=15;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="-4.5" y="175" width="159" height="60" as="geometry"/>
          </mxCell>
        </object>
        <object id="n:i10" label="run continues either way" mermaidId="i10" mermaidShape="note">
          <mxCell parent="1" vertex="1" style="fillColor=#EDF2AE;fontColor=#333333;html=1;shape=note;size=15;strokeColor=#666;whiteSpace=wrap;">
            <mxGeometry x="-28.5" y="545" width="207" height="40" as="geometry"/>
          </mxCell>
        </object>
        <object id="e:lifeline:V" label="" mermaidId="lifeline:V" mermaidKind="lifeline">
          <mxCell parent="1" source="n:V" target="n:V" edge="1" style="dashed=1;dashPattern=4 4;edgeStyle=none;endArrow=none;endFill=0;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#999;strokeWidth=0.5;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="1075" y="65" as="sourcePoint"/>
              <mxPoint x="1075" y="605" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:lifeline:H" label="" mermaidId="lifeline:H" mermaidKind="lifeline">
          <mxCell parent="1" source="n:H" target="n:H" edge="1" style="dashed=1;dashPattern=4 4;edgeStyle=none;endArrow=none;endFill=0;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#999;strokeWidth=0.5;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="875" y="65" as="sourcePoint"/>
              <mxPoint x="875" y="605" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:lifeline:I" label="" mermaidId="lifeline:I" mermaidKind="lifeline">
          <mxCell parent="1" source="n:I" target="n:I" edge="1" style="dashed=1;dashPattern=4 4;edgeStyle=none;endArrow=none;endFill=0;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#999;strokeWidth=0.5;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="675" y="65" as="sourcePoint"/>
              <mxPoint x="675" y="605" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:lifeline:T" label="" mermaidId="lifeline:T" mermaidKind="lifeline">
          <mxCell parent="1" source="n:T" target="n:T" edge="1" style="dashed=1;dashPattern=4 4;edgeStyle=none;endArrow=none;endFill=0;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#999;strokeWidth=0.5;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="367" y="65" as="sourcePoint"/>
              <mxPoint x="367" y="605" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:lifeline:A" label="" mermaidId="lifeline:A" mermaidKind="lifeline">
          <mxCell parent="1" source="n:A" target="n:A" edge="1" style="dashed=1;dashPattern=4 4;edgeStyle=none;endArrow=none;endFill=0;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#999;strokeWidth=0.5;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="75" y="65" as="sourcePoint"/>
              <mxPoint x="75" y="605" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:i0" label="propose (title, body, sources)" mermaidId="i0" mermaidKind="message">
          <mxCell parent="1" source="n:A" target="n:T" edge="1" style="edgeStyle=none;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;strokeWidth=2;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="76" y="115" as="sourcePoint"/>
              <mxPoint x="363" y="115" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:i1" label="persist proposal · run suspends" mermaidId="i1" mermaidKind="message">
          <mxCell parent="1" source="n:T" target="n:I" edge="1" style="edgeStyle=none;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;strokeWidth=2;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="368" y="165" as="sourcePoint"/>
              <mxPoint x="671" y="165" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:i3" label="review proposal" mermaidId="i3" mermaidKind="message">
          <mxCell parent="1" source="n:H" target="n:I" edge="1" style="edgeStyle=none;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;strokeWidth=2;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="874" y="285" as="sourcePoint"/>
              <mxPoint x="679" y="285" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:i5" label="materialize vault document" mermaidId="i5" mermaidKind="message">
          <mxCell parent="1" source="n:I" target="n:V" edge="1" style="edgeStyle=none;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;strokeWidth=2;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="676" y="380" as="sourcePoint"/>
              <mxPoint x="1071" y="380" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:i6" label="resume with document id" mermaidId="i6" mermaidKind="message">
          <mxCell parent="1" source="n:I" target="n:A" edge="1" style="dashed=1;dashPattern=3  3;edgeStyle=none;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;strokeWidth=2;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="674" y="430" as="sourcePoint"/>
              <mxPoint x="79" y="430" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
        <object id="e:i8" label="resume with rejection + note" mermaidId="i8" mermaidKind="message">
          <mxCell parent="1" source="n:I" target="n:A" edge="1" style="dashed=1;dashPattern=3  3;edgeStyle=none;endArrow=block;endFill=1;html=1;jettySize=auto;orthogonalLoop=1;rounded=0;strokeColor=#333333;strokeWidth=2;">
            <mxGeometry relative="1" as="geometry">
              <mxPoint x="674" y="525" as="sourcePoint"/>
              <mxPoint x="79" y="525" as="targetPoint"/>
            </mxGeometry>
          </mxCell>
        </object>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
