Refresh leaderboard with single-pass Agent and DeepAgents comparisons

#4
by YICHEN013 - opened
Files changed (8) hide show
  1. README.md +80 -6
  2. build_leaderboard.py +111 -0
  3. index.html +85 -750
  4. leaderboard-data.json +785 -0
  5. leaderboard.css +5 -0
  6. leaderboard.csv +61 -0
  7. leaderboard.js +192 -0
  8. legacy.html +764 -0
README.md CHANGED
@@ -1,12 +1,86 @@
1
  ---
2
- title: Infernet Leaderboard
3
- emoji: 🖼️
4
- colorFrom: yellow
5
- colorTo: red
6
  sdk: static
7
  pinned: false
8
  license: apache-2.0
9
- short_description: Infernet Econometrics Benchmark Leaderboard
10
  ---
11
 
12
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
+ title: InferenceNet Leaderboard
3
+ emoji: 📊
4
+ colorFrom: green
5
+ colorTo: blue
6
  sdk: static
7
  pinned: false
8
  license: apache-2.0
9
+ short_description: Single-pass agents and DeepAgents on econometric replication
10
  ---
11
 
12
+ # InferenceNet Agent & Harness Leaderboard
13
+
14
+ The September 2026 research leaderboard displays **six models, twelve groups,
15
+ and 12,000 archived task records**. Switch between a paired comparison, a
16
+ single-pass Agent ranking, and an Agent + Harness ranking. Every group uses
17
+ the same 1,000 Selected_1000 task IDs.
18
+
19
+ - **Single-pass Agent:** one model call to generate code, followed by execution.
20
+ - **Agent + Harness:** DeepAgents with up to six model calls and four trial tool
21
+ calls, followed by final execution.
22
+
23
+ Models: GPT-5.6 Sol, Claude Opus 4.8, Kimi K3, Gemini 3.1 Pro Preview,
24
+ Qwen3.7-Max, and DeepSeek V4 Pro. GPT-5.5 is outside this edition.
25
+
26
+ ## Reading the results
27
+
28
+ The default metric is **full replication**, from `local-paper-v1`: coefficient
29
+ and standard-error relative errors ≤ 1%, and p-value absolute error ≤ 0.01.
30
+ Four separately labeled `hf-leaderboard-v1` metrics are also available:
31
+ execution success, coefficient-only partial replication (≤ 5% relative error),
32
+ coefficient direction, and significance category.
33
+
34
+ These are **locally scored research results**. Official scorer parity has not
35
+ been verified. All rates use 1,000 as the denominator; metric unknowns and invalid
36
+ evidence are retained and earn no successes. Task-status unknown counts are
37
+ reported separately from metric unknown counts.
38
+
39
+ The comparisons preserve historical recovery amendments. Call budgets, time
40
+ limits, reasoning settings and source protocols differ. Differences are
41
+ descriptive observations, not equal-cost causal estimates of a harness effect.
42
+ See each run's configuration before making cross-model claims.
43
+
44
+ Kimi retains 5 baseline and 4 harness task-status unknowns. Qwen3.7-Max harness
45
+ retains 6 task-status unknowns and 1 invalid-evidence record (task 453), which is
46
+ not sealed. Historical Sol/Opus interruption counts are shown as originally
47
+ exported. An archive of 1,000 task IDs does not imply 1,000 definitive outcomes.
48
+
49
+ ## Data and reproducibility
50
+
51
+ - [`leaderboard-data.json`](./leaderboard-data.json): displayed data, metric
52
+ profiles, counts, evidence status and source-file SHA-256 hashes.
53
+ - [`leaderboard.csv`](./leaderboard.csv): 60 displayed metric rows; six models ×
54
+ two arms × five metrics. One metric profile is explicit on every row.
55
+ - [`results/`](./results): frozen per-task archives, configurations and summaries.
56
+ - [`legacy.html`](./legacy.html): original leaderboard with a historical banner.
57
+ Its original [`results.csv`](./results.csv) is unchanged and is not mixed into
58
+ the new comparison.
59
+
60
+ Source archive commit: `731111974cf4d1a3c7a4f848a899f0b0708dd12b`.
61
+ Dataset: [CamoAiLab/InferenceNet](https://huggingface.co/datasets/CamoAiLab/InferenceNet),
62
+ revision `59f9512a38e594528807744214a60ee00367434e`, task list
63
+ `Selected_1000/1000_new.csv`.
64
+
65
+ The per-run archive files keep their original publication metadata. Their
66
+ historical `included_in_displayed_leaderboard: false` fields describe the archive
67
+ upload, not this later display release. The current display manifest is
68
+ `leaderboard-data.json`; no experiment evidence is edited to publish this page.
69
+
70
+ To rebuild the display exports from those archives:
71
+
72
+ ```sh
73
+ python build_leaderboard.py --source . --output . \
74
+ --source-revision 731111974cf4d1a3c7a4f848a899f0b0708dd12b
75
+ ```
76
+
77
+ The builder verifies all task populations and 56 metric counts against archived
78
+ flags. The four Sol/Opus local full-replication summaries have no per-task local
79
+ flags in the archive and are preserved from their accepted summaries. This is a
80
+ display refresh, not a fresh inference run, native artifact audit, or rescore.
81
+
82
+ ## Project
83
+
84
+ [Project website](https://easonai-5589.github.io/inferencenet-challenge/) ·
85
+ [Project code](https://github.com/EasonAI-5589/NTU-GIFTS-InferenceNet) ·
86
+ [Evaluation framework](https://github.com/YTZSR/chatpilot_evaluator/tree/dev-gyc-eval)
build_leaderboard.py ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """Build the public research leaderboard from immutable accepted archives.
2
+
3
+ No scoring, inference, or selection of replacement attempts occurs here.
4
+ Usage: python build_leaderboard.py --source . --output . --source-revision SHA
5
+ """
6
+ import argparse
7
+ import csv
8
+ import hashlib
9
+ import json
10
+ from pathlib import Path
11
+
12
+ NAMES = {
13
+ "gpt-5.6-sol": "GPT-5.6 Sol",
14
+ "claude-opus-4-8": "Claude Opus 4.8",
15
+ "kimi-k3": "Kimi K3",
16
+ "gemini-3.1-pro-preview": "Gemini 3.1 Pro Preview",
17
+ "qwen3.7-max": "Qwen3.7-Max",
18
+ "deepseek-v4-pro": "DeepSeek V4 Pro",
19
+ }
20
+ METRICS = ("compilation_success", "partial_replication", "coefficient_direction", "significance_level")
21
+
22
+
23
+ def build(source, output, revision):
24
+ assert len(revision) == 40 and all(c in "0123456789abcdef" for c in revision)
25
+ index = json.loads((source / "results/index.json").read_text())
26
+ entries = index["entries"]
27
+ assert {(e["model"], e["arm"]) for e in entries} == {(m, a) for m in NAMES for a in ("baseline", "deepagents")}
28
+ assert len(entries) == 12
29
+ models = {m: {"id": m, "name": name, "arms": {}} for m, name in NAMES.items()}
30
+ population = None
31
+ dataset_revision = None
32
+ source_files = {}
33
+ for entry in entries:
34
+ path = Path(entry["path"])
35
+ assert path == Path("results") / entry["model"] / entry["arm"]
36
+ summary = json.loads((source / path / "summary.json").read_text())
37
+ config = json.loads((source / path / "config.json").read_text())
38
+ records = [json.loads(line) for line in (source / path / "results.jsonl").read_text().splitlines()]
39
+ ids = {r["task_id"] for r in records}
40
+ assert len(records) == len(ids) == entry["rows"] == summary["result"]["expected_count"] == 1000
41
+ assert ids == set(config["dataset"]["task_ids"])
42
+ assert all(r["model"] == entry["model"] and r["arm"] == entry["arm"] for r in records)
43
+ assert (summary["model"], summary["arm"]) == (entry["model"], entry["arm"])
44
+ assert summary["official_parity_verified"] is False
45
+ if population is None:
46
+ population = ids
47
+ dataset_revision = summary["dataset_revision"]
48
+ assert ids == population and summary["dataset_revision"] == dataset_revision
49
+ metrics = {}
50
+ for metric in ("perfect",) + METRICS:
51
+ local = metric == "perfect"
52
+ m = summary["legacy_local_paper"]["metrics"][metric] if local else summary["result"]["metrics"][metric]
53
+ n, count, unknown = m["denominator"], m["count"], m["unknown_count"]
54
+ assert n == 1000 and 0 <= count + unknown <= n
55
+ assert abs(m["rate"] - count / n) < 1e-12
56
+ field = "local_perfect" if local else metric
57
+ has_flags = all(field in r for r in records)
58
+ if not local or has_flags:
59
+ assert all(r[field] is None or isinstance(r[field], bool) for r in records)
60
+ assert sum(r[field] is True for r in records) == count
61
+ assert sum(r[field] is None for r in records) == unknown
62
+ # Sol/Opus local flags were not exported: preserve their accepted
63
+ # summary counts, without claiming a fresh per-task recomputation.
64
+ metrics[metric] = {
65
+ "count": count, "denominator": n, "unknown": unknown,
66
+ "failure": n - count - unknown, "score": round(100 * count / n, 1),
67
+ "profile": "local-paper-v1" if local else "hf-leaderboard-v1",
68
+ "verification": "archived_task_flags" if has_flags else "accepted_summary",
69
+ }
70
+ arm = {
71
+ "path": path.as_posix(), "metrics": metrics,
72
+ "generated_at": summary["generated_at"], "complete": summary["complete"],
73
+ "harness": config["harness"],
74
+ "model_call_cap": config.get("effective_model_call_cap") or config["original_limits_for_this_arm"]["model_calls"],
75
+ "task_unknown_count": summary["result"].get("task_unknown_count"),
76
+ "invalid_evidence_count": summary["result"].get("invalid_evidence_count", 0),
77
+ "interruption_count": summary["result"].get("interruption_count"),
78
+ "evidence_class": summary["evidence_class"],
79
+ }
80
+ models[entry["model"]]["arms"][entry["arm"]] = arm
81
+ for name in ("summary.json", "results.jsonl", "config.json"):
82
+ rel = (path / name).as_posix()
83
+ source_files[rel] = hashlib.sha256((source / rel).read_bytes()).hexdigest()
84
+ data = {
85
+ "schema_version": 1, "kind": "research_leaderboard",
86
+ "published_date": "2026-09-17", "source_repository": "CamoAiLab/InferenceNet-Leaderboard",
87
+ "source_revision": revision, "dataset_revision": dataset_revision,
88
+ "task_list": "Selected_1000/1000_new.csv", "tasks_per_group": 1000,
89
+ "groups": 12, "records": 12000, "official_parity_verified": False,
90
+ "models": list(models.values()), "source_sha256": source_files,
91
+ }
92
+ output.mkdir(parents=True, exist_ok=True)
93
+ (output / "leaderboard-data.json").write_text(json.dumps(data, indent=2) + "\n")
94
+ with (output / "leaderboard.csv").open("w", newline="") as f:
95
+ writer = csv.writer(f)
96
+ writer.writerow(["model", "arm", "harness", "metric_profile", "metric", "successes", "denominator", "unknown", "score_percent", "official_parity_verified", "source_revision"])
97
+ for model in data["models"]:
98
+ for arm_id, arm in model["arms"].items():
99
+ for key, metric in arm["metrics"].items():
100
+ writer.writerow([model["id"], arm_id, arm["harness"], metric["profile"], key, metric["count"], 1000, metric["unknown"], metric["score"], False, revision])
101
+ print("Verified: 6 models, 12 arms, 12,000 unique-per-arm records; 60 displayed metric summaries.")
102
+ print("56 metric summaries checked against task flags; 4 historical local summaries preserved as accepted.")
103
+
104
+
105
+ if __name__ == "__main__":
106
+ parser = argparse.ArgumentParser(description=__doc__)
107
+ parser.add_argument("--source", type=Path, default=Path("."))
108
+ parser.add_argument("--output", type=Path, default=Path("."))
109
+ parser.add_argument("--source-revision", required=True)
110
+ args = parser.parse_args()
111
+ build(args.source, args.output, args.source_revision)
index.html CHANGED
@@ -1,763 +1,98 @@
1
- <!DOCTYPE html>
2
  <html lang="en">
3
  <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>InferenceNet Econometrics Benchmark Leaderboard</title>
7
- <link rel="preconnect" href="https://fonts.googleapis.com">
8
- <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
- <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
10
- <style>
11
- :root {
12
- --bg-primary: #0b0f19;
13
- --bg-secondary: #111827;
14
- --bg-tertiary: #1a2234;
15
- --bg-hover: #1e293b;
16
- --border: #1f2937;
17
- --border-light: #374151;
18
- --text-primary: #f9fafb;
19
- --text-secondary: #9ca3af;
20
- --text-muted: #6b7280;
21
- --accent-blue: #3b82f6;
22
- --accent-blue-dim: rgba(59, 130, 246, 0.15);
23
- --accent-gold: #fbbf24;
24
- --accent-green: #22c55e;
25
- --accent-green-dim: rgba(34, 197, 94, 0.12);
26
- --radius: 10px;
27
- --radius-sm: 6px;
28
- }
29
-
30
- * {
31
- box-sizing: border-box;
32
- margin: 0;
33
- padding: 0;
34
- }
35
-
36
- body {
37
- font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
38
- background: var(--bg-primary);
39
- color: var(--text-primary);
40
- line-height: 1.5;
41
- min-height: 100vh;
42
- }
43
-
44
- a {
45
- color: var(--accent-blue);
46
- text-decoration: none;
47
- }
48
-
49
- a:hover {
50
- text-decoration: underline;
51
- }
52
-
53
- .page {
54
- max-width: 980px;
55
- margin: 0 auto;
56
- padding: 28px 24px 64px;
57
- }
58
-
59
- /* Breadcrumb */
60
- .breadcrumb {
61
- display: flex;
62
- align-items: center;
63
- gap: 8px;
64
- font-size: 14px;
65
- color: var(--text-secondary);
66
- margin-bottom: 20px;
67
- }
68
-
69
- .breadcrumb svg {
70
- opacity: 0.6;
71
- }
72
-
73
- .breadcrumb span {
74
- color: var(--text-muted);
75
- }
76
-
77
- /* Header */
78
- .header {
79
- margin-bottom: 24px;
80
- }
81
-
82
- .title-row {
83
- display: flex;
84
- align-items: flex-start;
85
- gap: 12px;
86
- margin-bottom: 12px;
87
- }
88
-
89
- .title-icon {
90
- width: 40px;
91
- height: 40px;
92
- background: linear-gradient(135deg, #fbbf24, #f59e0b);
93
- border-radius: var(--radius-sm);
94
- display: flex;
95
- align-items: center;
96
- justify-content: center;
97
- font-size: 20px;
98
- flex-shrink: 0;
99
- }
100
-
101
- .title-block h1 {
102
- font-size: 22px;
103
- font-weight: 600;
104
- letter-spacing: -0.02em;
105
- line-height: 1.3;
106
- }
107
-
108
- .title-block .subtitle {
109
- font-size: 14px;
110
- color: var(--text-secondary);
111
- margin-top: 4px;
112
- }
113
- .intro-desc {
114
- margin-top:14px;
115
- font-size:14px;
116
- color:var(--text-secondary);
117
- line-height:1.6;
118
- }
119
- .header-links {
120
- margin-top:12px;
121
- font-size:14px;
122
- }
123
- .like-btn {
124
- margin-left: auto;
125
- display: flex;
126
- align-items: center;
127
- gap: 6px;
128
- padding: 6px 14px;
129
- background: var(--bg-secondary);
130
- border: 1px solid var(--border);
131
- border-radius: 999px;
132
- color: var(--text-secondary);
133
- font-size: 13px;
134
- cursor: default;
135
- flex-shrink: 0;
136
- }
137
-
138
- /* Tabs */
139
- .tab-bar {
140
- display: flex;
141
- gap: 0;
142
- border-bottom: 1px solid var(--border);
143
- margin-bottom: 0;
144
- overflow-x: auto;
145
- }
146
-
147
- .tab {
148
- padding: 12px 18px;
149
- background: none;
150
- border: none;
151
- color: var(--text-muted);
152
- font-family: inherit;
153
- font-size: 14px;
154
- font-weight: 500;
155
- cursor: pointer;
156
- white-space: nowrap;
157
- position: relative;
158
- transition: color 0.15s;
159
- }
160
-
161
- .tab:hover {
162
- color: var(--text-secondary);
163
- }
164
-
165
- .tab.active {
166
- color: var(--text-primary);
167
- }
168
-
169
- .tab.active::after {
170
- content: "";
171
- position: absolute;
172
- bottom: -1px;
173
- left: 0;
174
- right: 0;
175
- height: 2px;
176
- background: var(--text-primary);
177
- border-radius: 2px 2px 0 0;
178
- }
179
-
180
- /* Panels */
181
- .panel {
182
- display: none;
183
- }
184
-
185
- .panel.show {
186
- display: block;
187
- }
188
-
189
- /* Leaderboard card */
190
- .leaderboard-card {
191
- background: var(--bg-secondary);
192
- border: 1px solid var(--border);
193
- border-radius: var(--radius);
194
- overflow: hidden;
195
- margin-top: 24px;
196
- }
197
-
198
- .leaderboard-header {
199
- display: flex;
200
- align-items: center;
201
- gap: 10px;
202
- padding: 16px 20px;
203
- border-bottom: 1px solid var(--border);
204
- }
205
-
206
- .leaderboard-header h2 {
207
- font-size: 15px;
208
- font-weight: 600;
209
- display: flex;
210
- align-items: center;
211
- gap: 8px;
212
- }
213
-
214
- .badge-official {
215
- display: inline-flex;
216
- align-items: center;
217
- gap: 4px;
218
- padding: 3px 10px;
219
- background: var(--accent-blue-dim);
220
- border: 1px solid rgba(59, 130, 246, 0.3);
221
- border-radius: 999px;
222
- font-size: 11px;
223
- font-weight: 500;
224
- color: var(--accent-blue);
225
- }
226
-
227
- /* Table header row */
228
- .lb-columns {
229
- display: grid;
230
- grid-template-columns: 48px 1fr 100px;
231
- padding: 10px 20px;
232
- font-size: 11px;
233
- font-weight: 600;
234
- text-transform: uppercase;
235
- letter-spacing: 0.06em;
236
- color: var(--text-muted);
237
- border-bottom: 1px solid var(--border);
238
- }
239
-
240
- .lb-columns .col-score {
241
- text-align: right;
242
- }
243
-
244
- /* Leaderboard rows */
245
- .lb-row {
246
- display: grid;
247
- grid-template-columns: 48px 1fr 100px;
248
- align-items: center;
249
- padding: 14px 20px;
250
- border-bottom: 1px solid var(--border);
251
- transition: background 0.12s;
252
- }
253
-
254
- .lb-row:last-child {
255
- border-bottom: none;
256
- }
257
-
258
- .lb-row:hover {
259
- background: var(--bg-hover);
260
- }
261
-
262
- .lb-row.top-1 {
263
- background: rgba(251, 191, 36, 0.04);
264
- }
265
-
266
- .lb-rank {
267
- font-size: 14px;
268
- color: var(--text-muted);
269
- font-weight: 500;
270
- display: flex;
271
- align-items: center;
272
- gap: 4px;
273
- }
274
-
275
- .lb-model {
276
- display: flex;
277
- align-items: center;
278
- gap: 10px;
279
- min-width: 0;
280
- }
281
-
282
- .model-avatar {
283
- width: 28px;
284
- height: 28px;
285
- border-radius: var(--radius-sm);
286
- background: var(--bg-tertiary);
287
- border: 1px solid var(--border-light);
288
- display: flex;
289
- align-items: center;
290
- justify-content: center;
291
- font-size: 11px;
292
- font-weight: 700;
293
- color: var(--text-secondary);
294
- flex-shrink: 0;
295
- text-transform: uppercase;
296
- }
297
-
298
- .model-info {
299
- min-width: 0;
300
- }
301
-
302
- .model-name {
303
- font-size: 14px;
304
- font-weight: 500;
305
- color: var(--text-primary);
306
- white-space: nowrap;
307
- overflow: hidden;
308
- text-overflow: ellipsis;
309
- }
310
-
311
- .model-meta {
312
- display: flex;
313
- align-items: center;
314
- gap: 6px;
315
- margin-top: 3px;
316
- }
317
-
318
- .status-badge {
319
- display: inline-flex;
320
- align-items: center;
321
- gap: 3px;
322
- padding: 1px 8px;
323
- border-radius: 999px;
324
- font-size: 11px;
325
- font-weight: 500;
326
- }
327
-
328
- .status-badge.verified {
329
- background: var(--accent-green-dim);
330
- color: var(--accent-green);
331
- border: 1px solid rgba(34, 197, 94, 0.25);
332
- }
333
-
334
- .status-badge.self-reported {
335
- background: var(--bg-tertiary);
336
- color: var(--text-muted);
337
- border: 1px solid var(--border);
338
- }
339
-
340
- .lb-score {
341
- text-align: right;
342
- font-size: 15px;
343
- font-weight: 600;
344
- color: var(--text-primary);
345
- font-variant-numeric: tabular-nums;
346
- }
347
-
348
- .lb-score-bar {
349
- margin-top: 4px;
350
- height: 3px;
351
- background: var(--bg-tertiary);
352
- border-radius: 999px;
353
- overflow: hidden;
354
- }
355
-
356
- .lb-score-bar-fill {
357
- height: 100%;
358
- background: linear-gradient(90deg, var(--accent-blue), #6366f1);
359
- border-radius: 999px;
360
- transition: width 0.4s ease;
361
- }
362
-
363
- .lb-row.top-1 .lb-score-bar-fill {
364
- background: linear-gradient(90deg, var(--accent-gold), #f59e0b);
365
- }
366
-
367
- /* Show more */
368
- .show-more {
369
- display: flex;
370
- align-items: center;
371
- justify-content: center;
372
- gap: 6px;
373
- padding: 14px;
374
- color: var(--text-secondary);
375
- font-size: 13px;
376
- cursor: pointer;
377
- border-top: 1px solid var(--border);
378
- transition: color 0.15s, background 0.15s;
379
- }
380
-
381
- .show-more:hover {
382
- color: var(--text-primary);
383
- background: var(--bg-hover);
384
- }
385
-
386
- /* Metric definition card */
387
- .metric-card {
388
- margin-top: 32px;
389
- background: var(--bg-secondary);
390
- border: 1px solid var(--border);
391
- border-radius: var(--radius);
392
- padding: 20px 24px;
393
- }
394
-
395
- .metric-card h3 {
396
- font-size: 14px;
397
- font-weight: 600;
398
- margin-bottom: 14px;
399
- display: flex;
400
- align-items: center;
401
- gap: 8px;
402
- color: var(--text-primary);
403
- }
404
-
405
- .metric-list {
406
- list-style: none;
407
- display: flex;
408
- flex-direction: column;
409
- gap: 10px;
410
- }
411
-
412
- .metric-list li {
413
- font-size: 13px;
414
- color: var(--text-secondary);
415
- padding-left: 16px;
416
- position: relative;
417
- }
418
-
419
- .metric-list li::before {
420
- content: "";
421
- position: absolute;
422
- left: 0;
423
- top: 8px;
424
- width: 6px;
425
- height: 6px;
426
- border-radius: 50%;
427
- background: var(--accent-blue);
428
- }
429
-
430
- .metric-list strong {
431
- color: var(--text-primary);
432
- font-weight: 500;
433
- }
434
-
435
- .metric-note {
436
- margin-top: 16px;
437
- padding-top: 14px;
438
- border-top: 1px solid var(--border);
439
- font-size: 12px;
440
- color: var(--text-muted);
441
- }
442
-
443
- /* Loading & error states */
444
- .loading {
445
- padding: 48px 20px;
446
- text-align: center;
447
- color: var(--text-muted);
448
- font-size: 14px;
449
- }
450
-
451
- .loading-spinner {
452
- width: 24px;
453
- height: 24px;
454
- border: 2px solid var(--border);
455
- border-top-color: var(--accent-blue);
456
- border-radius: 50%;
457
- animation: spin 0.7s linear infinite;
458
- margin: 0 auto 12px;
459
- }
460
-
461
- @keyframes spin {
462
- to { transform: rotate(360deg); }
463
- }
464
-
465
- .error-banner {
466
- margin-top: 16px;
467
- padding: 12px 16px;
468
- background: rgba(239, 68, 68, 0.1);
469
- border: 1px solid rgba(239, 68, 68, 0.3);
470
- border-radius: var(--radius-sm);
471
- color: #fca5a5;
472
- font-size: 13px;
473
- text-align: center;
474
- }
475
-
476
- .hidden { display: none !important; }
477
-
478
- @media (max-width: 600px) {
479
- .page { padding: 16px 16px 48px; }
480
- .title-row { flex-wrap: wrap; }
481
- .like-btn { margin-left: 0; }
482
- .lb-columns, .lb-row {
483
- grid-template-columns: 36px 1fr 72px;
484
- padding-left: 14px;
485
- padding-right: 14px;
486
- }
487
- .model-name { font-size: 13px; }
488
- }
489
- </style>
490
  </head>
491
  <body>
492
- <div class="page">
493
- <nav class="breadcrumb">
494
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
495
- <ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/>
496
- </svg>
497
- <a href="https://huggingface.co/datasets/CamoAiLab/Infernet" target="_blank">Datasets</a>
498
- <span>/</span>
499
- <span>CamoAiLab/Infernet</span>
 
500
  </nav>
501
 
502
- <header class="header">
503
- <div class="title-row">
504
- <div class="title-icon">🏆</div>
505
- <div class="title-block">
506
- <h1>Infernet Econometrics Benchmark</h1>
507
- <p class="subtitle">CamoAiLab · HKU CAMO</p>
508
- <p class="intro-desc">
509
- An evaluation benchmark for large‑language‑model agents, measuring the capability to reproduce real‑world econometric empirical studies: generating executable code, replicating regression outputs, and recovering correct treatment‑effect coefficient signs.
510
- </p>
511
- <div class="header-links">
512
- 🔗 <a href="https://huggingface.co/datasets/CamoAiLab/Infernet" target="_blank">Dataset</a>
513
- &nbsp;|&nbsp;
514
- 📄 <a href="https://arxiv.org/abs/2506.00856" target="_blank">Paper</a>
515
- &nbsp;|&nbsp;
516
- 🐙 <a href="https://github.com/HKU-Business-AI-Center/Econometrics-Agent" target="_blank">GitHub</a>
517
- </div>
518
- </div>
519
- <div class="like-btn">
520
- <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
521
- <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/>
522
- </svg>
523
- Leaderboard
524
- </div>
525
- </div>
526
  </header>
527
 
528
- <div class="tab-bar">
529
- <button class="tab active" data-idx="0">Partial Replication</button>
530
- <button class="tab" data-idx="1">Compilation Success</button>
531
- <button class="tab" data-idx="2">Coefficient Direction</button>
532
- <button class="tab" data-idx="3">Significant Level Correctness</button>
533
- </div>
534
-
535
- <div class="panel show" id="panel-rep">
536
- <div class="leaderboard-card">
537
- <div class="leaderboard-header">
538
- <h2>
539
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
540
- Leaderboard
541
- </h2>
542
- <span class="badge-official">Official Benchmark</span>
543
- </div>
544
- <div class="lb-columns">
545
- <span>#</span>
546
- <span>Model</span>
547
- <span class="col-score">Score (0‑100)</span>
548
- </div>
549
- <div id="rows-rep"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
550
- </div>
551
- </div>
552
-
553
- <div class="panel" id="panel-compile">
554
- <div class="leaderboard-card">
555
- <div class="leaderboard-header">
556
- <h2>
557
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
558
- Leaderboard
559
- </h2>
560
- <span class="badge-official">Official Benchmark</span>
561
- </div>
562
- <div class="lb-columns">
563
- <span>#</span>
564
- <span>Model</span>
565
- <span class="col-score">Score (0‑100)</span>
566
- </div>
567
- <div id="rows-compile"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
568
- </div>
569
- </div>
570
-
571
- <div class="panel" id="panel-dir">
572
- <div class="leaderboard-card">
573
- <div class="leaderboard-header">
574
- <h2>
575
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
576
- Leaderboard
577
- </h2>
578
- <span class="badge-official">Official Benchmark</span>
579
- </div>
580
- <div class="lb-columns">
581
- <span>#</span>
582
- <span>Model</span>
583
- <span class="col-score">Score (0‑100)</span>
584
- </div>
585
- <div id="rows-dir"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
586
- </div>
587
- </div>
588
-
589
- <!-- New panel for Significant Level Correctness -->
590
- <div class="panel" id="panel-sig">
591
- <div class="leaderboard-card">
592
- <div class="leaderboard-header">
593
- <h2>
594
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
595
- Leaderboard
596
- </h2>
597
- <span class="badge-official">Official Benchmark</span>
598
- </div>
599
- <div class="lb-columns">
600
- <span>#</span>
601
- <span>Model</span>
602
- <span class="col-score">Score (0‑100)</span>
603
- </div>
604
- <div id="rows-sig"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
605
- </div>
606
- </div>
607
 
608
- <div id="error-banner" class="error-banner hidden"></div>
 
 
609
 
610
- <div class="metric-card">
611
- <h3>
612
- <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>
613
- Metric Definitions
614
- </h3>
615
- <ul class="metric-list">
616
- <li><strong>Compilation Success:</strong> Generated econometric code executes completely without runtime or syntax errors.</li>
617
- <li><strong>Partial Replication:</strong> The target treatment coefficient can be reproduced within a 5% relative error threshold.</li>
618
- <li><strong>Correct Coefficient Direction:</strong> The sign (positive/negative) of the treatment‑effect coefficient matches ground‑truth results.</li>
619
- <li><strong>Significant Level Correctness:</strong> The model correctly reproduces the statistical significance level of the treatment‑effect coefficient.</li>
620
- </ul>
621
- <div class="metric-note">
622
- <em>Note:</em> Codex serves as a strong code‑specialized upper‑bound baseline with high overall metrics across all four evaluation dimensions. However, it only supports one‑shot code generation without agent‑level interactive planning or multi‑round revision capabilities, and its public API is no longer available. MetricsAI outperforms vanilla‑LLM and general‑purpose‑agent baselines for interactive real‑world econometric‑research workflows.
623
- <br><br>
624
- Dataset: <a href="https://huggingface.co/datasets/CamoAiLab/Infernet" target="_blank">CamoAiLab/Infernet</a>
625
  </div>
626
- </div>
627
- </div>
628
-
629
- <script>
630
- const panels = document.querySelectorAll(".panel");
631
- const tabs = document.querySelectorAll(".tab");
632
- const INITIAL_SHOW = 10;
633
-
634
- tabs.forEach(tab => {
635
- tab.addEventListener("click", () => {
636
- const idx = Number(tab.dataset.idx);
637
- panels.forEach(p => p.classList.remove("show"));
638
- tabs.forEach(t => t.classList.remove("active"));
639
- panels[idx].classList.add("show");
640
- tab.classList.add("active");
641
- });
642
- });
643
-
644
- function parseCSV(text) {
645
- text = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
646
- const lines = text.trim().split("\n").filter(line => line.trim() !== "");
647
- const headers = lines[0].split(",").map(h => h.trim());
648
- const rows = [];
649
- for (let i = 1; i < lines.length; i++) {
650
- const vals = lines[i].split(",").map(v => v.trim());
651
- const obj = {};
652
- headers.forEach((h, idx) => { obj[h] = vals[idx]; });
653
- rows.push(obj);
654
- }
655
- return rows;
656
- }
657
-
658
- function getAvatarLetter(modelId) {
659
- const parts = modelId.split("/");
660
- const name = parts.length > 1 ? parts[1] : parts[0];
661
- return name.charAt(0).toUpperCase();
662
- }
663
-
664
- function getOrgColor(modelId) {
665
- return "#3b82f6";
666
- }
667
-
668
- function buildRows(data, sortKey, containerId) {
669
- const sorted = [...data].sort((a, b) => Number(b[sortKey]) - Number(a[sortKey]));
670
- const container = document.getElementById(containerId);
671
-
672
- if (sorted.length === 0) {
673
- container.innerHTML = '<div class="loading">No data available</div>';
674
- return;
675
- }
676
-
677
- function renderRows(limit) {
678
- let html = "";
679
- sorted.slice(0, limit).forEach((row, i) => {
680
- const rank = i + 1;
681
- const score = Number(row[sortKey]);
682
- const modelId = row["Model ID"] || "Unknown";
683
- const isTop = rank === 1;
684
- const avatarColor = getOrgColor(modelId);
685
-
686
-
687
- let rankDisplay = rank;
688
- if(rank ===1) rankDisplay = "🥇";
689
- else if(rank ===2) rankDisplay = "🥈";
690
- else if(rank ===3) rankDisplay = "🥉";
691
-
692
- html += `
693
- <div class="lb-row${isTop ? " top-1" : ""}">
694
- <div class="lb-rank">${rankDisplay}</div>
695
- <div class="lb-model">
696
- <div class="model-avatar" style="background:${avatarColor}22;border-color:${avatarColor}44;color:${avatarColor}">
697
- ${getAvatarLetter(modelId)}
698
- </div>
699
- <div class="model-info">
700
- <div class="model-name" title="${modelId}">${modelId}</div>
701
- <div class="model-meta">
702
- </div>
703
- </div>
704
- </div>
705
- <div>
706
- <div class="lb-score">${score.toFixed(1)}</div>
707
- <div class="lb-score-bar">
708
- <div class="lb-score-bar-fill" style="width:${Math.min(score, 100)}%"></div>
709
- </div>
710
- </div>
711
- </div>`;
712
- });
713
- container.innerHTML = html;
714
-
715
- const existingBtn = container.parentElement.querySelector(".show-more");
716
- if (existingBtn) existingBtn.remove();
717
-
718
- if (sorted.length > limit) {
719
- const btn = document.createElement("div");
720
- btn.className = "show-more";
721
- btn.innerHTML = `Show all ${sorted.length} models <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>`;
722
- btn.addEventListener("click", () => {
723
- renderRows(sorted.length);
724
- });
725
- container.parentElement.appendChild(btn);
726
- }
727
- }
728
-
729
- renderRows(INITIAL_SHOW);
730
- }
731
-
732
- const csvUrl = "./results.csv";
733
-
734
- async function loadData() {
735
- try {
736
- const res = await fetch(csvUrl);
737
- if (!res.ok) throw new Error(`HTTP ${res.status}`);
738
- const csvText = await res.text();
739
- const data = parseCSV(csvText);
740
-
741
- if (data.length === 0) {
742
- throw new Error("CSV parsed zero rows");
743
- }
744
-
745
- buildRows(data, "Partial Replication", "rows-rep");
746
- buildRows(data, "Compilation Success", "rows-compile");
747
- buildRows(data, "Correct Coefficient Direction", "rows-dir");
748
- buildRows(data, "Significant Level Correctness", "rows-sig");
749
- } catch (err) {
750
- console.error("load csv error", err);
751
- const banner = document.getElementById("error-banner");
752
- banner.textContent = `Failed to load ranking data: ${err.message}`;
753
- banner.classList.remove("hidden");
754
- ["rows-rep","rows-compile", "rows-dir","rows-sig"].forEach(id => {
755
- document.getElementById(id).innerHTML = '<div class="loading">Unable to load data</div>';
756
- });
757
- }
758
- }
759
-
760
- loadData();
761
- </script>
762
  </body>
763
  </html>
 
1
+ <!doctype html>
2
  <html lang="en">
3
  <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <meta name="description" content="InferenceNet research leaderboard: six models compared with single-pass generation and a DeepAgents harness on 1,000 econometric replication tasks.">
7
+ <meta name="color-scheme" content="dark">
8
+ <title>InferenceNet · Agent & Harness Leaderboard</title>
9
+ <link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='6' fill='%230c1219'/%3E%3Ctext x='5' y='23' font-family='sans-serif' font-size='21' fill='%2378dbc0'%3EiN%3C/text%3E%3C/svg%3E">
10
+ <link rel="stylesheet" href="./leaderboard.css">
11
+ <script src="./leaderboard.js" defer></script>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  </head>
13
  <body>
14
+ <a class="skip" href="#rankings">Skip to rankings</a>
15
+ <main class="page">
16
+ <nav class="topbar" aria-label="Main navigation">
17
+ <a class="brand" href="https://easonai-5589.github.io/inferencenet-challenge/" target="_blank" rel="noopener noreferrer"><span class="brand-mark" aria-hidden="true">iN</span>InferenceNet</a>
18
+ <div class="nav-links">
19
+ <a href="https://huggingface.co/datasets/CamoAiLab/InferenceNet" target="_blank" rel="noopener noreferrer" data-i18n="dataset">Dataset ↗</a>
20
+ <a href="https://huggingface.co/spaces/CamoAiLab/InferenceNet-Leaderboard/tree/main/results" target="_blank" rel="noopener noreferrer" data-i18n="archive">Results archive ↗</a>
21
+ <button id="language" type="button" aria-label="Switch to Chinese">中文</button>
22
+ </div>
23
  </nav>
24
 
25
+ <header class="hero">
26
+ <p class="eyebrow"><span class="dot" aria-hidden="true"></span><span data-i18n="edition">RESEARCH LEADERBOARD · SEPTEMBER 2026</span></p>
27
+ <h1 data-i18n="title">Same models.<br><span>Two ways to solve.</span></h1>
28
+ <p class="intro" data-i18n="intro">Compare single-pass agents with a DeepAgents harness on real econometric replication tasks.</p>
29
+ <div class="facts" aria-label="Dataset coverage">
30
+ <span><strong id="model-count">—</strong><span data-i18n="models">models</span></span>
31
+ <span><strong id="group-count">—</strong><span data-i18n="groups">experiment groups</span></span>
32
+ <span><strong id="task-count">—</strong><span data-i18n="tasks">tasks per group</span></span>
33
+ <span class="update" data-i18n="updated">Published 17 Sep 2026</span>
34
+ </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35
  </header>
36
 
37
+ <section class="protocols" aria-label="Experimental settings">
38
+ <div><p class="protocol-tag baseline"><span aria-hidden="true">A</span><strong data-i18n="single">Single-pass Agent</strong></p><p data-i18n="singleDesc">One code-generation call, followed by execution. No iterative agent loop.</p></div>
39
+ <div><p class="protocol-tag harness"><span aria-hidden="true">B</span><strong data-i18n="harness">Agent + Harness</strong></p><p data-i18n="harnessDesc">DeepAgents plans, uses tools and revises code. Up to 6 model calls, plus final execution.</p></div>
40
+ </section>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
41
 
42
+ <section id="rankings" aria-labelledby="rankings-title">
43
+ <div class="section-head"><div><p class="eyebrow" data-i18n="resultsLabel">01 / RESULTS</p><h2 id="rankings-title" data-i18n="rankings">Agent & Harness leaderboard</h2></div><span class="badge" data-i18n="research">Research results · provisional</span></div>
44
+ <p class="scope-note" data-i18n="scope">Locally scored, archived results. Official scorer parity is not yet verified. Different budgets and run protocols mean the lift is descriptive, not an equal-cost comparison.</p>
45
 
46
+ <div class="toolbar">
47
+ <div class="view-switch" role="group" aria-label="Leaderboard view">
48
+ <button type="button" data-view="compare" aria-pressed="true" data-i18n="compare">Side by side</button>
49
+ <button type="button" data-view="baseline" aria-pressed="false" data-i18n="single">Single-pass Agent</button>
50
+ <button type="button" data-view="deepagents" aria-pressed="false" data-i18n="harness">Agent + Harness</button>
 
 
 
 
 
 
 
 
 
 
51
  </div>
52
+ <a class="download" href="./leaderboard.csv" download data-i18n="download">Download CSV ↓</a>
53
+ </div>
54
+ <div class="filters">
55
+ <label class="metric-control"><span data-i18n="metric">Metric</span><select id="metric">
56
+ <optgroup label="Local paper profile" data-group="local">
57
+ <option value="perfect" data-i18n="perfect">Full replication · local</option>
58
+ </optgroup>
59
+ <optgroup label="HF-style profile · parity unverified" data-group="hf">
60
+ <option value="partial_replication" data-i18n="partial_replication">Partial replication · HF-style</option>
61
+ <option value="compilation_success" data-i18n="compilation_success">Execution success · HF-style</option>
62
+ <option value="coefficient_direction" data-i18n="coefficient_direction">Coefficient direction · HF-style</option>
63
+ <option value="significance_level" data-i18n="significance_level">Significance level · HF-style</option>
64
+ </optgroup>
65
+ </select></label>
66
+ <label id="sort-control"><span data-i18n="sort">Sort by</span><select id="sort"><option value="deepagents" data-i18n="harnessScore">Harness score</option><option value="baseline" data-i18n="singleScore">Single-pass score</option><option value="gain" data-i18n="lift">Lift</option></select></label>
67
+ <label class="search-control"><span data-i18n="search">Find a model</span><input id="search" type="search" placeholder="Search models…" autocomplete="off"></label>
68
+ </div>
69
+ <p id="metric-description" class="metric-description"></p>
70
+ <p id="load-state" role="status" class="load-state">Loading archived results…</p>
71
+ <div id="error" class="error" role="alert" hidden><p data-i18n="error">Results could not be loaded. Please retry or open the results archive.</p><button type="button" id="retry" data-i18n="retry">Retry</button></div>
72
+ <div id="table-wrap" class="table-wrap" tabindex="0" aria-label="Scrollable leaderboard" hidden>
73
+ <table><caption id="caption" class="sr-only"></caption><thead id="table-head"></thead><tbody id="table-body"></tbody></table>
74
+ </div>
75
+ <p id="empty" class="load-state" hidden data-i18n="empty">No matching models.</p>
76
+ <div class="table-foot"><span id="result-count" aria-live="polite"></span><span data-i18n="denominator">Every score uses all 1,000 tasks. Unknown and invalid outcomes earn no successes.</span></div>
77
+ </section>
78
+
79
+ <section class="method" aria-labelledby="method-title">
80
+ <div class="section-head"><div><p class="eyebrow" data-i18n="methodLabel">02 / HOW TO READ THIS</p><h2 id="method-title" data-i18n="methodTitle">A comparison you can inspect.</h2></div><a href="./legacy.html" data-i18n="historical">Historical leaderboard ↗</a></div>
81
+ <div class="method-grid">
82
+ <article><h3 data-i18n="fixedTasks">Fixed task set</h3><p data-i18n="fixedDesc">The same Selected_1000 task IDs and dataset revision are used for every group. Each score is successes ÷ 1,000; failed or unknown tasks stay in the denominator.</p></article>
83
+ <article><h3 data-i18n="separateMetrics">Two scoring profiles</h3><p data-i18n="profilesDesc">Full replication is the local paper metric. The four HF-style metrics reproduce the published descriptions locally; they are not yet verified against the official scorer.</p></article>
84
+ <article><h3 data-i18n="budgetTitle">Read lift with the budgets</h3><p data-i18n="budgetDesc">Baseline: 1 model call. DeepAgents: up to 6 model calls and 4 trial tool calls. Recovery amendments, time limits and run protocols differ; these are not equal-cost causal estimates.</p></article>
85
+ </div>
86
+ <details class="evidence"><summary data-i18n="evidence">Evidence status & metric definitions</summary>
87
+ <p data-i18n="unknownDesc">“Metric unknown” means the selected metric cannot be assessed, including failed execution or unavailable outputs. It is different from a task whose final status is unknown. Neither is dropped or counted as a success.</p>
88
+ <ul id="definitions"></ul>
89
+ <div class="evidence-table-wrap"><table class="evidence-table"><caption data-i18n="evidenceCaption">Status from each accepted archive</caption><thead><tr><th data-i18n="model">Model</th><th data-i18n="single">Single-pass Agent</th><th data-i18n="harness">Agent + Harness</th></tr></thead><tbody id="evidence-body"></tbody></table></div>
90
+ <p data-i18n="verification">HF-style counts are checked against archived task flags. Full-replication counts for Sol and Opus come from accepted summaries; the other four models also have per-task local flags. This refresh does not rerun or rescore any experiment.</p>
91
+ <p data-i18n="archiveNote">Per-run archive files remain frozen, including their original publication metadata. This page is a new display derived from those archives. GPT-5.5 and unarchived experiments are not included in this edition.</p>
92
+ </details>
93
+ </section>
94
+ <footer><span>InferenceNet <span class="muted">/</span> <span data-i18n="footer">Econometric replication, measured.</span></span><div><a id="revision-link" href="https://huggingface.co/spaces/CamoAiLab/InferenceNet-Leaderboard/tree/main/results" target="_blank" rel="noopener noreferrer" data-i18n="source">Source snapshot ↗</a><a href="./leaderboard-data.json" data-i18n="json">Data JSON ↗</a><a href="https://easonai-5589.github.io/inferencenet-challenge/" target="_blank" rel="noopener noreferrer" data-i18n="project">Project ↗</a></div></footer>
95
+ </main>
96
+ <noscript><p>This leaderboard needs JavaScript. <a href="./leaderboard.csv">Download the results CSV</a> or <a href="https://huggingface.co/spaces/CamoAiLab/InferenceNet-Leaderboard/tree/main/results">browse the archives</a>.</p></noscript>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
97
  </body>
98
  </html>
leaderboard-data.json ADDED
@@ -0,0 +1,785 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "schema_version": 1,
3
+ "kind": "research_leaderboard",
4
+ "published_date": "2026-09-17",
5
+ "source_repository": "CamoAiLab/InferenceNet-Leaderboard",
6
+ "source_revision": "731111974cf4d1a3c7a4f848a899f0b0708dd12b",
7
+ "dataset_revision": "59f9512a38e594528807744214a60ee00367434e",
8
+ "task_list": "Selected_1000/1000_new.csv",
9
+ "tasks_per_group": 1000,
10
+ "groups": 12,
11
+ "records": 12000,
12
+ "official_parity_verified": false,
13
+ "models": [
14
+ {
15
+ "id": "gpt-5.6-sol",
16
+ "name": "GPT-5.6 Sol",
17
+ "arms": {
18
+ "baseline": {
19
+ "path": "results/gpt-5.6-sol/baseline",
20
+ "metrics": {
21
+ "perfect": {
22
+ "count": 338,
23
+ "denominator": 1000,
24
+ "unknown": 445,
25
+ "failure": 217,
26
+ "score": 33.8,
27
+ "profile": "local-paper-v1",
28
+ "verification": "accepted_summary"
29
+ },
30
+ "compilation_success": {
31
+ "count": 557,
32
+ "denominator": 1000,
33
+ "unknown": 3,
34
+ "failure": 440,
35
+ "score": 55.7,
36
+ "profile": "hf-leaderboard-v1",
37
+ "verification": "archived_task_flags"
38
+ },
39
+ "partial_replication": {
40
+ "count": 430,
41
+ "denominator": 1000,
42
+ "unknown": 444,
43
+ "failure": 126,
44
+ "score": 43.0,
45
+ "profile": "hf-leaderboard-v1",
46
+ "verification": "archived_task_flags"
47
+ },
48
+ "coefficient_direction": {
49
+ "count": 537,
50
+ "denominator": 1000,
51
+ "unknown": 444,
52
+ "failure": 19,
53
+ "score": 53.7,
54
+ "profile": "hf-leaderboard-v1",
55
+ "verification": "archived_task_flags"
56
+ },
57
+ "significance_level": {
58
+ "count": 485,
59
+ "denominator": 1000,
60
+ "unknown": 444,
61
+ "failure": 71,
62
+ "score": 48.5,
63
+ "profile": "hf-leaderboard-v1",
64
+ "verification": "archived_task_flags"
65
+ }
66
+ },
67
+ "generated_at": "2026-09-13T17:49:16.537733+00:00",
68
+ "complete": true,
69
+ "harness": "none",
70
+ "model_call_cap": 1,
71
+ "task_unknown_count": null,
72
+ "invalid_evidence_count": 0,
73
+ "interruption_count": 3,
74
+ "evidence_class": "amended_comparison"
75
+ },
76
+ "deepagents": {
77
+ "path": "results/gpt-5.6-sol/deepagents",
78
+ "metrics": {
79
+ "perfect": {
80
+ "count": 518,
81
+ "denominator": 1000,
82
+ "unknown": 95,
83
+ "failure": 387,
84
+ "score": 51.8,
85
+ "profile": "local-paper-v1",
86
+ "verification": "accepted_summary"
87
+ },
88
+ "compilation_success": {
89
+ "count": 910,
90
+ "denominator": 1000,
91
+ "unknown": 10,
92
+ "failure": 80,
93
+ "score": 91.0,
94
+ "profile": "hf-leaderboard-v1",
95
+ "verification": "archived_task_flags"
96
+ },
97
+ "partial_replication": {
98
+ "count": 699,
99
+ "denominator": 1000,
100
+ "unknown": 92,
101
+ "failure": 209,
102
+ "score": 69.9,
103
+ "profile": "hf-leaderboard-v1",
104
+ "verification": "archived_task_flags"
105
+ },
106
+ "coefficient_direction": {
107
+ "count": 879,
108
+ "denominator": 1000,
109
+ "unknown": 92,
110
+ "failure": 29,
111
+ "score": 87.9,
112
+ "profile": "hf-leaderboard-v1",
113
+ "verification": "archived_task_flags"
114
+ },
115
+ "significance_level": {
116
+ "count": 787,
117
+ "denominator": 1000,
118
+ "unknown": 93,
119
+ "failure": 120,
120
+ "score": 78.7,
121
+ "profile": "hf-leaderboard-v1",
122
+ "verification": "archived_task_flags"
123
+ }
124
+ },
125
+ "generated_at": "2026-09-13T17:49:16.537733+00:00",
126
+ "complete": true,
127
+ "harness": "DeepAgents",
128
+ "model_call_cap": 6,
129
+ "task_unknown_count": null,
130
+ "invalid_evidence_count": 0,
131
+ "interruption_count": 10,
132
+ "evidence_class": "amended_comparison"
133
+ }
134
+ }
135
+ },
136
+ {
137
+ "id": "claude-opus-4-8",
138
+ "name": "Claude Opus 4.8",
139
+ "arms": {
140
+ "baseline": {
141
+ "path": "results/claude-opus-4-8/baseline",
142
+ "metrics": {
143
+ "perfect": {
144
+ "count": 184,
145
+ "denominator": 1000,
146
+ "unknown": 538,
147
+ "failure": 278,
148
+ "score": 18.4,
149
+ "profile": "local-paper-v1",
150
+ "verification": "accepted_summary"
151
+ },
152
+ "compilation_success": {
153
+ "count": 467,
154
+ "denominator": 1000,
155
+ "unknown": 0,
156
+ "failure": 533,
157
+ "score": 46.7,
158
+ "profile": "hf-leaderboard-v1",
159
+ "verification": "archived_task_flags"
160
+ },
161
+ "partial_replication": {
162
+ "count": 305,
163
+ "denominator": 1000,
164
+ "unknown": 537,
165
+ "failure": 158,
166
+ "score": 30.5,
167
+ "profile": "hf-leaderboard-v1",
168
+ "verification": "archived_task_flags"
169
+ },
170
+ "coefficient_direction": {
171
+ "count": 437,
172
+ "denominator": 1000,
173
+ "unknown": 537,
174
+ "failure": 26,
175
+ "score": 43.7,
176
+ "profile": "hf-leaderboard-v1",
177
+ "verification": "archived_task_flags"
178
+ },
179
+ "significance_level": {
180
+ "count": 370,
181
+ "denominator": 1000,
182
+ "unknown": 537,
183
+ "failure": 93,
184
+ "score": 37.0,
185
+ "profile": "hf-leaderboard-v1",
186
+ "verification": "archived_task_flags"
187
+ }
188
+ },
189
+ "generated_at": "2026-09-13T17:50:43.870921+00:00",
190
+ "complete": true,
191
+ "harness": "none",
192
+ "model_call_cap": 1,
193
+ "task_unknown_count": null,
194
+ "invalid_evidence_count": 0,
195
+ "interruption_count": 0,
196
+ "evidence_class": "amended_comparison"
197
+ },
198
+ "deepagents": {
199
+ "path": "results/claude-opus-4-8/deepagents",
200
+ "metrics": {
201
+ "perfect": {
202
+ "count": 392,
203
+ "denominator": 1000,
204
+ "unknown": 174,
205
+ "failure": 434,
206
+ "score": 39.2,
207
+ "profile": "local-paper-v1",
208
+ "verification": "accepted_summary"
209
+ },
210
+ "compilation_success": {
211
+ "count": 834,
212
+ "denominator": 1000,
213
+ "unknown": 4,
214
+ "failure": 162,
215
+ "score": 83.4,
216
+ "profile": "hf-leaderboard-v1",
217
+ "verification": "archived_task_flags"
218
+ },
219
+ "partial_replication": {
220
+ "count": 621,
221
+ "denominator": 1000,
222
+ "unknown": 170,
223
+ "failure": 209,
224
+ "score": 62.1,
225
+ "profile": "hf-leaderboard-v1",
226
+ "verification": "archived_task_flags"
227
+ },
228
+ "coefficient_direction": {
229
+ "count": 793,
230
+ "denominator": 1000,
231
+ "unknown": 170,
232
+ "failure": 37,
233
+ "score": 79.3,
234
+ "profile": "hf-leaderboard-v1",
235
+ "verification": "archived_task_flags"
236
+ },
237
+ "significance_level": {
238
+ "count": 696,
239
+ "denominator": 1000,
240
+ "unknown": 172,
241
+ "failure": 132,
242
+ "score": 69.6,
243
+ "profile": "hf-leaderboard-v1",
244
+ "verification": "archived_task_flags"
245
+ }
246
+ },
247
+ "generated_at": "2026-09-13T17:50:43.870921+00:00",
248
+ "complete": true,
249
+ "harness": "DeepAgents",
250
+ "model_call_cap": 6,
251
+ "task_unknown_count": null,
252
+ "invalid_evidence_count": 0,
253
+ "interruption_count": 4,
254
+ "evidence_class": "amended_comparison"
255
+ }
256
+ }
257
+ },
258
+ {
259
+ "id": "kimi-k3",
260
+ "name": "Kimi K3",
261
+ "arms": {
262
+ "baseline": {
263
+ "path": "results/kimi-k3/baseline",
264
+ "metrics": {
265
+ "perfect": {
266
+ "count": 230,
267
+ "denominator": 1000,
268
+ "unknown": 481,
269
+ "failure": 289,
270
+ "score": 23.0,
271
+ "profile": "local-paper-v1",
272
+ "verification": "archived_task_flags"
273
+ },
274
+ "compilation_success": {
275
+ "count": 526,
276
+ "denominator": 1000,
277
+ "unknown": 5,
278
+ "failure": 469,
279
+ "score": 52.6,
280
+ "profile": "hf-leaderboard-v1",
281
+ "verification": "archived_task_flags"
282
+ },
283
+ "partial_replication": {
284
+ "count": 366,
285
+ "denominator": 1000,
286
+ "unknown": 481,
287
+ "failure": 153,
288
+ "score": 36.6,
289
+ "profile": "hf-leaderboard-v1",
290
+ "verification": "archived_task_flags"
291
+ },
292
+ "coefficient_direction": {
293
+ "count": 494,
294
+ "denominator": 1000,
295
+ "unknown": 481,
296
+ "failure": 25,
297
+ "score": 49.4,
298
+ "profile": "hf-leaderboard-v1",
299
+ "verification": "archived_task_flags"
300
+ },
301
+ "significance_level": {
302
+ "count": 431,
303
+ "denominator": 1000,
304
+ "unknown": 481,
305
+ "failure": 88,
306
+ "score": 43.1,
307
+ "profile": "hf-leaderboard-v1",
308
+ "verification": "archived_task_flags"
309
+ }
310
+ },
311
+ "generated_at": "2026-09-16T15:28:00.953066+00:00",
312
+ "complete": false,
313
+ "harness": "none",
314
+ "model_call_cap": 1,
315
+ "task_unknown_count": 5,
316
+ "invalid_evidence_count": 0,
317
+ "interruption_count": null,
318
+ "evidence_class": "amended_comparison"
319
+ },
320
+ "deepagents": {
321
+ "path": "results/kimi-k3/deepagents",
322
+ "metrics": {
323
+ "perfect": {
324
+ "count": 390,
325
+ "denominator": 1000,
326
+ "unknown": 159,
327
+ "failure": 451,
328
+ "score": 39.0,
329
+ "profile": "local-paper-v1",
330
+ "verification": "archived_task_flags"
331
+ },
332
+ "compilation_success": {
333
+ "count": 867,
334
+ "denominator": 1000,
335
+ "unknown": 4,
336
+ "failure": 129,
337
+ "score": 86.7,
338
+ "profile": "hf-leaderboard-v1",
339
+ "verification": "archived_task_flags"
340
+ },
341
+ "partial_replication": {
342
+ "count": 635,
343
+ "denominator": 1000,
344
+ "unknown": 156,
345
+ "failure": 209,
346
+ "score": 63.5,
347
+ "profile": "hf-leaderboard-v1",
348
+ "verification": "archived_task_flags"
349
+ },
350
+ "coefficient_direction": {
351
+ "count": 804,
352
+ "denominator": 1000,
353
+ "unknown": 156,
354
+ "failure": 40,
355
+ "score": 80.4,
356
+ "profile": "hf-leaderboard-v1",
357
+ "verification": "archived_task_flags"
358
+ },
359
+ "significance_level": {
360
+ "count": 709,
361
+ "denominator": 1000,
362
+ "unknown": 157,
363
+ "failure": 134,
364
+ "score": 70.9,
365
+ "profile": "hf-leaderboard-v1",
366
+ "verification": "archived_task_flags"
367
+ }
368
+ },
369
+ "generated_at": "2026-09-16T15:28:00.953066+00:00",
370
+ "complete": false,
371
+ "harness": "DeepAgents 0.7.13",
372
+ "model_call_cap": 6,
373
+ "task_unknown_count": 4,
374
+ "invalid_evidence_count": 0,
375
+ "interruption_count": null,
376
+ "evidence_class": "amended_comparison"
377
+ }
378
+ }
379
+ },
380
+ {
381
+ "id": "gemini-3.1-pro-preview",
382
+ "name": "Gemini 3.1 Pro Preview",
383
+ "arms": {
384
+ "baseline": {
385
+ "path": "results/gemini-3.1-pro-preview/baseline",
386
+ "metrics": {
387
+ "perfect": {
388
+ "count": 246,
389
+ "denominator": 1000,
390
+ "unknown": 462,
391
+ "failure": 292,
392
+ "score": 24.6,
393
+ "profile": "local-paper-v1",
394
+ "verification": "archived_task_flags"
395
+ },
396
+ "compilation_success": {
397
+ "count": 543,
398
+ "denominator": 1000,
399
+ "unknown": 0,
400
+ "failure": 457,
401
+ "score": 54.3,
402
+ "profile": "hf-leaderboard-v1",
403
+ "verification": "archived_task_flags"
404
+ },
405
+ "partial_replication": {
406
+ "count": 366,
407
+ "denominator": 1000,
408
+ "unknown": 460,
409
+ "failure": 174,
410
+ "score": 36.6,
411
+ "profile": "hf-leaderboard-v1",
412
+ "verification": "archived_task_flags"
413
+ },
414
+ "coefficient_direction": {
415
+ "count": 506,
416
+ "denominator": 1000,
417
+ "unknown": 460,
418
+ "failure": 34,
419
+ "score": 50.6,
420
+ "profile": "hf-leaderboard-v1",
421
+ "verification": "archived_task_flags"
422
+ },
423
+ "significance_level": {
424
+ "count": 437,
425
+ "denominator": 1000,
426
+ "unknown": 460,
427
+ "failure": 103,
428
+ "score": 43.7,
429
+ "profile": "hf-leaderboard-v1",
430
+ "verification": "archived_task_flags"
431
+ }
432
+ },
433
+ "generated_at": "2026-09-16T15:28:00.953066+00:00",
434
+ "complete": true,
435
+ "harness": "none",
436
+ "model_call_cap": 1,
437
+ "task_unknown_count": 0,
438
+ "invalid_evidence_count": 0,
439
+ "interruption_count": null,
440
+ "evidence_class": "amended_comparison"
441
+ },
442
+ "deepagents": {
443
+ "path": "results/gemini-3.1-pro-preview/deepagents",
444
+ "metrics": {
445
+ "perfect": {
446
+ "count": 391,
447
+ "denominator": 1000,
448
+ "unknown": 155,
449
+ "failure": 454,
450
+ "score": 39.1,
451
+ "profile": "local-paper-v1",
452
+ "verification": "archived_task_flags"
453
+ },
454
+ "compilation_success": {
455
+ "count": 850,
456
+ "denominator": 1000,
457
+ "unknown": 0,
458
+ "failure": 150,
459
+ "score": 85.0,
460
+ "profile": "hf-leaderboard-v1",
461
+ "verification": "archived_task_flags"
462
+ },
463
+ "partial_replication": {
464
+ "count": 632,
465
+ "denominator": 1000,
466
+ "unknown": 153,
467
+ "failure": 215,
468
+ "score": 63.2,
469
+ "profile": "hf-leaderboard-v1",
470
+ "verification": "archived_task_flags"
471
+ },
472
+ "coefficient_direction": {
473
+ "count": 811,
474
+ "denominator": 1000,
475
+ "unknown": 153,
476
+ "failure": 36,
477
+ "score": 81.1,
478
+ "profile": "hf-leaderboard-v1",
479
+ "verification": "archived_task_flags"
480
+ },
481
+ "significance_level": {
482
+ "count": 718,
483
+ "denominator": 1000,
484
+ "unknown": 154,
485
+ "failure": 128,
486
+ "score": 71.8,
487
+ "profile": "hf-leaderboard-v1",
488
+ "verification": "archived_task_flags"
489
+ }
490
+ },
491
+ "generated_at": "2026-09-16T15:28:00.953066+00:00",
492
+ "complete": true,
493
+ "harness": "DeepAgents 0.7.13",
494
+ "model_call_cap": 6,
495
+ "task_unknown_count": 0,
496
+ "invalid_evidence_count": 0,
497
+ "interruption_count": null,
498
+ "evidence_class": "amended_comparison"
499
+ }
500
+ }
501
+ },
502
+ {
503
+ "id": "qwen3.7-max",
504
+ "name": "Qwen3.7-Max",
505
+ "arms": {
506
+ "baseline": {
507
+ "path": "results/qwen3.7-max/baseline",
508
+ "metrics": {
509
+ "perfect": {
510
+ "count": 198,
511
+ "denominator": 1000,
512
+ "unknown": 519,
513
+ "failure": 283,
514
+ "score": 19.8,
515
+ "profile": "local-paper-v1",
516
+ "verification": "archived_task_flags"
517
+ },
518
+ "compilation_success": {
519
+ "count": 486,
520
+ "denominator": 1000,
521
+ "unknown": 0,
522
+ "failure": 514,
523
+ "score": 48.6,
524
+ "profile": "hf-leaderboard-v1",
525
+ "verification": "archived_task_flags"
526
+ },
527
+ "partial_replication": {
528
+ "count": 315,
529
+ "denominator": 1000,
530
+ "unknown": 518,
531
+ "failure": 167,
532
+ "score": 31.5,
533
+ "profile": "hf-leaderboard-v1",
534
+ "verification": "archived_task_flags"
535
+ },
536
+ "coefficient_direction": {
537
+ "count": 454,
538
+ "denominator": 1000,
539
+ "unknown": 518,
540
+ "failure": 28,
541
+ "score": 45.4,
542
+ "profile": "hf-leaderboard-v1",
543
+ "verification": "archived_task_flags"
544
+ },
545
+ "significance_level": {
546
+ "count": 396,
547
+ "denominator": 1000,
548
+ "unknown": 518,
549
+ "failure": 86,
550
+ "score": 39.6,
551
+ "profile": "hf-leaderboard-v1",
552
+ "verification": "archived_task_flags"
553
+ }
554
+ },
555
+ "generated_at": "2026-09-16T17:18:47.373930+00:00",
556
+ "complete": true,
557
+ "harness": "none",
558
+ "model_call_cap": 1,
559
+ "task_unknown_count": 0,
560
+ "invalid_evidence_count": 0,
561
+ "interruption_count": null,
562
+ "evidence_class": "amended_comparison"
563
+ },
564
+ "deepagents": {
565
+ "path": "results/qwen3.7-max/deepagents",
566
+ "metrics": {
567
+ "perfect": {
568
+ "count": 248,
569
+ "denominator": 1000,
570
+ "unknown": 481,
571
+ "failure": 271,
572
+ "score": 24.8,
573
+ "profile": "local-paper-v1",
574
+ "verification": "archived_task_flags"
575
+ },
576
+ "compilation_success": {
577
+ "count": 523,
578
+ "denominator": 1000,
579
+ "unknown": 7,
580
+ "failure": 470,
581
+ "score": 52.3,
582
+ "profile": "hf-leaderboard-v1",
583
+ "verification": "archived_task_flags"
584
+ },
585
+ "partial_replication": {
586
+ "count": 379,
587
+ "denominator": 1000,
588
+ "unknown": 481,
589
+ "failure": 140,
590
+ "score": 37.9,
591
+ "profile": "hf-leaderboard-v1",
592
+ "verification": "archived_task_flags"
593
+ },
594
+ "coefficient_direction": {
595
+ "count": 488,
596
+ "denominator": 1000,
597
+ "unknown": 481,
598
+ "failure": 31,
599
+ "score": 48.8,
600
+ "profile": "hf-leaderboard-v1",
601
+ "verification": "archived_task_flags"
602
+ },
603
+ "significance_level": {
604
+ "count": 433,
605
+ "denominator": 1000,
606
+ "unknown": 481,
607
+ "failure": 86,
608
+ "score": 43.3,
609
+ "profile": "hf-leaderboard-v1",
610
+ "verification": "archived_task_flags"
611
+ }
612
+ },
613
+ "generated_at": "2026-09-16T17:18:47.373930+00:00",
614
+ "complete": false,
615
+ "harness": "DeepAgents 0.7.13",
616
+ "model_call_cap": 6,
617
+ "task_unknown_count": 6,
618
+ "invalid_evidence_count": 1,
619
+ "interruption_count": null,
620
+ "evidence_class": "amended_comparison"
621
+ }
622
+ }
623
+ },
624
+ {
625
+ "id": "deepseek-v4-pro",
626
+ "name": "DeepSeek V4 Pro",
627
+ "arms": {
628
+ "baseline": {
629
+ "path": "results/deepseek-v4-pro/baseline",
630
+ "metrics": {
631
+ "perfect": {
632
+ "count": 129,
633
+ "denominator": 1000,
634
+ "unknown": 723,
635
+ "failure": 148,
636
+ "score": 12.9,
637
+ "profile": "local-paper-v1",
638
+ "verification": "archived_task_flags"
639
+ },
640
+ "compilation_success": {
641
+ "count": 281,
642
+ "denominator": 1000,
643
+ "unknown": 0,
644
+ "failure": 719,
645
+ "score": 28.1,
646
+ "profile": "hf-leaderboard-v1",
647
+ "verification": "archived_task_flags"
648
+ },
649
+ "partial_replication": {
650
+ "count": 195,
651
+ "denominator": 1000,
652
+ "unknown": 723,
653
+ "failure": 82,
654
+ "score": 19.5,
655
+ "profile": "hf-leaderboard-v1",
656
+ "verification": "archived_task_flags"
657
+ },
658
+ "coefficient_direction": {
659
+ "count": 260,
660
+ "denominator": 1000,
661
+ "unknown": 723,
662
+ "failure": 17,
663
+ "score": 26.0,
664
+ "profile": "hf-leaderboard-v1",
665
+ "verification": "archived_task_flags"
666
+ },
667
+ "significance_level": {
668
+ "count": 236,
669
+ "denominator": 1000,
670
+ "unknown": 723,
671
+ "failure": 41,
672
+ "score": 23.6,
673
+ "profile": "hf-leaderboard-v1",
674
+ "verification": "archived_task_flags"
675
+ }
676
+ },
677
+ "generated_at": "2026-09-16T17:18:47.373930+00:00",
678
+ "complete": true,
679
+ "harness": "none",
680
+ "model_call_cap": 1,
681
+ "task_unknown_count": 0,
682
+ "invalid_evidence_count": 0,
683
+ "interruption_count": null,
684
+ "evidence_class": "amended_comparison"
685
+ },
686
+ "deepagents": {
687
+ "path": "results/deepseek-v4-pro/deepagents",
688
+ "metrics": {
689
+ "perfect": {
690
+ "count": 183,
691
+ "denominator": 1000,
692
+ "unknown": 648,
693
+ "failure": 169,
694
+ "score": 18.3,
695
+ "profile": "local-paper-v1",
696
+ "verification": "archived_task_flags"
697
+ },
698
+ "compilation_success": {
699
+ "count": 352,
700
+ "denominator": 1000,
701
+ "unknown": 0,
702
+ "failure": 648,
703
+ "score": 35.2,
704
+ "profile": "hf-leaderboard-v1",
705
+ "verification": "archived_task_flags"
706
+ },
707
+ "partial_replication": {
708
+ "count": 270,
709
+ "denominator": 1000,
710
+ "unknown": 648,
711
+ "failure": 82,
712
+ "score": 27.0,
713
+ "profile": "hf-leaderboard-v1",
714
+ "verification": "archived_task_flags"
715
+ },
716
+ "coefficient_direction": {
717
+ "count": 338,
718
+ "denominator": 1000,
719
+ "unknown": 648,
720
+ "failure": 14,
721
+ "score": 33.8,
722
+ "profile": "hf-leaderboard-v1",
723
+ "verification": "archived_task_flags"
724
+ },
725
+ "significance_level": {
726
+ "count": 308,
727
+ "denominator": 1000,
728
+ "unknown": 648,
729
+ "failure": 44,
730
+ "score": 30.8,
731
+ "profile": "hf-leaderboard-v1",
732
+ "verification": "archived_task_flags"
733
+ }
734
+ },
735
+ "generated_at": "2026-09-16T17:18:47.373930+00:00",
736
+ "complete": true,
737
+ "harness": "DeepAgents 0.7.13",
738
+ "model_call_cap": 6,
739
+ "task_unknown_count": 0,
740
+ "invalid_evidence_count": 0,
741
+ "interruption_count": null,
742
+ "evidence_class": "amended_comparison"
743
+ }
744
+ }
745
+ }
746
+ ],
747
+ "source_sha256": {
748
+ "results/gpt-5.6-sol/baseline/summary.json": "6d6ab1aaffe754e08f9656dcb5f51fcd5c772e60660dc34d86cfc21f3c5c03d7",
749
+ "results/gpt-5.6-sol/baseline/results.jsonl": "3b12160382043e27531ff5cb3e23bccc9a8f7807e4121a82ffa13df28f65a859",
750
+ "results/gpt-5.6-sol/baseline/config.json": "90ec4e0781b57498fef52de31eacf5c8ec9424549643865a7140a1ccdb04c1d4",
751
+ "results/gpt-5.6-sol/deepagents/summary.json": "821ca6e55a66006c7fb958951a7859a9dccde29d87de8415d5c3f07f523563c5",
752
+ "results/gpt-5.6-sol/deepagents/results.jsonl": "378cdec8e7a880f091ba442649d1c034997acefdc623898b60a063baad29d7be",
753
+ "results/gpt-5.6-sol/deepagents/config.json": "a3e24175f2395cffbbcd6d9d3c89689bd3a3b22dd4ce61bb78d5da33c6b6cc1b",
754
+ "results/claude-opus-4-8/baseline/summary.json": "7b5b06bd9b3d7b47952b1dc424a01fcdf04ddccca0b3f64d04132358d6380cdc",
755
+ "results/claude-opus-4-8/baseline/results.jsonl": "b9d6bd51c9eb81a634e78e422c86da16f655d97da87d3f5afa4c9aa0f96809f4",
756
+ "results/claude-opus-4-8/baseline/config.json": "8058afcd14c34d666277c0f32ac5962398b10618df5b1aa0e13cd9862344dc56",
757
+ "results/claude-opus-4-8/deepagents/summary.json": "f86da9c76f8becb75b4970c486160013209a6aa4239923018b217e55f1b0a614",
758
+ "results/claude-opus-4-8/deepagents/results.jsonl": "3bef3b9850f24b9cb0b5806efd8425c4e4cc650735a6b28b45befdd55a6ec28a",
759
+ "results/claude-opus-4-8/deepagents/config.json": "12215dfcba5d2d692268a305364514a03ff7579094b2d4af12f493383b8e0f21",
760
+ "results/kimi-k3/baseline/summary.json": "2edd2e96f3b448ceceb6189edb7f23c737b245c00c9820728c69f5237feb34b7",
761
+ "results/kimi-k3/baseline/results.jsonl": "0502ae8892dd6c66ee92890a83c678527cff6c3396aa4c13faaadcf41e1857c1",
762
+ "results/kimi-k3/baseline/config.json": "7191c406e8695a5cb760ee8fa99c4fb0dd71bca59347acc4d6d33fe0630be081",
763
+ "results/kimi-k3/deepagents/summary.json": "81c8cabaa58acc65ef6afba792241b70951b666ab90c3f7c25194b61b0d9a228",
764
+ "results/kimi-k3/deepagents/results.jsonl": "bdab99f8f1d81885f74326cf9c8c8e57b9bb8a8d616bfbb1b5a2f6bf32b737ca",
765
+ "results/kimi-k3/deepagents/config.json": "312c9260c01d5988878e4f2b88da55a16362ee994e8217c63b15ba772da3857c",
766
+ "results/gemini-3.1-pro-preview/baseline/summary.json": "a8ba5100a28f1f0aeae6949eb3669c7717c844c4e2eee6fa42ded351aef6b5c7",
767
+ "results/gemini-3.1-pro-preview/baseline/results.jsonl": "2f1e2019157d105efee7ba311a49eba99abe4a7b84f0a4b4e0ac174e2d56cdba",
768
+ "results/gemini-3.1-pro-preview/baseline/config.json": "ff9884d2095695a1f40f5fc573982b9a49fd53d41dca2a6fc36d04dc81f10998",
769
+ "results/gemini-3.1-pro-preview/deepagents/summary.json": "bf9ce721c94103f91b0ca576f717f4f5dca7cc9965601658a65fc6d2a15b7045",
770
+ "results/gemini-3.1-pro-preview/deepagents/results.jsonl": "c2824f8277b283a6dd60118b6e6a0cb0419e4c8b9193de15a7bcf7aaaad24181",
771
+ "results/gemini-3.1-pro-preview/deepagents/config.json": "f09d9d99d26328ae2f54e9173b22f69d68f7d7bb50c3cc5e352c996b98dd57f9",
772
+ "results/qwen3.7-max/baseline/summary.json": "e506814d33789673fcd6b8e6869cdcbd52371cd3d0455ce53ae27e1098a52214",
773
+ "results/qwen3.7-max/baseline/results.jsonl": "4924e929d67956f9deb6c319605042d09f40b12f7bd2f18baa0464b8f7c9851a",
774
+ "results/qwen3.7-max/baseline/config.json": "9f553440e741863e82f32fec11470affe6f0dbffa03c668c647bd63d8f73227f",
775
+ "results/qwen3.7-max/deepagents/summary.json": "a5dcb2297ccc31a921e3f4eeb025ed81a764e16556a12068733cfe3bfe0bdbe3",
776
+ "results/qwen3.7-max/deepagents/results.jsonl": "e009f8c5c88b05896836330822afbda33af463c1f264f9adb9bbf5b094e61dfa",
777
+ "results/qwen3.7-max/deepagents/config.json": "3862d438d381ca3e57b1bf68921ef01a8c38727902152ada2c6e1fcf7b70cc77",
778
+ "results/deepseek-v4-pro/baseline/summary.json": "c51e4f1de78eba8f30e4a59276fb7821132cd103f0ae3f9d04c75c98344f2e34",
779
+ "results/deepseek-v4-pro/baseline/results.jsonl": "7827218f6f18f39988e8c439f0c93cab611c04d158d8704aa50c9274cd438837",
780
+ "results/deepseek-v4-pro/baseline/config.json": "4cef524f37a325029ea4ad325b163f72f9cf725f507f20cd76424d06e71e24ad",
781
+ "results/deepseek-v4-pro/deepagents/summary.json": "231e4264b0403e12788136d01af465f86fe9ba3c3ab992510925a7ef4c2a40e9",
782
+ "results/deepseek-v4-pro/deepagents/results.jsonl": "a006c8b0b80064295faeb3aa7395a2408f0208677853448816b361bf67e39bb6",
783
+ "results/deepseek-v4-pro/deepagents/config.json": "400c28e4008d5241bf50bc71c2674861846d6b6d2e7da21f2a7602a60ecc0ae9"
784
+ }
785
+ }
leaderboard.css ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ :root{color-scheme:dark;--bg:#0c1219;--surface:#111c26;--line:#27343f;--text:#eef4f5;--muted:#a3b3c0;--base:#92b7e6;--accent:#78dbc0;--amber:#e9c078;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans SC",sans-serif;font-synthesis:none}
2
+ *{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:4px}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button,input,select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:6px}button{padding:8px 14px}p,h1,h2,h3{margin:0}h1,h2,h3{line-height:1.2;font-weight:600}h2{font-size:26px;letter-spacing:-.6px}h3{font-size:16px}strong{font-weight:600}.page{max-width:1200px;margin:auto;padding:0 36px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:88px;border-bottom:1px solid var(--line)}.brand{font-size:20px;font-weight:650;letter-spacing:-.6px;display:flex;align-items:center;gap:11px}.brand-mark{font-size:15px;letter-spacing:-1.5px;border:1px solid #497364;border-radius:8px;width:32px;height:32px;display:grid;place-items:center;color:var(--accent)}.nav-links{display:flex;align-items:center;gap:26px;font-size:13px;color:var(--muted)}#language{padding:5px 12px;font-size:12px;background:transparent}.hero{padding:52px 0 0}.eyebrow{font-size:11px;letter-spacing:1.7px;color:var(--muted);font-weight:650}.hero>.eyebrow{display:flex;align-items:center;gap:8px;color:var(--accent)}.dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}h1{font-size:clamp(34px,4.8vw,54px);letter-spacing:-2px;margin:18px 0 16px}h1 span{color:var(--accent)}.intro{max-width:660px;color:var(--muted);font-size:17px;line-height:1.7}.facts{display:flex;gap:32px;align-items:center;flex-wrap:wrap;padding:24px 0;margin-top:14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.facts>span{display:flex;align-items:baseline;gap:8px}.facts strong{color:var(--text);font-size:23px;font-variant-numeric:tabular-nums;letter-spacing:-.7px}.facts .update{margin-left:auto}.protocols{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);gap:40px;padding:24px 0}.protocols>div+div{border-left:1px solid var(--line);padding-left:36px}.protocol-tag{display:flex;align-items:center;gap:10px;font-size:14px}.protocol-tag>span{display:grid;place-items:center;border:1px solid currentColor;width:22px;height:22px;border-radius:5px;font-size:10px}.baseline{color:var(--base)}.harness{color:var(--accent)}.protocols p+p{font-size:13px;color:var(--muted);margin-top:8px;max-width:450px}#rankings{padding-top:40px;scroll-margin-top:20px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-head .eyebrow{margin-bottom:10px}.badge{color:var(--amber);background:#272419;border:1px solid #4b422e;border-radius:4px;padding:5px 9px;font-size:11px;white-space:nowrap}.scope-note{color:var(--muted);font-size:12px;max-width:840px;margin-top:14px}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-bottom:16px;border-bottom:1px solid var(--line)}.view-switch{display:flex;gap:4px;flex-wrap:wrap;background:#101922;border:1px solid var(--line);padding:4px;border-radius:8px}.view-switch button{background:transparent;border-color:transparent;color:var(--muted);font-size:13px;padding:7px 15px}.view-switch button[aria-pressed=true]{background:#273b3a;border-color:#49665c;color:var(--text)}.view-switch button:hover{color:var(--text)}.download{font-size:12px;color:var(--accent);white-space:nowrap}.filters{display:flex;align-items:flex-end;gap:16px;padding:18px 0 10px}.filters label{display:flex;flex-direction:column;gap:6px;min-width:0}.filters label>span{font-size:11px;color:var(--muted)}input,select{height:39px;padding:6px 10px;font-size:12px;max-width:100%}.metric-control{min-width:270px!important}.search-control{margin-left:auto;width:210px}input::placeholder{color:#8b9aa8}.metric-description{min-height:36px;color:var(--muted);font-size:12px;padding:4px 0 14px}.profile{font-family:ui-monospace,monospace;color:var(--accent);font-size:11px;margin-right:8px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px;background:#0e1821}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums;text-align:left;white-space:nowrap}th{font-weight:500;background:#15212b;color:var(--muted);padding:14px 18px;font-size:11px;border-bottom:1px solid var(--line)}td{padding:20px 18px;border-bottom:1px solid #23313b;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody tr:hover{background:#15242c}.rank{width:45px;color:var(--muted);font-size:12px}.model-cell{min-width:225px}.model-name{font-size:14px;font-weight:550}.model-meta{display:flex;gap:7px;align-items:center;margin-top:5px;color:var(--muted);font-size:10px}.tag{display:inline-block;font-size:9px;color:var(--amber);border:1px solid #4d442e;padding:0 4px;border-radius:3px}.score-cell{min-width:155px;width:21%}.score{font-size:19px;letter-spacing:-.3px;font-weight:550}.score small{font-size:11px;font-weight:400;margin-left:2px}.track{height:4px;background:#283643;border-radius:2px;margin:7px 0 5px;max-width:150px}.fill{height:100%;border-radius:2px;background:var(--base)}.harness .fill{background:var(--accent)}.counts{font-size:10px;color:var(--muted)}.unknown{display:block;font-size:10px;color:#96a8b4;margin-top:2px}.gain{color:var(--accent);font-size:16px}.gain.negative{color:#f59d9d}.gain small{font-size:10px;margin-left:3px}.source-cell{font-size:11px;color:var(--muted)}.source-cell a{display:block;margin:3px 0}.table-foot{display:flex;justify-content:space-between;gap:24px;color:var(--muted);font-size:10px;margin-top:12px}.table-foot>span:last-child{text-align:right;max-width:620px}.load-state{padding:32px;text-align:center;color:var(--muted)}.error{padding:24px;border:1px solid #a65f5f;border-radius:8px;color:#f6b4b4}.error button{margin-top:12px}.method{padding-top:48px}.method .section-head>a{font-size:12px;color:var(--muted)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px;margin:24px 0 26px}.method p{font-size:12px;color:var(--muted);margin-top:11px;line-height:1.8}.evidence{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.evidence summary{font-size:13px;cursor:pointer;color:var(--text)}.evidence li{font-size:12px;color:var(--muted);margin:7px 0}.evidence-table-wrap{overflow:auto;margin-top:22px}.evidence-table th,.evidence-table td{font-size:11px;padding:12px}.evidence-table caption{text-align:left;margin:12px 0;font-size:12px;color:var(--muted)}.evidence-table td span{display:block;font-size:10px;color:var(--muted)}footer{display:flex;justify-content:space-between;gap:20px;padding:28px 0 36px;font-size:11px;color:var(--muted)}footer>div{display:flex;gap:20px}.muted{color:#526271;margin:0 5px}[hidden]{display:none!important}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{display:block;padding:10px}noscript{padding:30px;display:block}
3
+ @media(max-width:760px){.page{padding:0 20px}.topbar{min-height:76px}.nav-links{gap:12px}.nav-links a{font-size:11px}.brand{font-size:18px}.brand-mark{display:none}.hero{padding-top:34px}h1{letter-spacing:-1.3px}.intro{font-size:15px}.facts{gap:18px}.facts .update{width:100%;margin-left:0}.protocols{gap:18px}.protocols>div+div{padding-left:18px}.protocols p+p{font-size:12px}.protocol-tag{font-size:12px}h2{font-size:22px}.section-head{align-items:flex-start;flex-direction:column;gap:12px}.toolbar{align-items:flex-start;flex-direction:column}.view-switch{width:100%}.view-switch button{flex:1;font-size:11px;padding:8px}.filters{flex-wrap:wrap;gap:12px}.metric-control{width:100%;min-width:0!important}.filters label:not(.metric-control){flex:1}.search-control{margin-left:0;width:auto}.metric-description{padding-bottom:16px}.method-grid{grid-template-columns:1fr;gap:20px}.method{padding-top:36px}.table-foot{flex-direction:column;gap:5px}.table-foot>span:last-child{text-align:left}.table-wrap td{padding:17px 14px}.method .section-head{gap:14px}footer{flex-direction:column;gap:12px}}
4
+ tbody th[scope=row]{background:transparent;color:var(--text);border-bottom-color:#23313b}tbody tr:last-child th{border-bottom:none}
5
+ @media(prefers-reduced-motion:no-preference){button,a{transition:background .12s,color .12s}}
leaderboard.csv ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ model,arm,harness,metric_profile,metric,successes,denominator,unknown,score_percent,official_parity_verified,source_revision
2
+ gpt-5.6-sol,baseline,none,local-paper-v1,perfect,338,1000,445,33.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
3
+ gpt-5.6-sol,baseline,none,hf-leaderboard-v1,compilation_success,557,1000,3,55.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
4
+ gpt-5.6-sol,baseline,none,hf-leaderboard-v1,partial_replication,430,1000,444,43.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
5
+ gpt-5.6-sol,baseline,none,hf-leaderboard-v1,coefficient_direction,537,1000,444,53.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
6
+ gpt-5.6-sol,baseline,none,hf-leaderboard-v1,significance_level,485,1000,444,48.5,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
7
+ gpt-5.6-sol,deepagents,DeepAgents,local-paper-v1,perfect,518,1000,95,51.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
8
+ gpt-5.6-sol,deepagents,DeepAgents,hf-leaderboard-v1,compilation_success,910,1000,10,91.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
9
+ gpt-5.6-sol,deepagents,DeepAgents,hf-leaderboard-v1,partial_replication,699,1000,92,69.9,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
10
+ gpt-5.6-sol,deepagents,DeepAgents,hf-leaderboard-v1,coefficient_direction,879,1000,92,87.9,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
11
+ gpt-5.6-sol,deepagents,DeepAgents,hf-leaderboard-v1,significance_level,787,1000,93,78.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
12
+ claude-opus-4-8,baseline,none,local-paper-v1,perfect,184,1000,538,18.4,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
13
+ claude-opus-4-8,baseline,none,hf-leaderboard-v1,compilation_success,467,1000,0,46.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
14
+ claude-opus-4-8,baseline,none,hf-leaderboard-v1,partial_replication,305,1000,537,30.5,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
15
+ claude-opus-4-8,baseline,none,hf-leaderboard-v1,coefficient_direction,437,1000,537,43.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
16
+ claude-opus-4-8,baseline,none,hf-leaderboard-v1,significance_level,370,1000,537,37.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
17
+ claude-opus-4-8,deepagents,DeepAgents,local-paper-v1,perfect,392,1000,174,39.2,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
18
+ claude-opus-4-8,deepagents,DeepAgents,hf-leaderboard-v1,compilation_success,834,1000,4,83.4,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
19
+ claude-opus-4-8,deepagents,DeepAgents,hf-leaderboard-v1,partial_replication,621,1000,170,62.1,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
20
+ claude-opus-4-8,deepagents,DeepAgents,hf-leaderboard-v1,coefficient_direction,793,1000,170,79.3,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
21
+ claude-opus-4-8,deepagents,DeepAgents,hf-leaderboard-v1,significance_level,696,1000,172,69.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
22
+ kimi-k3,baseline,none,local-paper-v1,perfect,230,1000,481,23.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
23
+ kimi-k3,baseline,none,hf-leaderboard-v1,compilation_success,526,1000,5,52.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
24
+ kimi-k3,baseline,none,hf-leaderboard-v1,partial_replication,366,1000,481,36.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
25
+ kimi-k3,baseline,none,hf-leaderboard-v1,coefficient_direction,494,1000,481,49.4,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
26
+ kimi-k3,baseline,none,hf-leaderboard-v1,significance_level,431,1000,481,43.1,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
27
+ kimi-k3,deepagents,DeepAgents 0.7.13,local-paper-v1,perfect,390,1000,159,39.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
28
+ kimi-k3,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,compilation_success,867,1000,4,86.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
29
+ kimi-k3,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,partial_replication,635,1000,156,63.5,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
30
+ kimi-k3,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,coefficient_direction,804,1000,156,80.4,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
31
+ kimi-k3,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,significance_level,709,1000,157,70.9,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
32
+ gemini-3.1-pro-preview,baseline,none,local-paper-v1,perfect,246,1000,462,24.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
33
+ gemini-3.1-pro-preview,baseline,none,hf-leaderboard-v1,compilation_success,543,1000,0,54.3,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
34
+ gemini-3.1-pro-preview,baseline,none,hf-leaderboard-v1,partial_replication,366,1000,460,36.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
35
+ gemini-3.1-pro-preview,baseline,none,hf-leaderboard-v1,coefficient_direction,506,1000,460,50.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
36
+ gemini-3.1-pro-preview,baseline,none,hf-leaderboard-v1,significance_level,437,1000,460,43.7,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
37
+ gemini-3.1-pro-preview,deepagents,DeepAgents 0.7.13,local-paper-v1,perfect,391,1000,155,39.1,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
38
+ gemini-3.1-pro-preview,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,compilation_success,850,1000,0,85.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
39
+ gemini-3.1-pro-preview,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,partial_replication,632,1000,153,63.2,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
40
+ gemini-3.1-pro-preview,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,coefficient_direction,811,1000,153,81.1,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
41
+ gemini-3.1-pro-preview,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,significance_level,718,1000,154,71.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
42
+ qwen3.7-max,baseline,none,local-paper-v1,perfect,198,1000,519,19.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
43
+ qwen3.7-max,baseline,none,hf-leaderboard-v1,compilation_success,486,1000,0,48.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
44
+ qwen3.7-max,baseline,none,hf-leaderboard-v1,partial_replication,315,1000,518,31.5,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
45
+ qwen3.7-max,baseline,none,hf-leaderboard-v1,coefficient_direction,454,1000,518,45.4,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
46
+ qwen3.7-max,baseline,none,hf-leaderboard-v1,significance_level,396,1000,518,39.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
47
+ qwen3.7-max,deepagents,DeepAgents 0.7.13,local-paper-v1,perfect,248,1000,481,24.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
48
+ qwen3.7-max,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,compilation_success,523,1000,7,52.3,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
49
+ qwen3.7-max,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,partial_replication,379,1000,481,37.9,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
50
+ qwen3.7-max,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,coefficient_direction,488,1000,481,48.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
51
+ qwen3.7-max,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,significance_level,433,1000,481,43.3,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
52
+ deepseek-v4-pro,baseline,none,local-paper-v1,perfect,129,1000,723,12.9,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
53
+ deepseek-v4-pro,baseline,none,hf-leaderboard-v1,compilation_success,281,1000,0,28.1,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
54
+ deepseek-v4-pro,baseline,none,hf-leaderboard-v1,partial_replication,195,1000,723,19.5,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
55
+ deepseek-v4-pro,baseline,none,hf-leaderboard-v1,coefficient_direction,260,1000,723,26.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
56
+ deepseek-v4-pro,baseline,none,hf-leaderboard-v1,significance_level,236,1000,723,23.6,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
57
+ deepseek-v4-pro,deepagents,DeepAgents 0.7.13,local-paper-v1,perfect,183,1000,648,18.3,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
58
+ deepseek-v4-pro,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,compilation_success,352,1000,0,35.2,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
59
+ deepseek-v4-pro,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,partial_replication,270,1000,648,27.0,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
60
+ deepseek-v4-pro,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,coefficient_direction,338,1000,648,33.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
61
+ deepseek-v4-pro,deepagents,DeepAgents 0.7.13,hf-leaderboard-v1,significance_level,308,1000,648,30.8,False,731111974cf4d1a3c7a4f848a899f0b0708dd12b
leaderboard.js ADDED
@@ -0,0 +1,192 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ 'use strict';
2
+ const $ = id => document.getElementById(id);
3
+ const metricKeys = ['perfect', 'partial_replication', 'compilation_success', 'coefficient_direction', 'significance_level'];
4
+ const en = Object.fromEntries([...document.querySelectorAll('[data-i18n]')].map(el => [el.dataset.i18n, el.innerHTML]));
5
+ Object.assign(en, {
6
+ model: 'Model', rank: '#', score: 'Score', evidenceCol: 'Evidence', pp: 'pp',
7
+ passed: 'successes', metricUnknown: 'metric unknown', review: 'Evidence gaps',
8
+ config: 'Config', recordsLink: 'Results', allSealed: 'Archived',
9
+ taskUnknown: 'task status unknown', invalid: 'invalid evidence', interruptions: 'interruptions',
10
+ historicalStatus: 'Historical status; task unknown count not exported',
11
+ groupLocal: 'Local paper profile', groupHF: 'HF-style profile · parity unverified',
12
+ loading: 'Loading archived results…', searchPlaceholder: 'Search models…',
13
+ matched: '{n} of {total} models', localProfile: 'local-paper-v1', hfProfile: 'hf-leaderboard-v1 · parity unverified',
14
+ perfectDesc: 'Coefficient and standard-error relative errors ≤ 1%, and p-value absolute error ≤ 0.01, all at once.',
15
+ partial_replicationDesc: 'Coefficient relative error ≤ 5%. No standard-error or p-value condition.',
16
+ compilation_successDesc: 'Verified code execution completed successfully; a valid prediction JSON is not required.',
17
+ coefficient_directionDesc: 'The coefficient has the same strictly positive or negative sign as the reference.',
18
+ significance_levelDesc: 'Matching p-value category: p < .01, p < .05, p < .1, or otherwise. No direction condition.',
19
+ });
20
+ const zh = {
21
+ dataset: '数据集 ↗', archive: '结果存档 ↗', edition: '研究榜单 · 2026 年 9 月',
22
+ title: '同样的模型,<br><span>两种执行方式。</span>',
23
+ intro: '在真实计量经济学复现任务上,对比单次 Agent 与加入 DeepAgents Harness 后的表现。',
24
+ models: '个模型', groups: '组实验', tasks: '题 / 组', updated: '发布于 2026 年 9 月 17 日',
25
+ single: '单次 Agent', harness: 'Agent + Harness',
26
+ singleDesc: '一次模型调用生成代码,然后执行;不进行多轮 Agent 循环。',
27
+ harnessDesc: 'DeepAgents 进行规划、工具调用与代码修订;最多 6 次模型调用,最后执行。',
28
+ resultsLabel: '01 / 评测结果', rankings: 'Agent 与 Harness 对照榜单', research: '研究结果 · 阶段版',
29
+ scope: '基于已存档结果的本地评分,尚未验证与官方评分器完全一致。两组预算及不同批次协议存在差异,提升值用于描述观察结果,不代表等成本对比。',
30
+ compare: '双组对照', download: '下载 CSV ↓', metric: '评分指标',
31
+ perfect: '完整复现率 · 本地口径', partial_replication: '部分复现率 · HF 口径',
32
+ compilation_success: '执行成功率 · HF 口径', coefficient_direction: '系数方向正确率 · HF 口径',
33
+ significance_level: '显著性水平正确率 · HF 口径',
34
+ sort: '排序方式', harnessScore: 'Harness 组成绩', singleScore: '单次组成绩', lift: '提升', search: '查找模型',
35
+ error: '结果加载失败,请重试或打开结果存档。', retry: '重试', empty: '没有匹配的模型。',
36
+ denominator: '所有指标固定以 1,000 题为分母,未知和无效记录不计为成功。',
37
+ methodLabel: '02 / 如何解读', methodTitle: '每个成绩都有据可查。', historical: '查看历史榜单 ↗',
38
+ fixedTasks: '固定的题目集合', fixedDesc: '所有组使用相同的 Selected_1000 题号和数据集版本。成绩 = 成功数 ÷ 1,000,失败和未知记录始终保留在分母中。',
39
+ separateMetrics: '两套评分口径', profilesDesc: '完整复现率采用本地论文口径。其余四项 HF 指标由本地实现复现网页定义,尚未验证与官方评分器一致。',
40
+ budgetTitle: '结合预算看提升', budgetDesc: '单次组使用 1 次模型调用;DeepAgents 最多使用 6 次模型调用和 4 次试运行工具调用。历史恢复、时限和运行协议有差异,不能作为等成本的因果估计。',
41
+ evidence: '证据状态与指标定义',
42
+ unknownDesc: '“指标未知”表示该指标无法判断,可能源于执行失败或输出缺失;它与“任务最终状态未知”不同。两者均不剔除,也不计为成功。',
43
+ evidenceCaption: '各组已接收存档中的状态', model: '模型',
44
+ verification: '四项 HF 指标已与逐题存档标记核对。Sol 和 Opus 的完整复现率来自已接收汇总;其余四个模型还可逐题核对本地评分标记。本次网页更新没有重新运行或重新评分实验。',
45
+ archiveNote: '各组原始存档及当时的发布元数据保持不变,本页是基于存档的新展示。本版不包含 GPT-5.5 和尚未存档的实验。',
46
+ footer: '衡量计量经济学复现能力。', source: '来源快照 ↗', json: '数据 JSON ↗', project: '项目页 ↗',
47
+ rank: '#', score: '成绩', evidenceCol: '证据', pp: '百分点', passed: '题成功', metricUnknown: '指标未知', review: '存在证据缺口',
48
+ config: '配置', recordsLink: '逐题结果', allSealed: '已存档', taskUnknown: '任务状态未知', invalid: '无效证据', interruptions: '中断记录',
49
+ historicalStatus: '历史存档,未导出任务未知总数', groupLocal: '本地论文口径', groupHF: 'HF 网页口径 · 一致性待验证',
50
+ loading: '正在加载存档结果…', searchPlaceholder: '搜索模型…', matched: '显示 {n} / {total} 个模型',
51
+ localProfile: 'local-paper-v1 · 本地口径', hfProfile: 'hf-leaderboard-v1 · 一致性待验证',
52
+ perfectDesc: '系数与标准误的相对误差均 ≤ 1%,同时 p 值绝对误差 ≤ 0.01。',
53
+ partial_replicationDesc: '系数相对误差 ≤ 5%,不要求标准误或 p 值达标。',
54
+ compilation_successDesc: '有可信证据证明代码完整执行成功,不要求生成有效的预测 JSON。',
55
+ coefficient_directionDesc: '预测系数与参考系数具有相同的严格正号或负号。',
56
+ significance_levelDesc: 'p 值类别一致:p < .01、p < .05、p < .1 或其他,不要求系数方向一致。',
57
+ };
58
+ let language = 'en';
59
+ try { language = localStorage.getItem('inferencenet-language') === 'zh' ? 'zh' : 'en'; } catch (_) {}
60
+ let data = null;
61
+ let view = 'compare';
62
+ let sortBy = 'deepagents';
63
+ const t = key => (language === 'zh' ? zh[key] : en[key]) ?? en[key] ?? key;
64
+ const esc = value => String(value).replace(/[&<>"']/g, char => ({'&':'&amp;', '<':'&lt;', '>':'&gt;', '"':'&quot;', "'":'&#39;'}[char]));
65
+ const sourceURL = (path, tree = false) => `https://huggingface.co/spaces/CamoAiLab/InferenceNet-Leaderboard/${tree ? 'tree' : 'blob'}/${data.source_revision}/${path}`;
66
+ const external = (url, label) => `<a href="${esc(url)}" target="_blank" rel="noopener noreferrer">${esc(label)} ↗</a>`;
67
+
68
+ function applyLanguage() {
69
+ document.documentElement.lang = language === 'zh' ? 'zh-CN' : 'en';
70
+ document.querySelectorAll('[data-i18n]').forEach(el => { el.innerHTML = t(el.dataset.i18n); });
71
+ $('language').textContent = language === 'en' ? '中文' : 'EN';
72
+ $('language').setAttribute('aria-label', language === 'en' ? 'Switch to Chinese' : 'Switch to English');
73
+ $('search').placeholder = t('searchPlaceholder');
74
+ $('load-state').textContent = t('loading');
75
+ document.querySelector('[data-group=local]').label = t('groupLocal');
76
+ document.querySelector('[data-group=hf]').label = t('groupHF');
77
+ $('definitions').innerHTML = metricKeys.map(key => `<li><strong>${esc(t(key))}:</strong> ${esc(t(key + 'Desc'))}</li>`).join('');
78
+ render();
79
+ }
80
+
81
+ function validate(candidate) {
82
+ if (candidate.schema_version !== 1 || candidate.models?.length !== 6 || candidate.groups !== 12 || candidate.records !== 12000 || candidate.tasks_per_group !== 1000 || candidate.official_parity_verified !== false || !/^[a-f0-9]{40}$/.test(candidate.source_revision)) throw new Error('Invalid leaderboard snapshot');
83
+ const ids = new Set();
84
+ for (const model of candidate.models) {
85
+ if (!/^[a-z0-9.-]+$/.test(model.id) || ids.has(model.id) || typeof model.name !== 'string') throw new Error('Invalid model');
86
+ ids.add(model.id);
87
+ for (const armId of ['baseline', 'deepagents']) {
88
+ const arm = model.arms?.[armId];
89
+ if (arm?.path !== `results/${model.id}/${armId}` || typeof arm.complete !== 'boolean') throw new Error('Invalid arm');
90
+ for (const key of metricKeys) {
91
+ const metric = arm.metrics?.[key];
92
+ if (!metric || metric.denominator !== 1000 || !Number.isInteger(metric.count) || !Number.isInteger(metric.unknown) || metric.count < 0 || metric.unknown < 0 || metric.count + metric.unknown > 1000 || !Number.isFinite(metric.score) || Math.abs(metric.score - metric.count / 10) > 1e-8 || metric.profile !== (key === 'perfect' ? 'local-paper-v1' : 'hf-leaderboard-v1')) throw new Error('Invalid metric');
93
+ }
94
+ }
95
+ }
96
+ return candidate;
97
+ }
98
+
99
+ function scoreCell(arm, key, style) {
100
+ const m = arm.metrics[key];
101
+ return `<td class="score-cell ${style}"><span class="score">${m.score.toFixed(1)}<small>%</small></span><div class="track" aria-hidden="true"><div class="fill" style="width:${m.score}%"></div></div><span class="counts">${m.count} / 1,000 ${esc(t('passed'))}</span><span class="unknown">${esc(t('metricUnknown'))}: ${m.unknown}</span></td>`;
102
+ }
103
+
104
+ function evidenceState(arm) {
105
+ let status = '';
106
+ if (arm.task_unknown_count !== null) status = `${arm.task_unknown_count} ${t('taskUnknown')} · ${arm.invalid_evidence_count} ${t('invalid')}`;
107
+ else status = `${arm.interruption_count ?? '—'} ${t('interruptions')}<span>${esc(t('historicalStatus'))}</span>`;
108
+ return `<td>${status}<span>${external(sourceURL(arm.path + '/config.json'), t('config'))} · ${external(sourceURL(arm.path + '/summary.json'), t('recordsLink'))}</span></td>`;
109
+ }
110
+
111
+ function render() {
112
+ const key = $('metric').value;
113
+ $('metric-description').innerHTML = `<span class="profile">${esc(t(key === 'perfect' ? 'localProfile' : 'hfProfile'))}</span>${esc(t(key + 'Desc'))}`;
114
+ if (!data) return;
115
+ const search = $('search').value.toLowerCase().trim();
116
+ const count = (m, arm) => m.arms[arm].metrics[key].count;
117
+ const value = m => view !== 'compare' ? count(m, view) : sortBy === 'gain' ? count(m, 'deepagents') - count(m, 'baseline') : count(m, sortBy);
118
+ const models = data.models.filter(m => `${m.name} ${m.id}`.toLowerCase().includes(search)).sort((a, b) => value(b) - value(a) || a.name.localeCompare(b.name));
119
+ $('sort-control').hidden = view !== 'compare';
120
+ $('table-wrap').hidden = models.length === 0;
121
+ $('empty').hidden = models.length !== 0;
122
+ $('result-count').textContent = t('matched').replace('{n}', models.length).replace('{total}', data.models.length);
123
+ $('caption').textContent = `${t(view === 'compare' ? 'compare' : view === 'baseline' ? 'single' : 'harness')} — ${t(key)}`;
124
+ const th = (text, cls = '') => `<th scope="col" class="${cls}">${esc(text)}</th>`;
125
+ $('table-head').innerHTML = '<tr>' + th(t('rank'), 'rank') + th(t('model')) + (view === 'compare' ? th(t('single'), 'baseline') + th(t('harness'), 'harness') + th(t('lift')) : th(t('score'), view === 'baseline' ? 'baseline' : 'harness')) + th(t('evidenceCol')) + '</tr>';
126
+ let lastValue = null, rank = 0;
127
+ $('table-body').innerHTML = models.map((model, index) => {
128
+ const currentValue = value(model);
129
+ if (currentValue !== lastValue) rank = index + 1;
130
+ lastValue = currentValue;
131
+ const arms = model.arms;
132
+ const gap = view === 'compare' ? !arms.baseline.complete || !arms.deepagents.complete : !arms[view].complete;
133
+ const badge = gap ? `<span class="tag">${esc(t('review'))}</span>` : '';
134
+ const identity = `<td class="rank">${String(rank).padStart(2, '0')}</td><th scope="row" class="model-cell"><div class="model-name">${esc(model.name)}</div><div class="model-meta">1,000 ${language === 'zh' ? '题 / 组' : 'tasks / group'} ${badge}</div></th>`;
135
+ let scores = '', sources = '';
136
+ if (view === 'compare') {
137
+ const gain = (count(model, 'deepagents') - count(model, 'baseline')) / 10;
138
+ scores = scoreCell(arms.baseline, key, 'baseline') + scoreCell(arms.deepagents, key, 'harness') + `<td class="gain ${gain < 0 ? 'negative' : ''}">${gain > 0 ? '+' : ''}${gain.toFixed(1)}<small>${esc(t('pp'))}</small></td>`;
139
+ sources = external(sourceURL(arms.baseline.path, true), 'A') + external(sourceURL(arms.deepagents.path, true), 'B');
140
+ } else {
141
+ scores = scoreCell(arms[view], key, view === 'baseline' ? 'baseline' : 'harness');
142
+ sources = external(sourceURL(arms[view].path + '/results.jsonl'), t('recordsLink')) + external(sourceURL(arms[view].path + '/config.json'), t('config'));
143
+ }
144
+ return `<tr data-model="${esc(model.id)}">${identity}${scores}<td class="source-cell">${sources}</td></tr>`;
145
+ }).join('');
146
+ $('evidence-body').innerHTML = data.models.map(m => `<tr><th scope="row">${esc(m.name)}</th>${evidenceState(m.arms.baseline)}${evidenceState(m.arms.deepagents)}</tr>`).join('');
147
+ }
148
+
149
+ async function loadData() {
150
+ data = null;
151
+ $('retry').disabled = true;
152
+ $('error').hidden = true;
153
+ $('load-state').hidden = false;
154
+ $('table-wrap').hidden = true;
155
+ $('empty').hidden = true;
156
+ $('result-count').textContent = '';
157
+ $('evidence-body').replaceChildren();
158
+ for (const id of ['model-count', 'group-count', 'task-count']) $(id).textContent = '—';
159
+ try {
160
+ const response = await fetch('./leaderboard-data.json', {cache: 'no-cache'});
161
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
162
+ data = validate(await response.json());
163
+ $('model-count').textContent = data.models.length;
164
+ $('group-count').textContent = data.groups;
165
+ $('task-count').textContent = data.tasks_per_group.toLocaleString('en-US');
166
+ $('revision-link').href = sourceURL('results', true);
167
+ render();
168
+ } catch (error) {
169
+ console.error('Leaderboard data could not be loaded:', error);
170
+ $('error').hidden = false;
171
+ } finally {
172
+ $('load-state').hidden = true;
173
+ $('retry').disabled = false;
174
+ }
175
+ }
176
+
177
+ document.querySelectorAll('[data-view]').forEach(button => button.addEventListener('click', () => {
178
+ view = button.dataset.view;
179
+ document.querySelectorAll('[data-view]').forEach(el => el.setAttribute('aria-pressed', String(el === button)));
180
+ render();
181
+ }));
182
+ $('metric').addEventListener('change', render);
183
+ $('sort').addEventListener('change', event => { sortBy = event.target.value; render(); });
184
+ $('search').addEventListener('input', render);
185
+ $('retry').addEventListener('click', loadData);
186
+ $('language').addEventListener('click', () => {
187
+ language = language === 'en' ? 'zh' : 'en';
188
+ try { localStorage.setItem('inferencenet-language', language); } catch (_) {}
189
+ applyLanguage();
190
+ });
191
+ applyLanguage();
192
+ loadData();
legacy.html ADDED
@@ -0,0 +1,764 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>InferenceNet Econometrics Benchmark Leaderboard</title>
7
+ <link rel="preconnect" href="https://fonts.googleapis.com">
8
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
9
+ <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
10
+ <style>
11
+ :root {
12
+ --bg-primary: #0b0f19;
13
+ --bg-secondary: #111827;
14
+ --bg-tertiary: #1a2234;
15
+ --bg-hover: #1e293b;
16
+ --border: #1f2937;
17
+ --border-light: #374151;
18
+ --text-primary: #f9fafb;
19
+ --text-secondary: #9ca3af;
20
+ --text-muted: #6b7280;
21
+ --accent-blue: #3b82f6;
22
+ --accent-blue-dim: rgba(59, 130, 246, 0.15);
23
+ --accent-gold: #fbbf24;
24
+ --accent-green: #22c55e;
25
+ --accent-green-dim: rgba(34, 197, 94, 0.12);
26
+ --radius: 10px;
27
+ --radius-sm: 6px;
28
+ }
29
+
30
+ * {
31
+ box-sizing: border-box;
32
+ margin: 0;
33
+ padding: 0;
34
+ }
35
+
36
+ body {
37
+ font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
38
+ background: var(--bg-primary);
39
+ color: var(--text-primary);
40
+ line-height: 1.5;
41
+ min-height: 100vh;
42
+ }
43
+
44
+ a {
45
+ color: var(--accent-blue);
46
+ text-decoration: none;
47
+ }
48
+
49
+ a:hover {
50
+ text-decoration: underline;
51
+ }
52
+
53
+ .page {
54
+ max-width: 980px;
55
+ margin: 0 auto;
56
+ padding: 28px 24px 64px;
57
+ }
58
+
59
+ /* Breadcrumb */
60
+ .breadcrumb {
61
+ display: flex;
62
+ align-items: center;
63
+ gap: 8px;
64
+ font-size: 14px;
65
+ color: var(--text-secondary);
66
+ margin-bottom: 20px;
67
+ }
68
+
69
+ .breadcrumb svg {
70
+ opacity: 0.6;
71
+ }
72
+
73
+ .breadcrumb span {
74
+ color: var(--text-muted);
75
+ }
76
+
77
+ /* Header */
78
+ .header {
79
+ margin-bottom: 24px;
80
+ }
81
+
82
+ .title-row {
83
+ display: flex;
84
+ align-items: flex-start;
85
+ gap: 12px;
86
+ margin-bottom: 12px;
87
+ }
88
+
89
+ .title-icon {
90
+ width: 40px;
91
+ height: 40px;
92
+ background: linear-gradient(135deg, #fbbf24, #f59e0b);
93
+ border-radius: var(--radius-sm);
94
+ display: flex;
95
+ align-items: center;
96
+ justify-content: center;
97
+ font-size: 20px;
98
+ flex-shrink: 0;
99
+ }
100
+
101
+ .title-block h1 {
102
+ font-size: 22px;
103
+ font-weight: 600;
104
+ letter-spacing: -0.02em;
105
+ line-height: 1.3;
106
+ }
107
+
108
+ .title-block .subtitle {
109
+ font-size: 14px;
110
+ color: var(--text-secondary);
111
+ margin-top: 4px;
112
+ }
113
+ .intro-desc {
114
+ margin-top:14px;
115
+ font-size:14px;
116
+ color:var(--text-secondary);
117
+ line-height:1.6;
118
+ }
119
+ .header-links {
120
+ margin-top:12px;
121
+ font-size:14px;
122
+ }
123
+ .like-btn {
124
+ margin-left: auto;
125
+ display: flex;
126
+ align-items: center;
127
+ gap: 6px;
128
+ padding: 6px 14px;
129
+ background: var(--bg-secondary);
130
+ border: 1px solid var(--border);
131
+ border-radius: 999px;
132
+ color: var(--text-secondary);
133
+ font-size: 13px;
134
+ cursor: default;
135
+ flex-shrink: 0;
136
+ }
137
+
138
+ /* Tabs */
139
+ .tab-bar {
140
+ display: flex;
141
+ gap: 0;
142
+ border-bottom: 1px solid var(--border);
143
+ margin-bottom: 0;
144
+ overflow-x: auto;
145
+ }
146
+
147
+ .tab {
148
+ padding: 12px 18px;
149
+ background: none;
150
+ border: none;
151
+ color: var(--text-muted);
152
+ font-family: inherit;
153
+ font-size: 14px;
154
+ font-weight: 500;
155
+ cursor: pointer;
156
+ white-space: nowrap;
157
+ position: relative;
158
+ transition: color 0.15s;
159
+ }
160
+
161
+ .tab:hover {
162
+ color: var(--text-secondary);
163
+ }
164
+
165
+ .tab.active {
166
+ color: var(--text-primary);
167
+ }
168
+
169
+ .tab.active::after {
170
+ content: "";
171
+ position: absolute;
172
+ bottom: -1px;
173
+ left: 0;
174
+ right: 0;
175
+ height: 2px;
176
+ background: var(--text-primary);
177
+ border-radius: 2px 2px 0 0;
178
+ }
179
+
180
+ /* Panels */
181
+ .panel {
182
+ display: none;
183
+ }
184
+
185
+ .panel.show {
186
+ display: block;
187
+ }
188
+
189
+ /* Leaderboard card */
190
+ .leaderboard-card {
191
+ background: var(--bg-secondary);
192
+ border: 1px solid var(--border);
193
+ border-radius: var(--radius);
194
+ overflow: hidden;
195
+ margin-top: 24px;
196
+ }
197
+
198
+ .leaderboard-header {
199
+ display: flex;
200
+ align-items: center;
201
+ gap: 10px;
202
+ padding: 16px 20px;
203
+ border-bottom: 1px solid var(--border);
204
+ }
205
+
206
+ .leaderboard-header h2 {
207
+ font-size: 15px;
208
+ font-weight: 600;
209
+ display: flex;
210
+ align-items: center;
211
+ gap: 8px;
212
+ }
213
+
214
+ .badge-official {
215
+ display: inline-flex;
216
+ align-items: center;
217
+ gap: 4px;
218
+ padding: 3px 10px;
219
+ background: var(--accent-blue-dim);
220
+ border: 1px solid rgba(59, 130, 246, 0.3);
221
+ border-radius: 999px;
222
+ font-size: 11px;
223
+ font-weight: 500;
224
+ color: var(--accent-blue);
225
+ }
226
+
227
+ /* Table header row */
228
+ .lb-columns {
229
+ display: grid;
230
+ grid-template-columns: 48px 1fr 100px;
231
+ padding: 10px 20px;
232
+ font-size: 11px;
233
+ font-weight: 600;
234
+ text-transform: uppercase;
235
+ letter-spacing: 0.06em;
236
+ color: var(--text-muted);
237
+ border-bottom: 1px solid var(--border);
238
+ }
239
+
240
+ .lb-columns .col-score {
241
+ text-align: right;
242
+ }
243
+
244
+ /* Leaderboard rows */
245
+ .lb-row {
246
+ display: grid;
247
+ grid-template-columns: 48px 1fr 100px;
248
+ align-items: center;
249
+ padding: 14px 20px;
250
+ border-bottom: 1px solid var(--border);
251
+ transition: background 0.12s;
252
+ }
253
+
254
+ .lb-row:last-child {
255
+ border-bottom: none;
256
+ }
257
+
258
+ .lb-row:hover {
259
+ background: var(--bg-hover);
260
+ }
261
+
262
+ .lb-row.top-1 {
263
+ background: rgba(251, 191, 36, 0.04);
264
+ }
265
+
266
+ .lb-rank {
267
+ font-size: 14px;
268
+ color: var(--text-muted);
269
+ font-weight: 500;
270
+ display: flex;
271
+ align-items: center;
272
+ gap: 4px;
273
+ }
274
+
275
+ .lb-model {
276
+ display: flex;
277
+ align-items: center;
278
+ gap: 10px;
279
+ min-width: 0;
280
+ }
281
+
282
+ .model-avatar {
283
+ width: 28px;
284
+ height: 28px;
285
+ border-radius: var(--radius-sm);
286
+ background: var(--bg-tertiary);
287
+ border: 1px solid var(--border-light);
288
+ display: flex;
289
+ align-items: center;
290
+ justify-content: center;
291
+ font-size: 11px;
292
+ font-weight: 700;
293
+ color: var(--text-secondary);
294
+ flex-shrink: 0;
295
+ text-transform: uppercase;
296
+ }
297
+
298
+ .model-info {
299
+ min-width: 0;
300
+ }
301
+
302
+ .model-name {
303
+ font-size: 14px;
304
+ font-weight: 500;
305
+ color: var(--text-primary);
306
+ white-space: nowrap;
307
+ overflow: hidden;
308
+ text-overflow: ellipsis;
309
+ }
310
+
311
+ .model-meta {
312
+ display: flex;
313
+ align-items: center;
314
+ gap: 6px;
315
+ margin-top: 3px;
316
+ }
317
+
318
+ .status-badge {
319
+ display: inline-flex;
320
+ align-items: center;
321
+ gap: 3px;
322
+ padding: 1px 8px;
323
+ border-radius: 999px;
324
+ font-size: 11px;
325
+ font-weight: 500;
326
+ }
327
+
328
+ .status-badge.verified {
329
+ background: var(--accent-green-dim);
330
+ color: var(--accent-green);
331
+ border: 1px solid rgba(34, 197, 94, 0.25);
332
+ }
333
+
334
+ .status-badge.self-reported {
335
+ background: var(--bg-tertiary);
336
+ color: var(--text-muted);
337
+ border: 1px solid var(--border);
338
+ }
339
+
340
+ .lb-score {
341
+ text-align: right;
342
+ font-size: 15px;
343
+ font-weight: 600;
344
+ color: var(--text-primary);
345
+ font-variant-numeric: tabular-nums;
346
+ }
347
+
348
+ .lb-score-bar {
349
+ margin-top: 4px;
350
+ height: 3px;
351
+ background: var(--bg-tertiary);
352
+ border-radius: 999px;
353
+ overflow: hidden;
354
+ }
355
+
356
+ .lb-score-bar-fill {
357
+ height: 100%;
358
+ background: linear-gradient(90deg, var(--accent-blue), #6366f1);
359
+ border-radius: 999px;
360
+ transition: width 0.4s ease;
361
+ }
362
+
363
+ .lb-row.top-1 .lb-score-bar-fill {
364
+ background: linear-gradient(90deg, var(--accent-gold), #f59e0b);
365
+ }
366
+
367
+ /* Show more */
368
+ .show-more {
369
+ display: flex;
370
+ align-items: center;
371
+ justify-content: center;
372
+ gap: 6px;
373
+ padding: 14px;
374
+ color: var(--text-secondary);
375
+ font-size: 13px;
376
+ cursor: pointer;
377
+ border-top: 1px solid var(--border);
378
+ transition: color 0.15s, background 0.15s;
379
+ }
380
+
381
+ .show-more:hover {
382
+ color: var(--text-primary);
383
+ background: var(--bg-hover);
384
+ }
385
+
386
+ /* Metric definition card */
387
+ .metric-card {
388
+ margin-top: 32px;
389
+ background: var(--bg-secondary);
390
+ border: 1px solid var(--border);
391
+ border-radius: var(--radius);
392
+ padding: 20px 24px;
393
+ }
394
+
395
+ .metric-card h3 {
396
+ font-size: 14px;
397
+ font-weight: 600;
398
+ margin-bottom: 14px;
399
+ display: flex;
400
+ align-items: center;
401
+ gap: 8px;
402
+ color: var(--text-primary);
403
+ }
404
+
405
+ .metric-list {
406
+ list-style: none;
407
+ display: flex;
408
+ flex-direction: column;
409
+ gap: 10px;
410
+ }
411
+
412
+ .metric-list li {
413
+ font-size: 13px;
414
+ color: var(--text-secondary);
415
+ padding-left: 16px;
416
+ position: relative;
417
+ }
418
+
419
+ .metric-list li::before {
420
+ content: "";
421
+ position: absolute;
422
+ left: 0;
423
+ top: 8px;
424
+ width: 6px;
425
+ height: 6px;
426
+ border-radius: 50%;
427
+ background: var(--accent-blue);
428
+ }
429
+
430
+ .metric-list strong {
431
+ color: var(--text-primary);
432
+ font-weight: 500;
433
+ }
434
+
435
+ .metric-note {
436
+ margin-top: 16px;
437
+ padding-top: 14px;
438
+ border-top: 1px solid var(--border);
439
+ font-size: 12px;
440
+ color: var(--text-muted);
441
+ }
442
+
443
+ /* Loading & error states */
444
+ .loading {
445
+ padding: 48px 20px;
446
+ text-align: center;
447
+ color: var(--text-muted);
448
+ font-size: 14px;
449
+ }
450
+
451
+ .loading-spinner {
452
+ width: 24px;
453
+ height: 24px;
454
+ border: 2px solid var(--border);
455
+ border-top-color: var(--accent-blue);
456
+ border-radius: 50%;
457
+ animation: spin 0.7s linear infinite;
458
+ margin: 0 auto 12px;
459
+ }
460
+
461
+ @keyframes spin {
462
+ to { transform: rotate(360deg); }
463
+ }
464
+
465
+ .error-banner {
466
+ margin-top: 16px;
467
+ padding: 12px 16px;
468
+ background: rgba(239, 68, 68, 0.1);
469
+ border: 1px solid rgba(239, 68, 68, 0.3);
470
+ border-radius: var(--radius-sm);
471
+ color: #fca5a5;
472
+ font-size: 13px;
473
+ text-align: center;
474
+ }
475
+
476
+ .hidden { display: none !important; }
477
+
478
+ @media (max-width: 600px) {
479
+ .page { padding: 16px 16px 48px; }
480
+ .title-row { flex-wrap: wrap; }
481
+ .like-btn { margin-left: 0; }
482
+ .lb-columns, .lb-row {
483
+ grid-template-columns: 36px 1fr 72px;
484
+ padding-left: 14px;
485
+ padding-right: 14px;
486
+ }
487
+ .model-name { font-size: 13px; }
488
+ }
489
+ </style>
490
+ </head>
491
+ <body>
492
+ <div style="background:#272419;color:#f1d6a0;padding:16px 24px;font:14px sans-serif;line-height:1.6">Historical leaderboard — original results and methodology. Separate protocols; do not pool with the September research comparison. <a href="./index.html" style="color:#78dbc0;margin-left:12px">Open the updated Agent &amp; Harness leaderboard →</a></div>
493
+ <div class="page">
494
+ <nav class="breadcrumb">
495
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
496
+ <ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/>
497
+ </svg>
498
+ <a href="https://huggingface.co/datasets/CamoAiLab/Infernet" target="_blank">Datasets</a>
499
+ <span>/</span>
500
+ <span>CamoAiLab/Infernet</span>
501
+ </nav>
502
+
503
+ <header class="header">
504
+ <div class="title-row">
505
+ <div class="title-icon">🏆</div>
506
+ <div class="title-block">
507
+ <h1>Infernet Econometrics Benchmark</h1>
508
+ <p class="subtitle">CamoAiLab · HKU CAMO</p>
509
+ <p class="intro-desc">
510
+ An evaluation benchmark for large‑language‑model agents, measuring the capability to reproduce real‑world econometric empirical studies: generating executable code, replicating regression outputs, and recovering correct treatment‑effect coefficient signs.
511
+ </p>
512
+ <div class="header-links">
513
+ 🔗 <a href="https://huggingface.co/datasets/CamoAiLab/Infernet" target="_blank">Dataset</a>
514
+ &nbsp;|&nbsp;
515
+ 📄 <a href="https://arxiv.org/abs/2506.00856" target="_blank">Paper</a>
516
+ &nbsp;|&nbsp;
517
+ 🐙 <a href="https://github.com/HKU-Business-AI-Center/Econometrics-Agent" target="_blank">GitHub</a>
518
+ </div>
519
+ </div>
520
+ <div class="like-btn">
521
+ <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
522
+ <path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/>
523
+ </svg>
524
+ Leaderboard
525
+ </div>
526
+ </div>
527
+ </header>
528
+
529
+ <div class="tab-bar">
530
+ <button class="tab active" data-idx="0">Partial Replication</button>
531
+ <button class="tab" data-idx="1">Compilation Success</button>
532
+ <button class="tab" data-idx="2">Coefficient Direction</button>
533
+ <button class="tab" data-idx="3">Significant Level Correctness</button>
534
+ </div>
535
+
536
+ <div class="panel show" id="panel-rep">
537
+ <div class="leaderboard-card">
538
+ <div class="leaderboard-header">
539
+ <h2>
540
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
541
+ Leaderboard
542
+ </h2>
543
+ <span class="badge-official">Official Benchmark</span>
544
+ </div>
545
+ <div class="lb-columns">
546
+ <span>#</span>
547
+ <span>Model</span>
548
+ <span class="col-score">Score (0‑100)</span>
549
+ </div>
550
+ <div id="rows-rep"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
551
+ </div>
552
+ </div>
553
+
554
+ <div class="panel" id="panel-compile">
555
+ <div class="leaderboard-card">
556
+ <div class="leaderboard-header">
557
+ <h2>
558
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
559
+ Leaderboard
560
+ </h2>
561
+ <span class="badge-official">Official Benchmark</span>
562
+ </div>
563
+ <div class="lb-columns">
564
+ <span>#</span>
565
+ <span>Model</span>
566
+ <span class="col-score">Score (0‑100)</span>
567
+ </div>
568
+ <div id="rows-compile"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
569
+ </div>
570
+ </div>
571
+
572
+ <div class="panel" id="panel-dir">
573
+ <div class="leaderboard-card">
574
+ <div class="leaderboard-header">
575
+ <h2>
576
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
577
+ Leaderboard
578
+ </h2>
579
+ <span class="badge-official">Official Benchmark</span>
580
+ </div>
581
+ <div class="lb-columns">
582
+ <span>#</span>
583
+ <span>Model</span>
584
+ <span class="col-score">Score (0‑100)</span>
585
+ </div>
586
+ <div id="rows-dir"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
587
+ </div>
588
+ </div>
589
+
590
+ <!-- New panel for Significant Level Correctness -->
591
+ <div class="panel" id="panel-sig">
592
+ <div class="leaderboard-card">
593
+ <div class="leaderboard-header">
594
+ <h2>
595
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M18 20V10M12 20V4M6 20v-6"/></svg>
596
+ Leaderboard
597
+ </h2>
598
+ <span class="badge-official">Official Benchmark</span>
599
+ </div>
600
+ <div class="lb-columns">
601
+ <span>#</span>
602
+ <span>Model</span>
603
+ <span class="col-score">Score (0‑100)</span>
604
+ </div>
605
+ <div id="rows-sig"><div class="loading"><div class="loading-spinner"></div>Loading rankings…</div></div>
606
+ </div>
607
+ </div>
608
+
609
+ <div id="error-banner" class="error-banner hidden"></div>
610
+
611
+ <div class="metric-card">
612
+ <h3>
613
+ <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M12 16v-4M12 8h.01"/></svg>
614
+ Metric Definitions
615
+ </h3>
616
+ <ul class="metric-list">
617
+ <li><strong>Compilation Success:</strong> Generated econometric code executes completely without runtime or syntax errors.</li>
618
+ <li><strong>Partial Replication:</strong> The target treatment coefficient can be reproduced within a 5% relative error threshold.</li>
619
+ <li><strong>Correct Coefficient Direction:</strong> The sign (positive/negative) of the treatment‑effect coefficient matches ground‑truth results.</li>
620
+ <li><strong>Significant Level Correctness:</strong> The model correctly reproduces the statistical significance level of the treatment‑effect coefficient.</li>
621
+ </ul>
622
+ <div class="metric-note">
623
+ <em>Note:</em> Codex serves as a strong code‑specialized upper‑bound baseline with high overall metrics across all four evaluation dimensions. However, it only supports one‑shot code generation without agent‑level interactive planning or multi‑round revision capabilities, and its public API is no longer available. MetricsAI outperforms vanilla‑LLM and general‑purpose‑agent baselines for interactive real‑world econometric‑research workflows.
624
+ <br><br>
625
+ Dataset: <a href="https://huggingface.co/datasets/CamoAiLab/Infernet" target="_blank">CamoAiLab/Infernet</a>
626
+ </div>
627
+ </div>
628
+ </div>
629
+
630
+ <script>
631
+ const panels = document.querySelectorAll(".panel");
632
+ const tabs = document.querySelectorAll(".tab");
633
+ const INITIAL_SHOW = 10;
634
+
635
+ tabs.forEach(tab => {
636
+ tab.addEventListener("click", () => {
637
+ const idx = Number(tab.dataset.idx);
638
+ panels.forEach(p => p.classList.remove("show"));
639
+ tabs.forEach(t => t.classList.remove("active"));
640
+ panels[idx].classList.add("show");
641
+ tab.classList.add("active");
642
+ });
643
+ });
644
+
645
+ function parseCSV(text) {
646
+ text = text.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
647
+ const lines = text.trim().split("\n").filter(line => line.trim() !== "");
648
+ const headers = lines[0].split(",").map(h => h.trim());
649
+ const rows = [];
650
+ for (let i = 1; i < lines.length; i++) {
651
+ const vals = lines[i].split(",").map(v => v.trim());
652
+ const obj = {};
653
+ headers.forEach((h, idx) => { obj[h] = vals[idx]; });
654
+ rows.push(obj);
655
+ }
656
+ return rows;
657
+ }
658
+
659
+ function getAvatarLetter(modelId) {
660
+ const parts = modelId.split("/");
661
+ const name = parts.length > 1 ? parts[1] : parts[0];
662
+ return name.charAt(0).toUpperCase();
663
+ }
664
+
665
+ function getOrgColor(modelId) {
666
+ return "#3b82f6";
667
+ }
668
+
669
+ function buildRows(data, sortKey, containerId) {
670
+ const sorted = [...data].sort((a, b) => Number(b[sortKey]) - Number(a[sortKey]));
671
+ const container = document.getElementById(containerId);
672
+
673
+ if (sorted.length === 0) {
674
+ container.innerHTML = '<div class="loading">No data available</div>';
675
+ return;
676
+ }
677
+
678
+ function renderRows(limit) {
679
+ let html = "";
680
+ sorted.slice(0, limit).forEach((row, i) => {
681
+ const rank = i + 1;
682
+ const score = Number(row[sortKey]);
683
+ const modelId = row["Model ID"] || "Unknown";
684
+ const isTop = rank === 1;
685
+ const avatarColor = getOrgColor(modelId);
686
+
687
+
688
+ let rankDisplay = rank;
689
+ if(rank ===1) rankDisplay = "🥇";
690
+ else if(rank ===2) rankDisplay = "🥈";
691
+ else if(rank ===3) rankDisplay = "🥉";
692
+
693
+ html += `
694
+ <div class="lb-row${isTop ? " top-1" : ""}">
695
+ <div class="lb-rank">${rankDisplay}</div>
696
+ <div class="lb-model">
697
+ <div class="model-avatar" style="background:${avatarColor}22;border-color:${avatarColor}44;color:${avatarColor}">
698
+ ${getAvatarLetter(modelId)}
699
+ </div>
700
+ <div class="model-info">
701
+ <div class="model-name" title="${modelId}">${modelId}</div>
702
+ <div class="model-meta">
703
+ </div>
704
+ </div>
705
+ </div>
706
+ <div>
707
+ <div class="lb-score">${score.toFixed(1)}</div>
708
+ <div class="lb-score-bar">
709
+ <div class="lb-score-bar-fill" style="width:${Math.min(score, 100)}%"></div>
710
+ </div>
711
+ </div>
712
+ </div>`;
713
+ });
714
+ container.innerHTML = html;
715
+
716
+ const existingBtn = container.parentElement.querySelector(".show-more");
717
+ if (existingBtn) existingBtn.remove();
718
+
719
+ if (sorted.length > limit) {
720
+ const btn = document.createElement("div");
721
+ btn.className = "show-more";
722
+ btn.innerHTML = `Show all ${sorted.length} models <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg>`;
723
+ btn.addEventListener("click", () => {
724
+ renderRows(sorted.length);
725
+ });
726
+ container.parentElement.appendChild(btn);
727
+ }
728
+ }
729
+
730
+ renderRows(INITIAL_SHOW);
731
+ }
732
+
733
+ const csvUrl = "./results.csv";
734
+
735
+ async function loadData() {
736
+ try {
737
+ const res = await fetch(csvUrl);
738
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
739
+ const csvText = await res.text();
740
+ const data = parseCSV(csvText);
741
+
742
+ if (data.length === 0) {
743
+ throw new Error("CSV parsed zero rows");
744
+ }
745
+
746
+ buildRows(data, "Partial Replication", "rows-rep");
747
+ buildRows(data, "Compilation Success", "rows-compile");
748
+ buildRows(data, "Correct Coefficient Direction", "rows-dir");
749
+ buildRows(data, "Significant Level Correctness", "rows-sig");
750
+ } catch (err) {
751
+ console.error("load csv error", err);
752
+ const banner = document.getElementById("error-banner");
753
+ banner.textContent = `Failed to load ranking data: ${err.message}`;
754
+ banner.classList.remove("hidden");
755
+ ["rows-rep","rows-compile", "rows-dir","rows-sig"].forEach(id => {
756
+ document.getElementById(id).innerHTML = '<div class="loading">Unable to load data</div>';
757
+ });
758
+ }
759
+ }
760
+
761
+ loadData();
762
+ </script>
763
+ </body>
764
+ </html>