CoderDoge commited on
Commit
c9998a4
·
1 Parent(s): 6ffa031

Lead with the 17s demo, and move the headline panels into Results

Browse files

The 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.

Files changed (6) hide show
  1. .gitattributes +1 -0
  2. README.md +21 -4
  3. assets/demo.mp4 +3 -0
  4. assets/demo_poster.jpg +0 -0
  5. index.html +59 -20
  6. 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 evolution
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. From
 
 
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 (full figure, click-to-zoom target) |
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
- <a class="zoom" href="assets/full/teaser.png" target="_blank" rel="noopener">
367
- <img src="assets/teaser_schematic.png" alt="Variants are evolved from a base agent, survivors are kept and merged, pruned lineages are dropped, all with the model frozen." />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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 figure.
 
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&nbsp;2.1), held-out task split (TerminalWorld), synthetic&nbsp;&rarr;&nbsp;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&nbsp;2.1), held-out task split (TerminalWorld), synthetic&nbsp;&rarr;&nbsp;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