Spaces:
Running
Running
Deploy the website
Browse files- js/methods.js +8 -1
- js/overview.js +1 -1
- js/task.js +22 -17
- js/util.js +5 -4
js/methods.js
CHANGED
|
@@ -60,7 +60,14 @@ function continual(index) {
|
|
| 60 |
["Measure", ["Each continual agent is compared with the fresh agent of the same harness and model, on the run days and target dates both resolved:",
|
| 61 |
tex("\\delta = \\text{scaled CRPS}_{\\text{continual}} - \\text{scaled CRPS}_{\\text{fresh}}", true),
|
| 62 |
"Below 0 favors the continual agent. Each task page lists these pairs; the main leaderboards show fresh agents only."]]),
|
| 63 |
-
h("p", { class: "secondary small" }, md("Chains began on October 28 and 29, 2026. Until November 2, ALE kept the sandbox running between days, and the paragraph above was part of the instruction from a chain's first day. From November 4, every day continues from a snapshot and the paragraph is added only on continued days; the chains restarted then. No continual run took place on November 3."))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 64 |
}
|
| 65 |
|
| 66 |
export function methods(app, index) {
|
|
|
|
| 60 |
["Measure", ["Each continual agent is compared with the fresh agent of the same harness and model, on the run days and target dates both resolved:",
|
| 61 |
tex("\\delta = \\text{scaled CRPS}_{\\text{continual}} - \\text{scaled CRPS}_{\\text{fresh}}", true),
|
| 62 |
"Below 0 favors the continual agent. Each task page lists these pairs; the main leaderboards show fresh agents only."]]),
|
| 63 |
+
h("p", { class: "secondary small" }, md("Chains began on October 28 and 29, 2026. Until November 2, ALE kept the sandbox running between days, and the paragraph above was part of the instruction from a chain's first day. From November 4, every day continues from a snapshot and the paragraph is added only on continued days; the chains restarted then. No continual run took place on November 3.")),
|
| 64 |
+
h("h3", {}, "Continual + TSFMs"),
|
| 65 |
+
def(
|
| 66 |
+
["Arm", ["Each agent also runs a second chain of its own, defined as above, whose instruction carries one more paragraph on every run day, its first included, right after the note on internet access:",
|
| 67 |
+
h("blockquote", { class: "small" }, (index.tsfm_note || "").replaceAll("`", ""))]],
|
| 68 |
+
["Measure", ["Each continual + TSFMs agent is compared with the continual agent of the same harness and model, on the run days and target dates both resolved; the difference is what being told to use the TSFMs adds:",
|
| 69 |
+
tex("\\delta_{\\text{TSFM}} = \\text{scaled CRPS}_{\\text{continual + TSFMs}} - \\text{scaled CRPS}_{\\text{continual}}", true),
|
| 70 |
+
"The curated TSFMs on the same task show what the models give without an agent."]])));
|
| 71 |
}
|
| 72 |
|
| 73 |
export function methods(app, index) {
|
js/overview.js
CHANGED
|
@@ -57,7 +57,7 @@ const RQS = [
|
|
| 57 |
"Live versus offline replay of the same day from the same materials; replay controls add $X_d$, a TSFM tool, or every archived material."],
|
| 58 |
["RQ3", "Self-improvement", "running",
|
| 59 |
"Given its own past forecasts and the values published since, does an agent that keeps its workspace and session from day to day improve how it forecasts, beyond a fresh agent?",
|
| 60 |
-
"Each agent also runs continually: it resumes, from a snapshot, the sandbox and native session of its previous run day, sees its earlier submissions, and is asked to improve. The same-day difference from its fresh twin is the measure."],
|
| 61 |
["RQ4", "Where search pays", "growing",
|
| 62 |
"Across domains, where does public context add value beyond history, and where do efficient prices leave none?",
|
| 63 |
"A taxonomy of targets with tradable controls; per-task context value C, density D and text contribution."],
|
|
|
|
| 57 |
"Live versus offline replay of the same day from the same materials; replay controls add $X_d$, a TSFM tool, or every archived material."],
|
| 58 |
["RQ3", "Self-improvement", "running",
|
| 59 |
"Given its own past forecasts and the values published since, does an agent that keeps its workspace and session from day to day improve how it forecasts, beyond a fresh agent?",
|
| 60 |
+
"Each agent also runs continually: it resumes, from a snapshot, the sandbox and native session of its previous run day, sees its earlier submissions, and is asked to improve. The same-day difference from its fresh twin is the measure. A second continual chain is also told to run the TSFMs the benchmark evaluates and build on them; its difference from the continual agent is what that adds."],
|
| 61 |
["RQ4", "Where search pays", "growing",
|
| 62 |
"Across domains, where does public context add value beyond history, and where do efficient prices leave none?",
|
| 63 |
"A taxonomy of targets with tradable controls; per-task context value C, density D and text contribution."],
|
js/task.js
CHANGED
|
@@ -81,33 +81,38 @@ function resultsSection(t, state, rerender) {
|
|
| 81 |
leaderboard(rows, t.spec.unit),
|
| 82 |
n ? h("p", { class: "note", style: { marginTop: "10px" } }, `${n} common (run day, target date) pairs.`) : null,
|
| 83 |
byHorizon.length ? more("By horizon", horizon, h("p", { class: "note" }, "Later horizons resolve later, so their points rest on fewer run days.")) : null),
|
| 84 |
-
state.mode === "live" ? continualCard(t
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
}
|
| 86 |
|
| 87 |
-
/**
|
| 88 |
-
*
|
| 89 |
-
|
| 90 |
-
|
| 91 |
-
if (!
|
|
|
|
| 92 |
const score = (rows, id) => rows.find((r) => r.system === id);
|
| 93 |
return h("div", { class: "card" },
|
| 94 |
-
h("div", { class: "card-title" },
|
| 95 |
-
h("p", { class: "secondary small", style: { marginBottom: "10px" } },
|
| 96 |
-
"A continual agent continues, each run day, from a snapshot of the sandbox and native session of its previous run day, sees its earlier submissions and is asked to improve. It runs beside the fresh agent of the same harness and model; on the same pairs, the difference is what carried-over experience adds."),
|
| 97 |
pairs.length
|
| 98 |
? h("div", { class: "table-wrap" }, h("table", {},
|
| 99 |
-
h("thead", {}, h("tr", {}, h("th", {}, "Agent"), h("th", { class: "num" },
|
| 100 |
h("th", { class: "num" }, "Difference"), h("th", { class: "num" }, "Pairs"))),
|
| 101 |
h("tbody", {}, pairs.map((p) => {
|
| 102 |
-
const
|
| 103 |
-
const diff = cont.scaled_crps -
|
| 104 |
-
return h("tr", {}, h("td", {}, systemCell(p.
|
| 105 |
-
h("td", { class: "num" }, fmt.ratio(
|
| 106 |
-
h("td", { class: "num", title:
|
| 107 |
`${diff > 0 ? "+" : ""}${fmt.ratio(diff)}`),
|
| 108 |
-
h("td", { class: "num" }, String(
|
| 109 |
}))))
|
| 110 |
-
: h("p", { class: "note" },
|
| 111 |
}
|
| 112 |
|
| 113 |
/** The forecasts a mode shows: live, or the replaying agents next to the live non-agents. */
|
|
|
|
| 81 |
leaderboard(rows, t.spec.unit),
|
| 82 |
n ? h("p", { class: "note", style: { marginTop: "10px" } }, `${n} common (run day, target date) pairs.`) : null,
|
| 83 |
byHorizon.length ? more("By horizon", horizon, h("p", { class: "note" }, "Later horizons resolve later, so their points rest on fewer run days.")) : null),
|
| 84 |
+
state.mode === "live" ? continualCard(t.continual, "Self-improvement: continual versus fresh",
|
| 85 |
+
"A continual agent continues, each run day, from a snapshot of the sandbox and native session of its previous run day, sees its earlier submissions and is asked to improve. It runs beside the fresh agent of the same harness and model; on the same pairs, the difference is what carried-over experience adds.",
|
| 86 |
+
["Fresh", "Continual"], "No continual forecast has been scored yet.") : null,
|
| 87 |
+
state.mode === "live" ? continualCard(t.continual_tsfm, "Using the TSFMs: continual + TSFMs versus continual",
|
| 88 |
+
"A second continual chain of the same agent is also told, every run day, to download and run the TSFMs this benchmark evaluates, on covariates it finds itself, and to adjust their forecasts into its own. On the same pairs, its difference from the continual agent is what that instruction adds.",
|
| 89 |
+
["Continual", "+ TSFMs"], "No continual + TSFMs forecast has been scored yet.") : null);
|
| 90 |
}
|
| 91 |
|
| 92 |
+
/** A continual arm against its twin, on the live pairs both resolved: continual agents
|
| 93 |
+
* against the fresh agent of the same harness and model, continual + TSFMs agents against
|
| 94 |
+
* the continual agent. `p.fresh` is the twin, `p.continual` the arm's agent. */
|
| 95 |
+
function continualCard(arm, title, text, [twinHead, armHead], none) {
|
| 96 |
+
if (!arm?.length) return null;
|
| 97 |
+
const pairs = arm.filter((p) => p.rows.length === 2);
|
| 98 |
const score = (rows, id) => rows.find((r) => r.system === id);
|
| 99 |
return h("div", { class: "card" },
|
| 100 |
+
h("div", { class: "card-title" }, title),
|
| 101 |
+
h("p", { class: "secondary small", style: { marginBottom: "10px" } }, text),
|
|
|
|
| 102 |
pairs.length
|
| 103 |
? h("div", { class: "table-wrap" }, h("table", {},
|
| 104 |
+
h("thead", {}, h("tr", {}, h("th", {}, "Agent"), h("th", { class: "num" }, twinHead), h("th", { class: "num" }, armHead),
|
| 105 |
h("th", { class: "num" }, "Difference"), h("th", { class: "num" }, "Pairs"))),
|
| 106 |
h("tbody", {}, pairs.map((p) => {
|
| 107 |
+
const twin = score(p.rows, p.fresh), cont = score(p.rows, p.continual);
|
| 108 |
+
const diff = cont.scaled_crps - twin.scaled_crps;
|
| 109 |
+
return h("tr", {}, h("td", {}, systemCell(p.continual.replace(/-continual(-tsfm)?$/, ""))),
|
| 110 |
+
h("td", { class: "num" }, fmt.ratio(twin.scaled_crps)), h("td", { class: "num" }, fmt.ratio(cont.scaled_crps)),
|
| 111 |
+
h("td", { class: "num", title: `${armHead} minus ${twinHead} scaled CRPS; negative means ${armHead} did better` },
|
| 112 |
`${diff > 0 ? "+" : ""}${fmt.ratio(diff)}`),
|
| 113 |
+
h("td", { class: "num" }, String(twin.n)));
|
| 114 |
}))))
|
| 115 |
+
: h("p", { class: "note" }, none));
|
| 116 |
}
|
| 117 |
|
| 118 |
/** The forecasts a mode shows: live, or the replaying agents next to the live non-agents. */
|
js/util.js
CHANGED
|
@@ -70,12 +70,13 @@ export function setSystems(systems) {
|
|
| 70 |
systemIndex = new Map(systems.map((s) => [s.id, s]));
|
| 71 |
let spare = 0;
|
| 72 |
for (const s of systems) {
|
| 73 |
-
// an agent no longer run says so wherever it is named
|
| 74 |
-
|
|
|
|
| 75 |
if (s.id in SLOTS || s.kind === "reference" || s.kind === "expert") continue;
|
| 76 |
const harness = s.kind === "agent" && Object.keys(HARNESS_SLOTS).find((p) => s.id.startsWith(p));
|
| 77 |
-
// a continual agent takes its fresh twin's slot: the same agent, carrying on
|
| 78 |
-
const twin = s.id.replace(/-continual$/, "");
|
| 79 |
SLOTS[s.id] = harness ? HARNESS_SLOTS[harness] : twin in SLOTS ? SLOTS[twin] : SPARE[spare++ % SPARE.length];
|
| 80 |
}
|
| 81 |
}
|
|
|
|
| 70 |
systemIndex = new Map(systems.map((s) => [s.id, s]));
|
| 71 |
let spare = 0;
|
| 72 |
for (const s of systems) {
|
| 73 |
+
// an agent no longer run says so wherever it is named; every page render calls this
|
| 74 |
+
s.baseLabel ??= s.label;
|
| 75 |
+
s.label = s.stopped ? `${s.baseLabel} · stopped after ${dayLabel(s.stopped)}` : s.baseLabel;
|
| 76 |
if (s.id in SLOTS || s.kind === "reference" || s.kind === "expert") continue;
|
| 77 |
const harness = s.kind === "agent" && Object.keys(HARNESS_SLOTS).find((p) => s.id.startsWith(p));
|
| 78 |
+
// a continual agent, of either arm, takes its fresh twin's slot: the same agent, carrying on
|
| 79 |
+
const twin = s.id.replace(/-continual(-tsfm)?$/, "");
|
| 80 |
SLOTS[s.id] = harness ? HARNESS_SLOTS[harness] : twin in SLOTS ? SLOTS[twin] : SPARE[spare++ % SPARE.length];
|
| 81 |
}
|
| 82 |
}
|