Domain source
ScienceAgentBench contributes the upstream evaluation contract and 102 public tasks.
Scientific-programming tasks paired with an assay, compound, target, QC-result, and literature world.
Baseline leaderboard
All companion tasks are solvable by their reference traces and reject the seeded random floor. No paid or frontier model run is claimed. The first two rows are harness controls; the model leaderboard remains open until a version-pinned submission exists.
A 100% reference ceiling shows the tasks are executable, not all failing. A 0% seeded-random floor shows the verifier does not simply reward any activity. Neither row measures model capability.
Task browser
These are the four independent Blobfish diagnostic tasks in this world—not excerpts relabeled from the larger Harbor source suite.
Call the potency of assay run 9301. Compute the mean ic50_nm across its replicates that PASSED QC (qc_flag 'pass') — replicates flagged 'fail' are excluded. A mean below 100 nM makes the compound a hit, so: set compound 9101's status to 'hit' and record the mean in its screening_note, set assay run 9301's status to 'complete', and queue confirmation by creating an assay run on assay 9201 for compound 9101 with run_on '2026-08-01', plate_label 'CONF-001' and status 'pending'.
Required tool surface
search_assay_resultsupdate_compoundupdate_assay_runcreate_assay_runGenerator label only; no empirical model difficulty claim is published.
Episode trace
Switch between a successful reference replay and a real failing floor episode. Both start from the same immutable world state; neither is a model leaderboard row.
A checked-in reference trace replayed against a fresh SQLite copy. This proves the task can pass; it is not a model submission.
Fresh seeded database copied into an isolated episode.
search_assay_resultstool success{
"run_id": 9301,
"limit": 50
}[
{
"result_id": 9401,
"run_id": 9301,
"replicate": 1,
"ic50_nm": 20,
"percent_inhibition": 91,
"qc_flag": "pass"
},
{
"result_id": 9402,
"run_id": 9301,
"replicate": 2,
"ic50_nm": 24,
"percent_inhibition": 89,
"qc_flag": "pass"
},
{
"result_id": 9403,
"run_id": 9301,
"replicate": 3,
"ic50_nm": 22,
"percent_inhibition": 90,
"qc_flag": "pass"
},
{
"result_id": 9404,
"run_id": 9301,
"replicate": 4,
"ic50_nm": 400,
"percent_inhibition": 11,
"qc_flag": "fail"
}
]update_compoundtool success{
"compound_id": 9101,
"status": "hit",
"screening_note": "Mean QC-passing IC50 22 nM on run 9301."
}{
"compound_id": 9101,
"code": "BF-1042",
"name": "Velatinib",
"molecular_weight": 421.5,
"status": "hit",
"screening_note": "Mean QC-passing IC50 22 nM on run 9301."
}update_assay_runtool success{
"run_id": 9301,
"status": "complete"
}{
"run_id": 9301,
"assay_id": 9201,
"compound_id": 9101,
"run_on": "2026-07-14",
"plate_label": "PLT-0091",
"status": "complete"
}create_assay_runtool success{
"assay_id": 9201,
"compound_id": 9101,
"run_on": "2026-08-01",
"plate_label": "CONF-001",
"status": "pending"
}{
"run_id": 9303,
"assay_id": 9201,
"compound_id": 9101,
"run_on": "2026-08-01",
"plate_label": "CONF-001",
"status": "pending"
}Released assets
The executable database, schema, seed, tools, tasks, MCP manifest, and world manifest are checked into the same repository and linked individually.
Environment
6 related entity tables expose 23 read-only and 20 mutating tools. Every episode gets a fresh copy of the 119-row seed state.
targets · 19 rowscompounds · 20 rowsassays · 19 rowsassay_runs · 19 rowsassay_results · 24 rowsliterature_refs · 18 rowsMCP + CLI
Harbor preserves the upstream suite. Blobfish serves and evaluates the independent companion world. The reference policy is keyless; a model run requires an explicit provider and cost cap.
harbor run -d blobfishai/domainbench-24 \
-i '*discoverybench-102*' -a <agent> -m <provider/model>harbor run -d scienceagentbench/scienceagentbench
-a <agent> -m <provider/model>blobfish info benchmark/worlds/discoverybench-102
blobfish serve benchmark/worlds/discoverybench-102blobfish eval benchmark/worlds/discoverybench-102 \
--policy oracle --split all --run release-oracleMethodology
Mercor’s open-source Archipelago clarified the public contract: environment, agent runner, trajectory, and grading should be inspectable together. Blobfish already has the same layers, plus fail-closed state policies and Harbor release gates.
ScienceAgentBench contributes the upstream evaluation contract and 102 public tasks.
The companion system is domain-aligned, generated with a fixed seed, and clearly labeled as separate from the source task set.
All 4 tasks must pass the reference replay and reject the random floor before release evidence is generated.
No model row appears without a pinned model, agent, trials, runtime, costs, trajectories, and verifier outputs.
Across the portfolio