🥇 export from upstream (3b6ef04)
This commit is contained in:
+113
@@ -0,0 +1,113 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 520" width="800" height="520">
|
||||
<style>
|
||||
text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; }
|
||||
.title { font-size: 14px; font-weight: 600; fill: #24292f; }
|
||||
.label { font-size: 12px; fill: #24292f; }
|
||||
.sublabel { font-size: 11px; fill: #57606a; }
|
||||
.arrow-label { font-size: 10px; fill: #57606a; font-style: italic; }
|
||||
.box-host { fill: #f6f8fa; stroke: #d0d7de; stroke-width: 1.5; rx: 8; }
|
||||
.box-docker { fill: #fff8f0; stroke: #D4A574; stroke-width: 1.5; rx: 8; }
|
||||
.box-container { fill: #ffffff; stroke: #D4A574; stroke-width: 2; rx: 6; }
|
||||
.box-component { rx: 4; stroke-width: 1; }
|
||||
.comp-cli { fill: #dafbe1; stroke: #56d364; }
|
||||
.comp-project { fill: #ddf4ff; stroke: #54aeff; }
|
||||
.comp-home { fill: #fff1e5; stroke: #D4A574; }
|
||||
.comp-agent { fill: #fbefff; stroke: #bc8cff; }
|
||||
.comp-workspace { fill: #ddf4ff; stroke: #54aeff; }
|
||||
.comp-ssh { fill: #f6f8fa; stroke: #8b949e; }
|
||||
.arrow { stroke: #57606a; stroke-width: 1.5; fill: none; marker-end: url(#arrowhead); }
|
||||
.arrow-mount { stroke: #D4A574; stroke-width: 1.5; stroke-dasharray: 6,3; fill: none; marker-end: url(#arrowhead-mount); }
|
||||
</style>
|
||||
<defs>
|
||||
<marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
||||
<polygon points="0 0, 8 3, 0 6" fill="#57606a"/>
|
||||
</marker>
|
||||
<marker id="arrowhead-mount" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
||||
<polygon points="0 0, 8 3, 0 6" fill="#D4A574"/>
|
||||
</marker>
|
||||
</defs>
|
||||
|
||||
<!-- Host Machine -->
|
||||
<rect class="box-host" x="20" y="20" width="760" height="480"/>
|
||||
<text class="title" x="40" y="48">Host Machine</text>
|
||||
|
||||
<!-- Sandcage CLI -->
|
||||
<rect class="box-component comp-cli" x="50" y="70" width="180" height="60"/>
|
||||
<text class="label" x="140" y="96" text-anchor="middle">sandcage CLI</text>
|
||||
<text class="sublabel" x="140" y="114" text-anchor="middle">sandcage claude</text>
|
||||
|
||||
<!-- Project Files -->
|
||||
<rect class="box-component comp-project" x="50" y="160" width="180" height="70"/>
|
||||
<text class="label" x="140" y="186" text-anchor="middle">Project Files</text>
|
||||
<text class="sublabel" x="140" y="204" text-anchor="middle">~/projects/my-app/</text>
|
||||
<text class="sublabel" x="140" y="218" text-anchor="middle">(resolved to git root)</text>
|
||||
|
||||
<!-- Persistent Home -->
|
||||
<rect class="box-component comp-home" x="50" y="260" width="180" height="60"/>
|
||||
<text class="label" x="140" y="286" text-anchor="middle">Persistent Home</text>
|
||||
<text class="sublabel" x="140" y="304" text-anchor="middle">~/.sandcage/home/</text>
|
||||
|
||||
<!-- SSH Keys -->
|
||||
<rect class="box-component comp-ssh" x="50" y="350" width="180" height="50"/>
|
||||
<text class="label" x="140" y="376" text-anchor="middle">SSH Keys</text>
|
||||
<text class="sublabel" x="140" y="392" text-anchor="middle">~/.ssh/</text>
|
||||
|
||||
<!-- Arrow from CLI down -->
|
||||
<line class="arrow" x1="230" y1="100" x2="320" y2="100"/>
|
||||
|
||||
<!-- Docker Layer -->
|
||||
<rect class="box-docker" x="310" y="60" width="450" height="420"/>
|
||||
<text class="title" x="330" y="88" fill="#9a6b3a">Docker</text>
|
||||
|
||||
<!-- Container -->
|
||||
<rect class="box-container" x="340" y="105" width="390" height="350"/>
|
||||
<text class="title" x="360" y="133">Container</text>
|
||||
|
||||
<!-- Agent -->
|
||||
<rect class="box-component comp-agent" x="370" y="150" width="330" height="60"/>
|
||||
<text class="label" x="535" y="176" text-anchor="middle">AI Agent (Claude Code / Codex)</text>
|
||||
<text class="sublabel" x="535" y="194" text-anchor="middle">runs as entrypoint</text>
|
||||
|
||||
<!-- Mounted Workspace -->
|
||||
<rect class="box-component comp-workspace" x="370" y="235" width="330" height="60"/>
|
||||
<text class="label" x="535" y="261" text-anchor="middle">/workspace/my-app</text>
|
||||
<text class="sublabel" x="535" y="279" text-anchor="middle">project mounted read-write</text>
|
||||
|
||||
<!-- Mounted Home -->
|
||||
<rect class="box-component comp-home" x="370" y="320" width="330" height="55"/>
|
||||
<text class="label" x="535" y="346" text-anchor="middle">/home/agent</text>
|
||||
<text class="sublabel" x="535" y="362" text-anchor="middle">config, creds, plugins persist</text>
|
||||
|
||||
<!-- Mounted SSH -->
|
||||
<rect class="box-component comp-ssh" x="370" y="395" width="330" height="45"/>
|
||||
<text class="label" x="535" y="417" text-anchor="middle">/home/agent/.ssh (read-only)</text>
|
||||
|
||||
<!-- Volume mount arrows -->
|
||||
<line class="arrow-mount" x1="230" y1="195" x2="368" y2="260"/>
|
||||
<text class="arrow-label" x="280" y="218">mount</text>
|
||||
|
||||
<line class="arrow-mount" x1="230" y1="290" x2="368" y2="340"/>
|
||||
<text class="arrow-label" x="272" y="305">persist</text>
|
||||
|
||||
<line class="arrow-mount" x1="230" y1="375" x2="368" y2="415"/>
|
||||
<text class="arrow-label" x="275" y="392">ro mount</text>
|
||||
|
||||
<!-- Arrow from agent to workspace -->
|
||||
<line class="arrow" x1="535" y1="210" x2="535" y2="233"/>
|
||||
<text class="arrow-label" x="548" y="226">reads/writes</text>
|
||||
|
||||
<!-- Step numbers -->
|
||||
<circle cx="265" cy="85" r="10" fill="#D4A574"/>
|
||||
<text x="265" y="89" text-anchor="middle" font-size="11" fill="white" font-weight="600" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif">1</text>
|
||||
|
||||
<circle cx="290" cy="240" r="10" fill="#D4A574"/>
|
||||
<text x="290" y="244" text-anchor="middle" font-size="11" fill="white" font-weight="600" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif">2</text>
|
||||
|
||||
<circle cx="535" cy="222" r="10" fill="#D4A574"/>
|
||||
<text x="535" y="226" text-anchor="middle" font-size="11" fill="white" font-weight="600" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif">3</text>
|
||||
|
||||
<!-- Legend -->
|
||||
<text class="sublabel" x="50" y="460">1 CLI orchestrates Docker</text>
|
||||
<text class="sublabel" x="50" y="476">2 Volumes mount project, home, and SSH into container</text>
|
||||
<text class="sublabel" x="50" y="492">3 Agent works in mounted workspace — changes visible on host</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.9 KiB |
Reference in New Issue
Block a user