Lead with the 17s demo, and move the headline panels into Results
Browse filesThe demo is the hero, above the selection schematic, which now expands to the
paper's full teaser in place instead of opening a new tab. The interactive
four-benchmark panels move to Results at a glance so the paper's static bars no
longer sit directly above an interactive copy of the same chart.
assets/demo.mp4 is tracked with LFS, as the Hub requires for binaries.
- .gitattributes +1 -0
- README.md +21 -4
- assets/demo.mp4 +3 -0
- assets/demo_poster.jpg +0 -0
- index.html +59 -20
- tools/deploy_hf.sh +0 -0
.gitattributes
CHANGED
|
@@ -38,3 +38,4 @@ assets/full/population.png filter=lfs diff=lfs merge=lfs -text
|
|
| 38 |
assets/full/teaser.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
assets/overview.png filter=lfs diff=lfs merge=lfs -text
|
| 40 |
assets/population.png filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
| 38 |
assets/full/teaser.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
assets/overview.png filter=lfs diff=lfs merge=lfs -text
|
| 40 |
assets/population.png filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
assets/demo.mp4 filter=lfs diff=lfs merge=lfs -text
|
README.md
CHANGED
|
@@ -26,8 +26,21 @@ model frozen. Across four benchmarks, one loop adds ~17 points on average:
|
|
| 26 |
|
| 27 |
## Page sections
|
| 28 |
|
| 29 |
-
`Abstract` · `Method` · `Results at a glance` · `Benchmark detail` · `Ablation: what
|
| 30 |
-
changes` · `Limitations` · `BibTeX`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
The ablation section reproduces the paper's framing: it is an *exploratory attribution, not a
|
| 33 |
per-skill causal ablation*, since the skills were co-selected rather than independently randomized.
|
|
@@ -69,7 +82,9 @@ rounds them from unrounded rates.
|
|
| 69 |
**3. WebArena-Infinity evolution curve.** All 37 evaluated variants with a best-so-far envelope,
|
| 70 |
from `notes/tw_dynamics.json` → `wai_adaptive_scores`. Toggle either series.
|
| 71 |
|
| 72 |
-
**4. Headline four-benchmark panels.** Replaces the right half of the teaser
|
|
|
|
|
|
|
| 73 |
`scripts/gen_summary_figure.py`. The reason to make this one interactive is that the paper's figure
|
| 74 |
has to *state* its truncation in the caption: on a shared axis WebArena-Infinity's +49.5 flattens the
|
| 75 |
two terminal benchmarks into slivers, so each panel is scaled to its own range. Here the reader can
|
|
@@ -147,8 +162,10 @@ tools/interaction_test.html click-driven test suite for the interactive
|
|
| 147 |
|
| 148 |
| Figure | Content |
|
| 149 |
| --- | --- |
|
| 150 |
-
| `teaser.png` | four-benchmark teaser
|
| 151 |
| `teaser_schematic.png` | teaser's left half — the selection schematic shown on the page |
|
|
|
|
|
|
|
| 152 |
| `overview.png` | method overview |
|
| 153 |
| `population.png` | per-generation operators (mutation, classification, merge) |
|
| 154 |
| `tb21_category_gain.png` | per-cluster TB2.1 gain |
|
|
|
|
| 26 |
|
| 27 |
## Page sections
|
| 28 |
|
| 29 |
+
`Demo` · `Abstract` · `Method` · `Results at a glance` · `Benchmark detail` · `Ablation: what
|
| 30 |
+
evolution changes` · `Limitations` · `BibTeX`
|
| 31 |
+
|
| 32 |
+
The demo is a 17-second animated walkthrough of the loop (`assets/demo.mp4`, 1080p H.264, 2.9 MB,
|
| 33 |
+
faststart so it streams rather than buffering). It sits under the teaser, autoplays muted on loop,
|
| 34 |
+
and carries narration for anyone who unmutes. It was re-encoded from a 2560×1440 master, which is
|
| 35 |
+
kept out of the Space: at 9.99 MiB the master is within kilobytes of Hugging Face's 10 MiB limit for
|
| 36 |
+
files not tracked with LFS. To rebuild it from a new master:
|
| 37 |
+
|
| 38 |
+
```
|
| 39 |
+
ffmpeg -i master.mp4 -vf "scale=1920:-2:flags=lanczos" \
|
| 40 |
+
-c:v libx264 -profile:v high -level 4.0 -pix_fmt yuv420p -crf 23 -preset slow \
|
| 41 |
+
-c:a aac -b:a 128k -ac 2 -movflags +faststart assets/demo.mp4
|
| 42 |
+
ffmpeg -i master.mp4 -vf "thumbnail=48,scale=1920:-2" -frames:v 1 -q:v 3 assets/demo_poster.jpg
|
| 43 |
+
```
|
| 44 |
|
| 45 |
The ablation section reproduces the paper's framing: it is an *exploratory attribution, not a
|
| 46 |
per-skill causal ablation*, since the skills were co-selected rather than independently randomized.
|
|
|
|
| 82 |
**3. WebArena-Infinity evolution curve.** All 37 evaluated variants with a best-so-far envelope,
|
| 83 |
from `notes/tw_dynamics.json` → `wai_adaptive_scores`. Toggle either series.
|
| 84 |
|
| 85 |
+
**4. Headline four-benchmark panels.** Replaces the right half of the teaser, and lives in `Results at
|
| 86 |
+
a glance` rather than the hero: the teaser expands in place to the paper's full figure, whose static
|
| 87 |
+
bars would otherwise sit directly above the interactive version of the same chart. From
|
| 88 |
`scripts/gen_summary_figure.py`. The reason to make this one interactive is that the paper's figure
|
| 89 |
has to *state* its truncation in the caption: on a shared axis WebArena-Infinity's +49.5 flattens the
|
| 90 |
two terminal benchmarks into slivers, so each panel is scaled to its own range. Here the reader can
|
|
|
|
| 162 |
|
| 163 |
| Figure | Content |
|
| 164 |
| --- | --- |
|
| 165 |
+
| `teaser.png` | four-benchmark teaser — the no-JavaScript fallback for the headline panels |
|
| 166 |
| `teaser_schematic.png` | teaser's left half — the selection schematic shown on the page |
|
| 167 |
+
| `full/teaser.png` | the paper's full teaser, swapped in place when the schematic is clicked |
|
| 168 |
+
| `demo.mp4`, `demo_poster.jpg` | 17-second walkthrough of the loop, and its poster frame |
|
| 169 |
| `overview.png` | method overview |
|
| 170 |
| `population.png` | per-generation operators (mutation, classification, merge) |
|
| 171 |
| `tb21_category_gain.png` | per-cluster TB2.1 gain |
|
assets/demo.mp4
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1a12f868056d93aa0c255444352f489c262d503fd4c0d2a530af8b8b0c860090
|
| 3 |
+
size 3043736
|
assets/demo_poster.jpg
ADDED
|
index.html
CHANGED
|
@@ -57,7 +57,7 @@
|
|
| 57 |
nav.top .spacer { flex: 1 1 auto; }
|
| 58 |
nav.top a.cta { color: #fff; background: var(--navy); font-weight: 500; }
|
| 59 |
nav.top a.cta:hover { background: #06407f; color: #fff; }
|
| 60 |
-
section[id] { scroll-margin-top: calc(var(--navh) + 14px); }
|
| 61 |
|
| 62 |
/* ---------- header ---------- */
|
| 63 |
header { padding: 52px 0 34px; border-bottom: 1px solid var(--line); }
|
|
@@ -97,6 +97,7 @@
|
|
| 97 |
|
| 98 |
figure { margin: 0; }
|
| 99 |
figure img { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
|
|
|
|
| 100 |
figure a.zoom { display: block; position: relative; }
|
| 101 |
figure a.zoom:hover img { border-color: var(--blue); }
|
| 102 |
figure a.zoom::after {
|
|
@@ -105,6 +106,7 @@
|
|
| 105 |
background: rgba(3,45,96,0.82); color: #fff; opacity: 0; transition: opacity .15s;
|
| 106 |
}
|
| 107 |
figure a.zoom:hover::after { opacity: 1; }
|
|
|
|
| 108 |
figcaption { color: var(--muted); font-size: 0.87rem; margin-top: 10px; line-height: 1.55; }
|
| 109 |
.figrow { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
|
| 110 |
.abstract { font-size: 1.02rem; }
|
|
@@ -318,6 +320,7 @@
|
|
| 318 |
<nav class="top">
|
| 319 |
<div class="wrap">
|
| 320 |
<span class="brand">DarwinX</span>
|
|
|
|
| 321 |
<a href="#abstract">Abstract</a>
|
| 322 |
<a href="#method">Method</a>
|
| 323 |
<a href="#results">Results</a>
|
|
@@ -355,6 +358,7 @@
|
|
| 355 |
<a class="btn" href="https://arxiv.org/abs/2608.07545">arXiv:2608.07545</a>
|
| 356 |
<a class="btn ghost" href="https://arxiv.org/pdf/2608.07545">PDF</a>
|
| 357 |
<a class="btn ghost" href="https://huggingface.co/papers/2608.07545">Hugging Face</a>
|
|
|
|
| 358 |
<a class="btn ghost" href="mailto:yifan.zhang@salesforce.com?subject=DarwinX%20code%20request">Code available on request</a>
|
| 359 |
</div>
|
| 360 |
</div>
|
|
@@ -362,31 +366,31 @@
|
|
| 362 |
|
| 363 |
<section>
|
| 364 |
<div class="wrap">
|
| 365 |
-
<figure>
|
| 366 |
-
<
|
| 367 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 368 |
</a>
|
| 369 |
<figcaption>
|
| 370 |
<b>With the base model frozen, evolving the harness alone matches or beats the strongest prior
|
| 371 |
agent on four benchmarks.</b> Variants survive on measured fitness (avg@<i>k</i>, no gold solutions)
|
| 372 |
-
and complementary survivors are merged. Click for the paper's full
|
|
|
|
| 373 |
</figcaption>
|
| 374 |
</figure>
|
| 375 |
-
|
| 376 |
-
<div class="block">
|
| 377 |
-
<div class="widget" id="hl-widget">
|
| 378 |
-
<div class="wtop">
|
| 379 |
-
<span class="wlabel">y-axis</span>
|
| 380 |
-
<div class="chips" id="hl-chips"></div>
|
| 381 |
-
<span style="flex:1"></span>
|
| 382 |
-
<label class="toggle"><input type="checkbox" id="hl-prior" checked /> best prior agent</label>
|
| 383 |
-
</div>
|
| 384 |
-
<div class="panels" id="hl-panels"></div>
|
| 385 |
-
<div class="wlegend" id="hl-legend"></div>
|
| 386 |
-
<p class="tnote" id="hl-note"></p>
|
| 387 |
-
</div>
|
| 388 |
-
<noscript class="nojs"><img src="assets/teaser.png" alt="Four-benchmark summary: base vs. evolved vs. best prior agent." /></noscript>
|
| 389 |
-
</div>
|
| 390 |
</div>
|
| 391 |
</section>
|
| 392 |
|
|
@@ -501,6 +505,21 @@
|
|
| 501 |
(Terminal-Bench 2.1), held-out task split (TerminalWorld), synthetic → real intent
|
| 502 |
shift (WebArena-Infinity), and zero-shot cross-benchmark transfer (SWE-bench Verified).
|
| 503 |
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 504 |
</div>
|
| 505 |
</section>
|
| 506 |
|
|
@@ -1699,6 +1718,26 @@
|
|
| 1699 |
function () { btn.textContent = "Press \u2318C"; }
|
| 1700 |
);
|
| 1701 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1702 |
})();
|
| 1703 |
</script>
|
| 1704 |
|
|
|
|
| 57 |
nav.top .spacer { flex: 1 1 auto; }
|
| 58 |
nav.top a.cta { color: #fff; background: var(--navy); font-weight: 500; }
|
| 59 |
nav.top a.cta:hover { background: #06407f; color: #fff; }
|
| 60 |
+
section[id], figure[id] { scroll-margin-top: calc(var(--navh) + 14px); }
|
| 61 |
|
| 62 |
/* ---------- header ---------- */
|
| 63 |
header { padding: 52px 0 34px; border-bottom: 1px solid var(--line); }
|
|
|
|
| 97 |
|
| 98 |
figure { margin: 0; }
|
| 99 |
figure img { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
|
| 100 |
+
figure video { width: 100%; height: auto; display: block; border: 1px solid var(--line); border-radius: 8px; background: #fff; }
|
| 101 |
figure a.zoom { display: block; position: relative; }
|
| 102 |
figure a.zoom:hover img { border-color: var(--blue); }
|
| 103 |
figure a.zoom::after {
|
|
|
|
| 106 |
background: rgba(3,45,96,0.82); color: #fff; opacity: 0; transition: opacity .15s;
|
| 107 |
}
|
| 108 |
figure a.zoom:hover::after { opacity: 1; }
|
| 109 |
+
figure a.zoom.wide::after { content: "\21A9"; }
|
| 110 |
figcaption { color: var(--muted); font-size: 0.87rem; margin-top: 10px; line-height: 1.55; }
|
| 111 |
.figrow { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
|
| 112 |
.abstract { font-size: 1.02rem; }
|
|
|
|
| 320 |
<nav class="top">
|
| 321 |
<div class="wrap">
|
| 322 |
<span class="brand">DarwinX</span>
|
| 323 |
+
<a href="#demo">Demo</a>
|
| 324 |
<a href="#abstract">Abstract</a>
|
| 325 |
<a href="#method">Method</a>
|
| 326 |
<a href="#results">Results</a>
|
|
|
|
| 358 |
<a class="btn" href="https://arxiv.org/abs/2608.07545">arXiv:2608.07545</a>
|
| 359 |
<a class="btn ghost" href="https://arxiv.org/pdf/2608.07545">PDF</a>
|
| 360 |
<a class="btn ghost" href="https://huggingface.co/papers/2608.07545">Hugging Face</a>
|
| 361 |
+
<a class="btn ghost" href="#demo">Demo (17s)</a>
|
| 362 |
<a class="btn ghost" href="mailto:yifan.zhang@salesforce.com?subject=DarwinX%20code%20request">Code available on request</a>
|
| 363 |
</div>
|
| 364 |
</div>
|
|
|
|
| 366 |
|
| 367 |
<section>
|
| 368 |
<div class="wrap">
|
| 369 |
+
<figure id="demo">
|
| 370 |
+
<video src="assets/demo.mp4" poster="assets/demo_poster.jpg"
|
| 371 |
+
autoplay muted loop playsinline controls preload="metadata"
|
| 372 |
+
aria-label="Animated walkthrough of the DarwinX loop: exploring harness variants, measuring them, and merging the survivors."></video>
|
| 373 |
+
<figcaption>
|
| 374 |
+
<b>The loop in 17 seconds.</b> Variants of the harness are explored, each is scored by the
|
| 375 |
+
benchmark's own verifier, and only survivors are kept and merged. Plays muted; use the controls
|
| 376 |
+
for sound.
|
| 377 |
+
</figcaption>
|
| 378 |
+
</figure>
|
| 379 |
+
|
| 380 |
+
<figure class="block">
|
| 381 |
+
<a class="zoom" id="teaser-zoom" href="assets/full/teaser.png" target="_blank" rel="noopener">
|
| 382 |
+
<img id="teaser-img" src="assets/teaser_schematic.png"
|
| 383 |
+
data-compact="assets/teaser_schematic.png"
|
| 384 |
+
data-wide="assets/full/teaser.png"
|
| 385 |
+
alt="Variants are evolved from a base agent, survivors are kept and merged, pruned lineages are dropped, all with the model frozen." />
|
| 386 |
</a>
|
| 387 |
<figcaption>
|
| 388 |
<b>With the base model frozen, evolving the harness alone matches or beats the strongest prior
|
| 389 |
agent on four benchmarks.</b> Variants survive on measured fitness (avg@<i>k</i>, no gold solutions)
|
| 390 |
+
and complementary survivors are merged. Click the figure for the paper's full version, with the
|
| 391 |
+
four benchmark panels alongside; click again to come back.
|
| 392 |
</figcaption>
|
| 393 |
</figure>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 394 |
</div>
|
| 395 |
</section>
|
| 396 |
|
|
|
|
| 505 |
(Terminal-Bench 2.1), held-out task split (TerminalWorld), synthetic → real intent
|
| 506 |
shift (WebArena-Infinity), and zero-shot cross-benchmark transfer (SWE-bench Verified).
|
| 507 |
</p>
|
| 508 |
+
|
| 509 |
+
<div class="block">
|
| 510 |
+
<div class="widget" id="hl-widget">
|
| 511 |
+
<div class="wtop">
|
| 512 |
+
<span class="wlabel">y-axis</span>
|
| 513 |
+
<div class="chips" id="hl-chips"></div>
|
| 514 |
+
<span style="flex:1"></span>
|
| 515 |
+
<label class="toggle"><input type="checkbox" id="hl-prior" checked /> best prior agent</label>
|
| 516 |
+
</div>
|
| 517 |
+
<div class="panels" id="hl-panels"></div>
|
| 518 |
+
<div class="wlegend" id="hl-legend"></div>
|
| 519 |
+
<p class="tnote" id="hl-note"></p>
|
| 520 |
+
</div>
|
| 521 |
+
<noscript class="nojs"><img src="assets/teaser.png" alt="Four-benchmark summary: base vs. evolved vs. best prior agent." /></noscript>
|
| 522 |
+
</div>
|
| 523 |
</div>
|
| 524 |
</section>
|
| 525 |
|
|
|
|
| 1718 |
function () { btn.textContent = "Press \u2318C"; }
|
| 1719 |
);
|
| 1720 |
});
|
| 1721 |
+
|
| 1722 |
+
/* ---------------- 6. teaser: swap in the paper's wide figure in place ---------------- */
|
| 1723 |
+
(function () {
|
| 1724 |
+
var link = $("teaser-zoom"), img = $("teaser-img");
|
| 1725 |
+
if (!link || !img) { return; }
|
| 1726 |
+
var COMPACT_ALT = img.alt;
|
| 1727 |
+
var WIDE_ALT = "The paper's full teaser: the same schematic beside per-benchmark success rates "
|
| 1728 |
+
+ "for Terminal-Bench 2.1, TerminalWorld, WebArena-Infinity, and SWE-bench Verified.";
|
| 1729 |
+
// Preload the wide version so the first click swaps without a flash of empty space.
|
| 1730 |
+
var warm = new Image();
|
| 1731 |
+
warm.src = img.getAttribute("data-wide");
|
| 1732 |
+
link.addEventListener("click", function (evt) {
|
| 1733 |
+
evt.preventDefault();
|
| 1734 |
+
var wide = link.classList.toggle("wide");
|
| 1735 |
+
img.src = img.getAttribute(wide ? "data-wide" : "data-compact");
|
| 1736 |
+
img.alt = wide ? WIDE_ALT : COMPACT_ALT;
|
| 1737 |
+
link.setAttribute("title", wide ? "Back to the schematic" : "Show the paper's full figure");
|
| 1738 |
+
});
|
| 1739 |
+
link.setAttribute("title", "Show the paper's full figure");
|
| 1740 |
+
})();
|
| 1741 |
})();
|
| 1742 |
</script>
|
| 1743 |
|
tools/deploy_hf.sh
CHANGED
|
File without changes
|