🚀
|
After Width: | Height: | Size: 1.5 MiB |
@@ -0,0 +1,59 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 400" font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace" role="img" aria-label="Fable 5 architect and GPT-5.6 Sol builder fusing into one attributed result — AND, not OR">
|
||||
<style>
|
||||
.flow { fill: none; stroke-width: 2; stroke-dasharray: 6 10; stroke-linecap: round; animation: march 1.1s linear infinite; }
|
||||
.flow-b { animation-delay: -0.55s; }
|
||||
@keyframes march { to { stroke-dashoffset: -16; } }
|
||||
.glow { animation: pulse 2.8s ease-in-out infinite; }
|
||||
@keyframes pulse { 0%,100% { opacity: 0.15; } 50% { opacity: 0.55; } }
|
||||
.breathe { animation: breathe 2.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
|
||||
@keyframes breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.035); } }
|
||||
@media (prefers-reduced-motion: reduce) { .flow, .flow-b, .glow, .breathe { animation: none; } }
|
||||
</style>
|
||||
|
||||
<defs>
|
||||
<marker id="arr-a" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
|
||||
<path d="M0,0 L10,5 L0,10 z" fill="#a78bfa"/>
|
||||
</marker>
|
||||
<marker id="arr-b" viewBox="0 0 10 10" refX="8" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse">
|
||||
<path d="M0,0 L10,5 L0,10 z" fill="#f0b429"/>
|
||||
</marker>
|
||||
</defs>
|
||||
|
||||
<rect x="0" y="0" width="900" height="400" rx="14" fill="#0d1117"/>
|
||||
<rect x="0.75" y="0.75" width="898.5" height="398.5" rx="13.5" fill="none" stroke="#30363d" stroke-width="1.5"/>
|
||||
|
||||
<!-- title -->
|
||||
<text x="450" y="48" text-anchor="middle" fill="#e6edf3" font-size="21" font-weight="700" letter-spacing="3">FUSE FRONTIER MODELS</text>
|
||||
<text x="450" y="74" text-anchor="middle" fill="#8b949e" font-size="13">AND, not OR — combine compute instead of selecting it</text>
|
||||
|
||||
<!-- architect panel -->
|
||||
<g>
|
||||
<rect x="70" y="110" width="250" height="100" rx="10" fill="#161b22" stroke="#a78bfa" stroke-width="1.5"/>
|
||||
<text x="95" y="143" fill="#a78bfa" font-size="16" font-weight="700">◆ ARCHITECT</text>
|
||||
<text x="95" y="166" fill="#8b949e" font-size="12">anthropic/claude-fable-5</text>
|
||||
<text x="95" y="190" fill="#e6edf3" font-size="12">plans · fuses · validates</text>
|
||||
</g>
|
||||
|
||||
<!-- builder panel -->
|
||||
<g>
|
||||
<rect x="580" y="110" width="250" height="100" rx="10" fill="#161b22" stroke="#f0b429" stroke-width="1.5"/>
|
||||
<text x="605" y="143" fill="#f0b429" font-size="16" font-weight="700">▲ BUILDER</text>
|
||||
<text x="605" y="166" fill="#8b949e" font-size="12">openai/gpt-5.6-sol</text>
|
||||
<text x="605" y="190" fill="#e6edf3" font-size="12">builds · ships working diffs</text>
|
||||
</g>
|
||||
|
||||
<!-- fusion streams -->
|
||||
<path class="flow" d="M195,210 C195,256 340,244 408,266" stroke="#a78bfa" marker-end="url(#arr-a)"/>
|
||||
<path class="flow flow-b" d="M705,210 C705,256 560,244 492,266" stroke="#f0b429" marker-end="url(#arr-b)"/>
|
||||
|
||||
<!-- fused result -->
|
||||
<g class="breathe">
|
||||
<rect class="glow" x="252" y="262" width="396" height="96" rx="12" fill="none" stroke="#22d3ee" stroke-width="6" opacity="0.2"/>
|
||||
<rect x="260" y="270" width="380" height="80" rx="10" fill="#0f1a1e" stroke="#22d3ee" stroke-width="1.5"/>
|
||||
<text x="450" y="303" text-anchor="middle" fill="#22d3ee" font-size="16" font-weight="700">⧉ FUSED RESULT</text>
|
||||
<text x="450" y="328" text-anchor="middle" fill="#8b949e" font-size="10">[ARCHITECT]/[BUILDER] attribution · consensus & divergence</text>
|
||||
</g>
|
||||
|
||||
<!-- footer tag -->
|
||||
<text x="450" y="386" text-anchor="middle" fill="#484f58" font-size="11">fusion-harness · a Pi extension for two-model agentic engineering</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.6 KiB |
@@ -0,0 +1,71 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 840 340" font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace" role="img" aria-label="Three commands: /opinion compares two agents side by side, /fusion merges three agents with attribution, /auto-validate runs a gate-first loop">
|
||||
<rect x="0" y="0" width="840" height="340" rx="14" fill="#0d1117"/>
|
||||
<rect x="0.75" y="0.75" width="838.5" height="338.5" rx="13.5" fill="none" stroke="#30363d" stroke-width="1.5"/>
|
||||
|
||||
<text x="420" y="42" text-anchor="middle" fill="#e6edf3" font-size="16" font-weight="700" letter-spacing="2">ONE EXTENSION · THREE COMMANDS</text>
|
||||
|
||||
<!-- /opinion -->
|
||||
<g>
|
||||
<rect x="40" y="66" width="240" height="230" rx="10" fill="#161b22" stroke="#30363d" stroke-width="1.5"/>
|
||||
<text x="60" y="98" fill="#e6edf3" font-size="15" font-weight="700">/opinion</text>
|
||||
|
||||
<rect x="60" y="118" width="90" height="70" rx="8" fill="#0d1117" stroke="#a78bfa" stroke-width="1.25"/>
|
||||
<text x="105" y="148" text-anchor="middle" fill="#a78bfa" font-size="15" font-weight="700">◆</text>
|
||||
<text x="105" y="170" text-anchor="middle" fill="#8b949e" font-size="10">answer</text>
|
||||
<rect x="170" y="118" width="90" height="70" rx="8" fill="#0d1117" stroke="#f0b429" stroke-width="1.25"/>
|
||||
<text x="215" y="148" text-anchor="middle" fill="#f0b429" font-size="15" font-weight="700">▲</text>
|
||||
<text x="215" y="170" text-anchor="middle" fill="#8b949e" font-size="10">answer</text>
|
||||
|
||||
<rect x="60" y="202" width="200" height="18" rx="4" fill="#0d1117" stroke="#30363d"/>
|
||||
<text x="160" y="215" text-anchor="middle" fill="#8b949e" font-size="10">model · latency · tokens · cost</text>
|
||||
|
||||
<text x="160" y="252" text-anchor="middle" fill="#e6edf3" font-size="11">2 agents · independent answers</text>
|
||||
<text x="160" y="272" text-anchor="middle" fill="#8b949e" font-size="11">a pure side-by-side A/B read</text>
|
||||
</g>
|
||||
|
||||
<!-- /fusion -->
|
||||
<g>
|
||||
<rect x="300" y="66" width="240" height="230" rx="10" fill="#161b22" stroke="#22d3ee" stroke-width="1.5"/>
|
||||
<text x="320" y="98" fill="#e6edf3" font-size="15" font-weight="700">/fusion</text>
|
||||
|
||||
<rect x="320" y="118" width="80" height="48" rx="8" fill="#0d1117" stroke="#a78bfa" stroke-width="1.25"/>
|
||||
<text x="360" y="147" text-anchor="middle" fill="#a78bfa" font-size="14" font-weight="700">◆</text>
|
||||
<rect x="440" y="118" width="80" height="48" rx="8" fill="#0d1117" stroke="#f0b429" stroke-width="1.25"/>
|
||||
<text x="480" y="147" text-anchor="middle" fill="#f0b429" font-size="14" font-weight="700">▲</text>
|
||||
|
||||
<path d="M360,166 C360,190 396,196 410,204" fill="none" stroke="#a78bfa" stroke-width="1.75"/>
|
||||
<path d="M480,166 C480,190 444,196 430,204" fill="none" stroke="#f0b429" stroke-width="1.75"/>
|
||||
|
||||
<rect x="345" y="200" width="150" height="42" rx="8" fill="#0f1a1e" stroke="#22d3ee" stroke-width="1.5"/>
|
||||
<text x="420" y="220" text-anchor="middle" fill="#22d3ee" font-size="13" font-weight="700">⧉ FUSION</text>
|
||||
<text x="420" y="235" text-anchor="middle" fill="#8b949e" font-size="9">fresh session · full tools</text>
|
||||
|
||||
<text x="420" y="266" text-anchor="middle" fill="#e6edf3" font-size="11">3 agents · critical merge</text>
|
||||
<text x="420" y="284" text-anchor="middle" fill="#8b949e" font-size="11">[ARCHITECT]/[BUILDER] attribution</text>
|
||||
</g>
|
||||
|
||||
<!-- /auto-validate -->
|
||||
<g>
|
||||
<rect x="560" y="66" width="240" height="230" rx="10" fill="#161b22" stroke="#3fb950" stroke-width="1.5"/>
|
||||
<text x="580" y="98" fill="#e6edf3" font-size="15" font-weight="700">/auto-validate</text>
|
||||
|
||||
<rect x="580" y="122" width="94" height="48" rx="8" fill="#0d1117" stroke="#3fb950" stroke-width="1.25"/>
|
||||
<text x="627" y="142" text-anchor="middle" fill="#3fb950" font-size="12" font-weight="700">✓ GATE</text>
|
||||
<text x="627" y="158" text-anchor="middle" fill="#8b949e" font-size="9">designed first</text>
|
||||
<line x1="674" y1="146" x2="694" y2="146" stroke="#8b949e" stroke-width="1.75"/>
|
||||
<path d="M694,146 l-6,-4 v8 z" fill="#8b949e"/>
|
||||
<rect x="696" y="122" width="84" height="48" rx="8" fill="#0d1117" stroke="#f0b429" stroke-width="1.25"/>
|
||||
<text x="738" y="142" text-anchor="middle" fill="#f0b429" font-size="12" font-weight="700">▲ BUILD</text>
|
||||
<text x="738" y="158" text-anchor="middle" fill="#8b949e" font-size="9">gate immutable</text>
|
||||
|
||||
<path d="M738,170 C738,208 627,208 627,174" fill="none" stroke="#f85149" stroke-width="1.75" stroke-dasharray="5 5"/>
|
||||
<path d="M627,174 l-4,7 h8 z" fill="#f85149"/>
|
||||
<text x="683" y="222" text-anchor="middle" fill="#f85149" font-size="10">FAIL feeds back verbatim</text>
|
||||
|
||||
<text x="680" y="252" text-anchor="middle" fill="#e6edf3" font-size="11">red → green, or a loud halt</text>
|
||||
<text x="680" y="270" text-anchor="middle" fill="#8b949e" font-size="11">the builder never grades</text>
|
||||
<text x="680" y="286" text-anchor="middle" fill="#8b949e" font-size="11">its own homework</text>
|
||||
</g>
|
||||
|
||||
<text x="420" y="322" text-anchor="middle" fill="#484f58" font-size="11">every agent: a clean-room pi subprocess · artifacts in /tmp/fusion-harness-* · never inside the repo</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1,59 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 840 380" font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace" role="img" aria-label="The Pi host runs on the builder model and slash commands fork it; the architect stays a separate persistent brain pinned per project and per model">
|
||||
<rect x="0" y="0" width="840" height="380" rx="14" fill="#0d1117"/>
|
||||
<rect x="0.75" y="0.75" width="838.5" height="378.5" rx="13.5" fill="none" stroke="#30363d" stroke-width="1.5"/>
|
||||
|
||||
<text x="420" y="40" text-anchor="middle" fill="#e6edf3" font-size="16" font-weight="700" letter-spacing="2">RAW CHAT IS THE BUILDER</text>
|
||||
|
||||
<!-- host panel -->
|
||||
<g>
|
||||
<rect x="40" y="66" width="440" height="128" rx="10" fill="#161b22" stroke="#f0b429" stroke-width="1.5"/>
|
||||
<text x="62" y="96" fill="#f0b429" font-size="14" font-weight="700">▲ PI HOST · BUILDER MODEL</text>
|
||||
<text x="62" y="118" fill="#8b949e" font-size="11">openai/gpt-5.6-sol · your skills & context load here</text>
|
||||
<rect x="62" y="132" width="396" height="44" rx="7" fill="#0d1117" stroke="#30363d"/>
|
||||
<text x="76" y="152" fill="#e6edf3" font-size="11">> plain messages = the untouched native pi experience</text>
|
||||
<text x="76" y="168" fill="#8b949e" font-size="11">raw chat and slash commands are the same agent</text>
|
||||
</g>
|
||||
|
||||
<!-- fork arrows -->
|
||||
<path d="M170,194 C170,224 150,232 144,252" fill="none" stroke="#f0b429" stroke-width="1.75"/>
|
||||
<path d="M144,252 l-2,-8 l7,3 z" fill="#f0b429"/>
|
||||
<path d="M350,194 C350,224 370,232 376,252" fill="none" stroke="#f0b429" stroke-width="1.75"/>
|
||||
<path d="M376,252 l-5,-6 l8,-1 z" fill="#f0b429"/>
|
||||
<text x="260" y="232" text-anchor="middle" fill="#f0b429" font-size="11" font-weight="700">fork</text>
|
||||
|
||||
<!-- builder children -->
|
||||
<g>
|
||||
<rect x="52" y="254" width="180" height="72" rx="9" fill="#0d1117" stroke="#f0b429" stroke-width="1.25"/>
|
||||
<text x="142" y="280" text-anchor="middle" fill="#f0b429" font-size="12" font-weight="700">▲ builder child</text>
|
||||
<text x="142" y="298" text-anchor="middle" fill="#8b949e" font-size="10">inherits raw chat + panels</text>
|
||||
<text x="142" y="313" text-anchor="middle" fill="#8b949e" font-size="10">clean-room spawn</text>
|
||||
</g>
|
||||
<g>
|
||||
<rect x="288" y="254" width="180" height="72" rx="9" fill="#0d1117" stroke="#f0b429" stroke-width="1.25"/>
|
||||
<text x="378" y="280" text-anchor="middle" fill="#f0b429" font-size="12" font-weight="700">▲ builder child</text>
|
||||
<text x="378" y="298" text-anchor="middle" fill="#8b949e" font-size="10">auto-validate rounds</text>
|
||||
<text x="378" y="313" text-anchor="middle" fill="#8b949e" font-size="10">resume the same fork</text>
|
||||
</g>
|
||||
|
||||
<!-- divider -->
|
||||
<line x1="520" y1="60" x2="520" y2="336" stroke="#30363d" stroke-width="1.5" stroke-dasharray="4 6"/>
|
||||
|
||||
<!-- architect brain -->
|
||||
<g>
|
||||
<rect x="556" y="66" width="244" height="260" rx="10" fill="#161b22" stroke="#a78bfa" stroke-width="1.5"/>
|
||||
<text x="678" y="98" text-anchor="middle" fill="#a78bfa" font-size="14" font-weight="700">◆ ARCHITECT</text>
|
||||
<text x="678" y="120" text-anchor="middle" fill="#8b949e" font-size="11">anthropic/claude-fable-5</text>
|
||||
|
||||
<rect x="576" y="138" width="204" height="94" rx="7" fill="#0d1117" stroke="#30363d"/>
|
||||
<text x="678" y="162" text-anchor="middle" fill="#e6edf3" font-size="11">separate persistent brain</text>
|
||||
<text x="678" y="182" text-anchor="middle" fill="#8b949e" font-size="10">pinned per project + per model</text>
|
||||
<text x="678" y="200" text-anchor="middle" fill="#8b949e" font-size="10">/tmp/fusion-harness-sessions/</text>
|
||||
<text x="678" y="218" text-anchor="middle" fill="#8b949e" font-size="10">restart-proof · /fh-reset wipes</text>
|
||||
|
||||
<text x="678" y="264" text-anchor="middle" fill="#e6edf3" font-size="11">never forks the host:</text>
|
||||
<text x="678" y="284" text-anchor="middle" fill="#8b949e" font-size="10">an architect that inherited every</text>
|
||||
<text x="678" y="300" text-anchor="middle" fill="#8b949e" font-size="10">builder assumption is just an echo</text>
|
||||
</g>
|
||||
|
||||
<text x="420" y="360" text-anchor="middle" fill="#8b949e" font-size="12">two independent perspectives is the point of fusion</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.1 KiB |
@@ -0,0 +1,86 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 900 440" font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace" role="img" aria-label="Auto-validation loop: validator designs the gate first, baseline must fail red, builder builds, the gate runs — pass ends the loop, fail feeds back verbatim until green or halt">
|
||||
<style>
|
||||
.flow { fill: none; stroke-width: 2; stroke-dasharray: 5 8; stroke-linecap: round; animation: march 1.1s linear infinite; }
|
||||
@keyframes march { to { stroke-dashoffset: -13; } }
|
||||
.lag1 { animation-delay: -0.3s; } .lag2 { animation-delay: -0.6s; } .lag3 { animation-delay: -0.9s; }
|
||||
.blink-red { animation: blinkr 1.6s ease-in-out infinite; }
|
||||
@keyframes blinkr { 0%,100% { fill: #f85149; opacity: 1; } 50% { opacity: 0.25; } }
|
||||
.glow-green { animation: glowg 2.4s ease-in-out infinite; }
|
||||
@keyframes glowg { 0%,100% { opacity: 0.15; } 50% { opacity: 0.6; } }
|
||||
@media (prefers-reduced-motion: reduce) { .flow, .blink-red, .glow-green { animation: none; } }
|
||||
</style>
|
||||
|
||||
<rect x="0" y="0" width="900" height="440" rx="14" fill="#0d1117"/>
|
||||
<rect x="0.75" y="0.75" width="898.5" height="438.5" rx="13.5" fill="none" stroke="#30363d" stroke-width="1.5"/>
|
||||
|
||||
<text x="450" y="44" text-anchor="middle" fill="#e6edf3" font-size="16" font-weight="700" letter-spacing="2">THE AUTO-VALIDATION LOOP</text>
|
||||
<text x="450" y="68" text-anchor="middle" fill="#8b949e" font-size="12">the gate is designed BEFORE the build · red → green</text>
|
||||
|
||||
<!-- 1 validator designs gate -->
|
||||
<g>
|
||||
<rect x="40" y="100" width="180" height="96" rx="10" fill="#161b22" stroke="#3fb950" stroke-width="1.5"/>
|
||||
<text x="56" y="126" fill="#3fb950" font-size="13" font-weight="700">1 ✓ VALIDATOR</text>
|
||||
<text x="56" y="148" fill="#e6edf3" font-size="11">designs gate.py</text>
|
||||
<text x="56" y="166" fill="#8b949e" font-size="10">read-only · uv / PEP 723</text>
|
||||
<text x="56" y="182" fill="#8b949e" font-size="9.5">every requirement → a check</text>
|
||||
</g>
|
||||
<path class="flow" d="M220,148 L258,148" stroke="#8b949e"/>
|
||||
<path d="M262,148 l-7,-4.5 v9 z" fill="#8b949e"/>
|
||||
|
||||
<!-- 2 baseline red -->
|
||||
<g>
|
||||
<rect x="264" y="100" width="180" height="96" rx="10" fill="#161b22" stroke="#f85149" stroke-width="1.5"/>
|
||||
<circle class="blink-red" cx="416" cy="122" r="6"/>
|
||||
<text x="280" y="126" fill="#f85149" font-size="13" font-weight="700">2 BASELINE RUN</text>
|
||||
<text x="280" y="148" fill="#e6edf3" font-size="11">must fail RED</text>
|
||||
<text x="280" y="166" fill="#8b949e" font-size="10">a passing baseline means</text>
|
||||
<text x="280" y="182" fill="#8b949e" font-size="10">a weak gate — said loudly</text>
|
||||
</g>
|
||||
<path class="flow lag1" d="M444,148 L482,148" stroke="#8b949e"/>
|
||||
<path d="M486,148 l-7,-4.5 v9 z" fill="#8b949e"/>
|
||||
|
||||
<!-- 3 builder builds -->
|
||||
<g>
|
||||
<rect x="488" y="100" width="180" height="96" rx="10" fill="#161b22" stroke="#f0b429" stroke-width="1.5"/>
|
||||
<text x="504" y="126" fill="#f0b429" font-size="13" font-weight="700">3 ▲ BUILDER</text>
|
||||
<text x="504" y="148" fill="#e6edf3" font-size="11">builds with full tools</text>
|
||||
<text x="504" y="166" fill="#8b949e" font-size="10">gate visible but immutable</text>
|
||||
<text x="504" y="182" fill="#8b949e" font-size="10">persistent session</text>
|
||||
</g>
|
||||
<path class="flow lag2" d="M668,148 L706,148" stroke="#8b949e"/>
|
||||
<path d="M710,148 l-7,-4.5 v9 z" fill="#8b949e"/>
|
||||
|
||||
<!-- 4 gate runs -->
|
||||
<g>
|
||||
<rect x="712" y="100" width="150" height="96" rx="10" fill="#161b22" stroke="#e6edf3" stroke-width="1.5"/>
|
||||
<text x="728" y="126" fill="#e6edf3" font-size="13" font-weight="700">4 GATE RUNS</text>
|
||||
<text x="728" y="148" fill="#8b949e" font-size="11">uv run gate.py</text>
|
||||
<text x="728" y="166" fill="#8b949e" font-size="10">exit 0 iff what you</text>
|
||||
<text x="728" y="182" fill="#8b949e" font-size="10">asked for got built</text>
|
||||
</g>
|
||||
|
||||
<!-- PASS branch -->
|
||||
<path class="flow lag3" d="M810,196 L810,254" stroke="#3fb950"/>
|
||||
<path d="M810,258 l-4.5,-7 h9 z" fill="#3fb950"/>
|
||||
<g>
|
||||
<rect class="glow-green" x="694" y="256" width="180" height="54" rx="27" fill="none" stroke="#3fb950" stroke-width="5" opacity="0.2"/>
|
||||
<rect x="700" y="262" width="168" height="42" rx="21" fill="#0f1a14" stroke="#3fb950" stroke-width="1.5"/>
|
||||
<text x="784" y="288" text-anchor="middle" fill="#3fb950" font-size="13" font-weight="700">PASS · loop ends ✓</text>
|
||||
</g>
|
||||
|
||||
<!-- FAIL feedback loop -->
|
||||
<path class="flow" d="M740,196 C740,330 578,336 578,204" stroke="#f85149"/>
|
||||
<path d="M578,200 l-4.5,7 h9 z" fill="#f85149"/>
|
||||
<text x="560" y="330" text-anchor="middle" fill="#f85149" font-size="12" font-weight="700">FAIL lines feed back verbatim</text>
|
||||
<text x="560" y="348" text-anchor="middle" fill="#8b949e" font-size="10">expected X · found Y · at PATH · fix</text>
|
||||
|
||||
<!-- escalation + halt notes -->
|
||||
<rect x="40" y="236" width="380" height="130" rx="10" fill="#161b22" stroke="#30363d" stroke-width="1.25"/>
|
||||
<text x="60" y="264" fill="#e6edf3" font-size="12" font-weight="700">escalation ladder</text>
|
||||
<text x="60" y="290" fill="#8b949e" font-size="10.5">• failure N (default 3): VALIDATOR triages the work —</text>
|
||||
<text x="72" y="306" fill="#8b949e" font-size="11">its brief rides with the next correction</text>
|
||||
<text x="60" y="326" fill="#8b949e" font-size="11">• GATE DEFECT diagnosed: one gate repair, free re-run</text>
|
||||
<text x="60" y="346" fill="#8b949e" font-size="10">• --max-validations (default 5): loud halt, never silent</text>
|
||||
|
||||
<text x="450" y="416" text-anchor="middle" fill="#484f58" font-size="11">the builder never grades its own homework · the grader never touches the code</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.7 KiB |
@@ -0,0 +1,61 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 440" font-family="ui-monospace,SFMono-Regular,Menlo,Consolas,monospace" role="img" aria-label="Two-column terminal DX: architect column left, builder column right, a full-width fusion row, and an aligned two-cell footer with thinking level and context bars">
|
||||
<rect x="0" y="0" width="800" height="440" rx="14" fill="#0d1117"/>
|
||||
<rect x="0.75" y="0.75" width="798.5" height="438.5" rx="13.5" fill="none" stroke="#30363d" stroke-width="1.5"/>
|
||||
|
||||
<!-- terminal window -->
|
||||
<rect x="30" y="26" width="740" height="366" rx="10" fill="#010409" stroke="#30363d" stroke-width="1.5"/>
|
||||
<circle cx="52" cy="46" r="5" fill="#f85149"/>
|
||||
<circle cx="70" cy="46" r="5" fill="#f0b429"/>
|
||||
<circle cx="88" cy="46" r="5" fill="#3fb950"/>
|
||||
<text x="400" y="50" text-anchor="middle" fill="#484f58" font-size="11">pi · fusion-harness</text>
|
||||
|
||||
<!-- column headers -->
|
||||
<text x="50" y="86" fill="#a78bfa" font-size="12" font-weight="700">◆ ARCHITECT · claude-fable-5</text>
|
||||
<text x="410" y="86" fill="#f0b429" font-size="12" font-weight="700">▲ BUILDER · gpt-5.6-sol</text>
|
||||
|
||||
<!-- column divider -->
|
||||
<line x1="400" y1="96" x2="400" y2="226" stroke="#21262d" stroke-width="1.5"/>
|
||||
|
||||
<!-- architect column: tool lines + text bars -->
|
||||
<g>
|
||||
<rect x="50" y="100" width="8" height="8" rx="2" fill="#a78bfa"/>
|
||||
<rect x="66" y="101" width="200" height="6" rx="3" fill="#30363d"/>
|
||||
<rect x="50" y="118" width="300" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="50" y="134" width="270" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="50" y="150" width="310" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="50" y="170" width="8" height="8" rx="2" fill="#a78bfa"/>
|
||||
<rect x="66" y="171" width="160" height="6" rx="3" fill="#30363d"/>
|
||||
<rect x="50" y="188" width="290" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="50" y="204" width="230" height="6" rx="3" fill="#21262d"/>
|
||||
</g>
|
||||
|
||||
<!-- builder column: tool lines + text bars -->
|
||||
<g>
|
||||
<rect x="410" y="100" width="8" height="8" rx="2" fill="#f0b429"/>
|
||||
<rect x="426" y="101" width="230" height="6" rx="3" fill="#30363d"/>
|
||||
<rect x="410" y="118" width="310" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="410" y="134" width="250" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="410" y="152" width="8" height="8" rx="2" fill="#f0b429"/>
|
||||
<rect x="426" y="153" width="180" height="6" rx="3" fill="#30363d"/>
|
||||
<rect x="410" y="170" width="330" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="410" y="188" width="300" height="6" rx="3" fill="#21262d"/>
|
||||
<rect x="410" y="204" width="190" height="6" rx="3" fill="#21262d"/>
|
||||
</g>
|
||||
|
||||
<!-- full-width fusion row -->
|
||||
<rect x="50" y="240" width="700" height="74" rx="8" fill="#0f1a1e" stroke="#22d3ee" stroke-width="1.5"/>
|
||||
<text x="66" y="264" fill="#22d3ee" font-size="12" font-weight="700">⧉ FUSION · full-width row</text>
|
||||
<rect x="66" y="278" width="560" height="6" rx="3" fill="#173b44"/>
|
||||
<rect x="66" y="294" width="640" height="6" rx="3" fill="#173b44"/>
|
||||
|
||||
<!-- scrollback note -->
|
||||
<text x="400" y="336" text-anchor="middle" fill="#484f58" font-size="10">panels render full-height into scrollback — no lines hidden behind a toggle</text>
|
||||
|
||||
<!-- footer: two aligned cells -->
|
||||
<rect x="30" y="352" width="740" height="40" rx="0" fill="#0d1117"/>
|
||||
<line x1="30" y1="352" x2="770" y2="352" stroke="#30363d" stroke-width="1.5"/>
|
||||
<text x="50" y="377" fill="#a78bfa" font-size="12">◆ ARCHITECT | fable-5 (med) | [██--------] 12%</text>
|
||||
<text x="410" y="377" fill="#f0b429" font-size="12">▲ BUILDER | gpt-5.6-sol (med) | [███-------] 31%</text>
|
||||
|
||||
<text x="400" y="422" text-anchor="middle" fill="#8b949e" font-size="12">ARCHITECT-family left · BUILDER right — live widget, final panels, footer, all aligned</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 286 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 251 KiB |
|
After Width: | Height: | Size: 181 KiB |
|
After Width: | Height: | Size: 176 KiB |
|
After Width: | Height: | Size: 132 KiB |
|
After Width: | Height: | Size: 136 KiB |
|
After Width: | Height: | Size: 230 KiB |
|
After Width: | Height: | Size: 238 KiB |
|
After Width: | Height: | Size: 84 KiB |