ereniko commited on
Commit
690fce4
·
verified ·
1 Parent(s): 70d242f

Upload 3 files

Browse files
Files changed (3) hide show
  1. index.html +58 -0
  2. script.js +15 -0
  3. style.css +127 -0
index.html CHANGED
@@ -30,6 +30,64 @@
30
  <!-- populated by script.js -->
31
  </section>
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  <div class="controls">
34
  <div class="search-pill">
35
  <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="6"/><line x1="20" y1="20" x2="15.5" y2="15.5"/></svg>
 
30
  <!-- populated by script.js -->
31
  </section>
32
 
33
+ <section class="submit-panel" aria-label="Submission rules">
34
+ <button class="submit-toggle" id="submit-toggle" aria-expanded="false" aria-controls="submit-body">
35
+ <span class="submit-toggle-left">
36
+ <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 5v14M5 12h14"/></svg>
37
+ <span>Submit a model</span>
38
+ </span>
39
+ <span class="submit-toggle-arrow">▼</span>
40
+ </button>
41
+
42
+ <div class="submit-body" id="submit-body" hidden>
43
+ <p class="submit-intro">
44
+ There's no submission form — the leaderboard <em>is</em> <code>models.json</code>.
45
+ Add your entry and open a PR against this Space.
46
+ </p>
47
+
48
+ <h3>Rules</h3>
49
+ <ul class="rules-list">
50
+ <li>Model must be public on the Hugging Face Hub, with a link in <code>url</code>.</li>
51
+ <li>Evaluated on at least one Bench Labs benchmark using the method described in that dataset's README (lm-eval loglikelihood for <code>bench-mid-6-2026</code>, normalized exact-match for <code>bench-effortless-6-2026</code> / <code>bench-easy-6-2026</code>, blind panel rank-order for <code>bench-AGI</code>).</li>
52
+ <li>Include <code>n</code> (sample count) for every benchmark you report a score for.</li>
53
+ <li>If reporting a <code>bench-mid-6-2026</code> result, include the full <code>categories</code> breakdown, not just the headline score — this is what powers the detail panel.</li>
54
+ <li>Link to your eval run or write-up in <code>eval_source</code> (a blog post, a script, a notebook — anything reproducible).</li>
55
+ <li>No self-graded <code>bench-AGI</code> scores: the grader panel must not include the model being evaluated.</li>
56
+ <li>One model per entry. If you have multiple checkpoints, submit them separately with distinct <code>id</code>s.</li>
57
+ </ul>
58
+
59
+ <h3>How to submit</h3>
60
+ <ol class="steps-list">
61
+ <li>Fork this Space's repo.</li>
62
+ <li>Add an object to the <code>models</code> array in <code>models.json</code>, following the existing entries' shape (see <code>schema</code> below).</li>
63
+ <li>Leave <code>score: null</code> for any benchmark tier you haven't run yet — don't omit the key.</li>
64
+ <li>Open a PR back to <code>bench-labs/leaderboard</code> with your eval source linked in the description.</li>
65
+ <li>We verify reproducibility before merging. Once merged, it shows up here automatically — nothing else to deploy.</li>
66
+ </ol>
67
+
68
+ <h3>Entry schema</h3>
69
+ <pre><code id="schema-snippet">{
70
+ "id": "your-model-slug",
71
+ "name": "org/ModelName",
72
+ "org": "org",
73
+ "params_b": 1.5,
74
+ "url": "https://huggingface.co/org/ModelName",
75
+ "eval_source": "https://…",
76
+ "runs": {
77
+ "bench-effortless-6-2026": { "score": 0.0, "n": 240, "notes": "" },
78
+ "bench-easy-6-2026": { "score": 0.0, "n": 300, "notes": "" },
79
+ "bench-mid-6-2026": { "score": null, "n": null, "notes": "" },
80
+ "bench-AGI": { "score": null, "n": null, "notes": "" }
81
+ }
82
+ }</code></pre>
83
+
84
+ <a class="pr-link" href="https://huggingface.co/spaces/bench-labs/leaderboard/discussions" target="_blank" rel="noopener">
85
+ Open a PR on the Space
86
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M7 17 17 7M9 7h8v8"/></svg>
87
+ </a>
88
+ </div>
89
+ </section>
90
+
91
  <div class="controls">
92
  <div class="search-pill">
93
  <svg width="15" height="15" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="11" cy="11" r="6"/><line x1="20" y1="20" x2="15.5" y2="15.5"/></svg>
script.js CHANGED
@@ -25,6 +25,10 @@
25
  els.detailSubtitle = document.getElementById("detail-subtitle");
26
  els.detailCats = document.getElementById("detail-cats");
27
  els.detailClose = document.getElementById("detail-close");
 
 
 
 
28
 
29
  try {
30
  const res = await fetch("models.json", { cache: "no-store" });
@@ -52,6 +56,17 @@
52
  "</td></tr>";
53
  }
54
 
 
 
 
 
 
 
 
 
 
 
 
55
  // -------------------- TIER STRIP --------------------
56
 
