🥇 export from upstream (cb2406c)
This commit is contained in:
@@ -22,6 +22,7 @@
|
|||||||
|
|
||||||
### Planned Features
|
### Planned Features
|
||||||
|
|
||||||
|
- **Support for custom harnesses** — bring your own agent runtime, not just Claude Code and Codex
|
||||||
- **Full encapsulation hardening** — for worker and CI environments, ensuring complete sandboxing of file system, network, and credentials
|
- **Full encapsulation hardening** — for worker and CI environments, ensuring complete sandboxing of file system, network, and credentials
|
||||||
- **ACP integration** via [`dirigate`](https://github.com/dirigence/dirigate) — Agent Communication Protocol support for structured agent orchestration
|
- **ACP integration** via [`dirigate`](https://github.com/dirigence/dirigate) — Agent Communication Protocol support for structured agent orchestration
|
||||||
|
|
||||||
|
|||||||
+29
-26
@@ -2,28 +2,28 @@
|
|||||||
<style>
|
<style>
|
||||||
text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; }
|
text { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif; }
|
||||||
.title { font-size: 15px; font-weight: 600; fill: #24292f; }
|
.title { font-size: 15px; font-weight: 600; fill: #24292f; }
|
||||||
.layer-label { font-size: 13px; font-weight: 600; fill: #ffffff; }
|
.layer-label { font-size: 13px; font-weight: 600; }
|
||||||
.layer-desc { font-size: 11px; fill: #ffffff; opacity: 0.9; }
|
.layer-desc { font-size: 11px; }
|
||||||
.side-label { font-size: 11px; fill: #57606a; }
|
.side-label { font-size: 11px; fill: #57606a; }
|
||||||
.side-detail { font-size: 10px; fill: #8b949e; }
|
.side-detail { font-size: 10px; fill: #8b949e; }
|
||||||
.arrow-text { font-size: 11px; fill: #57606a; font-weight: 500; }
|
.arrow-text { font-size: 11px; fill: #57606a; font-weight: 500; }
|
||||||
</style>
|
</style>
|
||||||
<defs>
|
<defs>
|
||||||
<linearGradient id="grad1" x1="0" y1="0" x2="1" y2="0">
|
<linearGradient id="grad1" x1="0" y1="0" x2="1" y2="0">
|
||||||
<stop offset="0%" stop-color="#c9d1d9"/>
|
<stop offset="0%" stop-color="#e8ecf0"/>
|
||||||
<stop offset="100%" stop-color="#b1bac4"/>
|
<stop offset="100%" stop-color="#dce1e6"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="grad2" x1="0" y1="0" x2="1" y2="0">
|
<linearGradient id="grad2" x1="0" y1="0" x2="1" y2="0">
|
||||||
<stop offset="0%" stop-color="#8b949e"/>
|
<stop offset="0%" stop-color="#a8b2bc"/>
|
||||||
<stop offset="100%" stop-color="#6e7681"/>
|
<stop offset="100%" stop-color="#94a0ab"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="grad3" x1="0" y1="0" x2="1" y2="0">
|
<linearGradient id="grad3" x1="0" y1="0" x2="1" y2="0">
|
||||||
<stop offset="0%" stop-color="#D4A574"/>
|
<stop offset="0%" stop-color="#e8c9a4"/>
|
||||||
<stop offset="100%" stop-color="#c0895a"/>
|
<stop offset="100%" stop-color="#d4b08a"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="grad3b" x1="0" y1="0" x2="1" y2="0">
|
<linearGradient id="grad3b" x1="0" y1="0" x2="1" y2="0">
|
||||||
<stop offset="0%" stop-color="#b87d4a"/>
|
<stop offset="0%" stop-color="#c9995c"/>
|
||||||
<stop offset="100%" stop-color="#a06838"/>
|
<stop offset="100%" stop-color="#b58548"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="grad4" x1="0" y1="0" x2="1" y2="0">
|
<linearGradient id="grad4" x1="0" y1="0" x2="1" y2="0">
|
||||||
<stop offset="0%" stop-color="#8a5c2a"/>
|
<stop offset="0%" stop-color="#8a5c2a"/>
|
||||||
@@ -34,48 +34,51 @@
|
|||||||
</marker>
|
</marker>
|
||||||
</defs>
|
</defs>
|
||||||
|
|
||||||
|
<!-- Background panel -->
|
||||||
|
<rect x="10" y="10" width="780" height="400" rx="10" fill="#f6f8fa" stroke="#d0d7de" stroke-width="1"/>
|
||||||
|
|
||||||
<!-- Title -->
|
<!-- Title -->
|
||||||
<text class="title" x="400" y="30" text-anchor="middle">Configuration Layering</text>
|
<text class="title" x="400" y="35" text-anchor="middle">Configuration Layering</text>
|
||||||
|
|
||||||
<!-- Priority arrow on the left -->
|
<!-- Priority arrow on the left -->
|
||||||
<line x1="70" y1="60" x2="70" y2="370" stroke="#8b949e" stroke-width="1.5" marker-end="url(#arr)"/>
|
<line x1="70" y1="60" x2="70" y2="370" stroke="#8b949e" stroke-width="1.5" marker-end="url(#arr)"/>
|
||||||
<text class="arrow-text" x="66" y="220" text-anchor="middle" transform="rotate(-90, 66, 220)">Higher priority overrides</text>
|
<text class="arrow-text" x="66" y="220" text-anchor="middle" transform="rotate(-90, 66, 220)">Higher priority overrides</text>
|
||||||
|
|
||||||
<!-- Layer 1 - Compiled Defaults (bottom, lightest) -->
|
<!-- Layer 1 - Compiled Defaults (bottom, lightest) -->
|
||||||
<rect x="120" y="310" width="540" height="56" rx="6" fill="url(#grad1)"/>
|
<rect x="120" y="310" width="540" height="56" rx="6" fill="url(#grad1)" stroke="#c9d1d9" stroke-width="1"/>
|
||||||
<text class="layer-label" x="390" y="335" text-anchor="middle" fill="#24292f">Compiled Defaults</text>
|
<text class="layer-label" x="390" y="335" text-anchor="middle" fill="#24292f">Compiled Defaults</text>
|
||||||
<text class="layer-desc" x="390" y="353" text-anchor="middle" fill="#57606a">Built into the sandcage binary</text>
|
<text class="layer-desc" x="390" y="353" text-anchor="middle" fill="#57606a">Built into the sandcage binary</text>
|
||||||
<text class="side-label" x="680" y="335">Base values</text>
|
<text class="side-label" x="680" y="335">Base values</text>
|
||||||
<text class="side-detail" x="680" y="351">always present</text>
|
<text class="side-detail" x="680" y="351">always present</text>
|
||||||
|
|
||||||
<!-- Layer 2 - Global Config -->
|
<!-- Layer 2 - Global Config -->
|
||||||
<rect x="140" y="245" width="540" height="56" rx="6" fill="url(#grad2)"/>
|
<rect x="140" y="245" width="540" height="56" rx="6" fill="url(#grad2)" stroke="#8b949e" stroke-width="1"/>
|
||||||
<text class="layer-label" x="410" y="270" text-anchor="middle">Global Config</text>
|
<text class="layer-label" x="410" y="270" text-anchor="middle" fill="#ffffff">Global Config</text>
|
||||||
<text class="layer-desc" x="410" y="288" text-anchor="middle">~/.sandcage/config.toml</text>
|
<text class="layer-desc" x="410" y="288" text-anchor="middle" fill="#f0f0f0">~/.sandcage/config.toml</text>
|
||||||
<text class="side-label" x="700" y="270">User-wide</text>
|
<text class="side-label" x="700" y="270">User-wide</text>
|
||||||
<text class="side-detail" x="700" y="286">SSH, shell, mounts</text>
|
<text class="side-detail" x="700" y="286">SSH, shell, mounts</text>
|
||||||
|
|
||||||
<!-- Layer 3 - Project Config -->
|
<!-- Layer 3 - Project Config -->
|
||||||
<rect x="160" y="180" width="540" height="56" rx="6" fill="url(#grad3)"/>
|
<rect x="160" y="180" width="540" height="56" rx="6" fill="url(#grad3)" stroke="#D4A574" stroke-width="1"/>
|
||||||
<text class="layer-label" x="430" y="205" text-anchor="middle">Project Config</text>
|
<text class="layer-label" x="430" y="205" text-anchor="middle" fill="#3d2a12">Project Config</text>
|
||||||
<text class="layer-desc" x="430" y="223" text-anchor="middle">.sandcage.yml — checked into version control</text>
|
<text class="layer-desc" x="430" y="223" text-anchor="middle" fill="#5c3f1e">.sandcage.yml — checked into version control</text>
|
||||||
<text class="side-label" x="720" y="205">Per-project</text>
|
<text class="side-label" x="720" y="205">Per-project</text>
|
||||||
<text class="side-detail" x="720" y="221">packages, toolchains, env</text>
|
<text class="side-detail" x="720" y="221">packages, toolchains, env</text>
|
||||||
|
|
||||||
<!-- Layer 4 - Local Config (new) -->
|
<!-- Layer 4 - Local Config -->
|
||||||
<rect x="170" y="115" width="540" height="56" rx="6" fill="url(#grad3b)"/>
|
<rect x="170" y="115" width="540" height="56" rx="6" fill="url(#grad3b)" stroke="#a06838" stroke-width="1"/>
|
||||||
<text class="layer-label" x="440" y="140" text-anchor="middle">Local Config</text>
|
<text class="layer-label" x="440" y="140" text-anchor="middle" fill="#ffffff">Local Config</text>
|
||||||
<text class="layer-desc" x="440" y="158" text-anchor="middle">.sandcage.local.yml — gitignored, personal overrides</text>
|
<text class="layer-desc" x="440" y="158" text-anchor="middle" fill="#f0f0f0">.sandcage.local.yml — gitignored, personal overrides</text>
|
||||||
<text class="side-label" x="730" y="140">Per-developer</text>
|
<text class="side-label" x="730" y="140">Per-developer</text>
|
||||||
<text class="side-detail" x="730" y="156">SSH keys, secrets, mounts</text>
|
<text class="side-detail" x="730" y="156">SSH keys, secrets, mounts</text>
|
||||||
|
|
||||||
<!-- Layer 5 - CLI Flags (top, darkest) -->
|
<!-- Layer 5 - CLI Flags (top, darkest) -->
|
||||||
<rect x="180" y="55" width="540" height="50" rx="6" fill="url(#grad4)"/>
|
<rect x="180" y="55" width="540" height="50" rx="6" fill="url(#grad4)" stroke="#6b4720" stroke-width="1"/>
|
||||||
<text class="layer-label" x="450" y="77" text-anchor="middle">CLI Flags</text>
|
<text class="layer-label" x="450" y="77" text-anchor="middle" fill="#ffffff">CLI Flags</text>
|
||||||
<text class="layer-desc" x="450" y="94" text-anchor="middle">sandcage claude -p ~/project -- --resume</text>
|
<text class="layer-desc" x="450" y="94" text-anchor="middle" fill="#f0f0f0">sandcage claude -p ~/project -- --resume</text>
|
||||||
<text class="side-label" x="740" y="77">Per-invocation</text>
|
<text class="side-label" x="740" y="77">Per-invocation</text>
|
||||||
<text class="side-detail" x="740" y="93">highest priority</text>
|
<text class="side-detail" x="740" y="93">highest priority</text>
|
||||||
|
|
||||||
<!-- Bottom note -->
|
<!-- Bottom note -->
|
||||||
<text x="400" y="400" text-anchor="middle" font-size="11" fill="#8b949e" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif">Each layer overrides the one below it. Only set what you need — sensible defaults handle the rest.</text>
|
<text x="400" y="398" text-anchor="middle" font-size="11" fill="#8b949e" font-family="-apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif">Each layer overrides the one below it. Only set what you need — sensible defaults handle the rest.</text>
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.9 KiB |
Reference in New Issue
Block a user