57
  function buildTierStrip() {
 
25
  els.detailSubtitle = document.getElementById("detail-subtitle");
26
  els.detailCats = document.getElementById("detail-cats");
27
  els.detailClose = document.getElementById("detail-close");
28
+ els.submitToggle = document.getElementById("submit-toggle");
29
+ els.submitBody = document.getElementById("submit-body");
30
+
31
+ bindSubmitPanel();
32
 
33
  try {
34
  const res = await fetch("models.json", { cache: "no-store" });
 
56
  "</td></tr>";
57
  }
58
 
59
+ // -------------------- SUBMIT PANEL --------------------
60
+
61
+ function bindSubmitPanel() {
62
+ if (!els.submitToggle) return;
63
+ els.submitToggle.addEventListener("click", () => {
64
+ const open = els.submitToggle.getAttribute("aria-expanded") === "true";
65
+ els.submitToggle.setAttribute("aria-expanded", String(!open));
66
+ els.submitBody.hidden = open;
67
+ });
68
+ }
69
+
70
  // -------------------- TIER STRIP --------------------
71
 
72
  function buildTierStrip() {
style.css CHANGED
@@ -236,6 +236,133 @@ a:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; border-
236
  border: 1px solid var(--border-soft);
237
  }
238
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
239
  /* -------------------- CONTROLS -------------------- */
240
 
241
  .controls {
 
236
  border: 1px solid var(--border-soft);
237
  }
238
 
239
+ /* -------------------- SUBMIT PANEL -------------------- */
240
+
241
+ .submit-panel {
242
+ margin-bottom: 26px;
243
+ border-radius: var(--radius);
244
+ background: var(--surface);
245
+ border: 1px solid var(--border);
246
+ backdrop-filter: blur(20px) saturate(1.2);
247
+ -webkit-backdrop-filter: blur(20px) saturate(1.2);
248
+ box-shadow: var(--shadow-soft);
249
+ overflow: hidden;
250
+ }
251
+
252
+ .submit-toggle {
253
+ display: flex;
254
+ align-items: center;
255
+ justify-content: space-between;
256
+ width: 100%;
257
+ padding: 16px 22px;
258
+ background: transparent;
259
+ border: none;
260
+ cursor: pointer;
261
+ font-family: inherit;
262
+ font-size: 0.95rem;
263
+ font-weight: 600;
264
+ color: var(--heading);
265
+ transition: background var(--transition);
266
+ }
267
+
268
+ .submit-toggle:hover { background: rgba(255,255,255,0.35); }
269
+ .submit-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
270
+
271
+ .submit-toggle-left {
272
+ display: flex;
273
+ align-items: center;
274
+ gap: 10px;
275
+ color: var(--accent);
276
+ }
277
+
278
+ .submit-toggle-left span { color: var(--heading); }
279
+
280
+ .submit-toggle-arrow {
281
+ font-size: 0.7rem;
282
+ color: var(--accent);
283
+ transition: transform var(--transition);
284
+ }
285
+
286
+ .submit-toggle[aria-expanded="true"] .submit-toggle-arrow { transform: rotate(180deg); }
287
+
288
+ .submit-body {
289
+ padding: 4px 26px 26px;
290
+ border-top: 1px solid var(--border-soft);
291
+ }
292
+
293
+ .submit-intro {
294
+ margin: 18px 0 20px;
295
+ color: var(--text);
296
+ font-size: 0.92rem;
297
+ line-height: 1.6;
298
+ }
299
+
300
+ .submit-body h3 {
301
+ font-size: 0.95rem;
302
+ margin: 22px 0 10px;
303
+ }
304
+
305
+ .submit-body h3:first-of-type { margin-top: 4px; }
306
+
307
+ .rules-list, .steps-list {
308
+ padding-left: 22px;
309
+ color: var(--text);
310
+ font-size: 0.88rem;
311
+ line-height: 1.7;
312
+ }
313
+
314
+ .rules-list li, .steps-list li { margin-bottom: 6px; }
315
+
316
+ .submit-body code {
317
+ background: rgba(255,255,255,0.7);
318
+ padding: 1px 6px;
319
+ border-radius: 6px;
320
+ border: 1px solid var(--border-soft);
321
+ font-size: 0.85em;
322
+ color: var(--heading);
323
+ }
324
+
325
+ .submit-body pre {
326
+ background: rgba(255,255,255,0.75);
327
+ border: 1px solid var(--border-soft);
328
+ border-radius: 14px;
329
+ padding: 18px 20px;
330
+ overflow-x: auto;
331
+ margin: 10px 0 18px;
332
+ box-shadow: var(--shadow-soft);
333
+ }
334
+
335
+ .submit-body pre code {
336
+ background: none;
337
+ border: none;
338
+ padding: 0;
339
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
340
+ font-size: 0.82rem;
341
+ line-height: 1.7;
342
+ color: var(--text);
343
+ }
344
+
345
+ .pr-link {
346
+ display: inline-flex;
347
+ align-items: center;
348
+ gap: 8px;
349
+ margin-top: 4px;
350
+ padding: 10px 18px;
351
+ border-radius: 999px;
352
+ background: var(--accent);
353
+ color: #fff;
354
+ font-size: 0.85rem;
355
+ font-weight: 600;
356
+ box-shadow: var(--shadow-soft);
357
+ transition: transform var(--transition), box-shadow var(--transition), opacity var(--transition);
358
+ }
359
+
360
+ .pr-link:hover {
361
+ opacity: 1;
362
+ transform: translateY(-2px);
363
+ box-shadow: var(--shadow-hover);
364
+ }
365
+
366
  /* -------------------- CONTROLS -------------------- */
367
 
368
  .controls {