Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
6486037
Record the judge-isolation audit of the published verdicts
MaxGhenis Sep 30, 2026
c96c693
Add the release 20260930b re-judge driver and freeze
MaxGhenis Sep 30, 2026
70d5187
Document release 20260930b's gates and commands
MaxGhenis Sep 30, 2026
8168153
Apply the driver review: splice annotations, bind transcripts, retry …
MaxGhenis Sep 30, 2026
d8dd845
Add Gemini 4 Argon's model card: the forced answer tool, which Google…
MaxGhenis Oct 13, 2026
ae6756b
wip
MaxGhenis Oct 13, 2026
a788257
Retarget the re-judge driver to release 20261013 (20261013b)
MaxGhenis Oct 13, 2026
91a77af
Record release 20261013b's design, judge provenance and seed digest
MaxGhenis Oct 13, 2026
5910f79
Record that a forced tool does not suppress Gemini 4 Argon's reasoning
MaxGhenis Oct 13, 2026
2ef45db
Let release 20261013b list wording amendments, and test the frozen state
MaxGhenis Oct 13, 2026
8c400c9
Add Meta Muse Spark 1.3's model card: the JSON contract, since Meta r…
MaxGhenis Oct 13, 2026
bdf7938
Merge branch 'add-muse-spark-1-3' into release-gemini-4-argon
MaxGhenis Oct 13, 2026
d84aa3c
List nine wording amendments to the new verdicts' text
MaxGhenis Oct 13, 2026
0d26317
WIP: port the release driver and freeze for Gemini 4 Argon and Muse S…
MaxGhenis Oct 13, 2026
f1264a2
Add two wording amendments the second review found
MaxGhenis Oct 13, 2026
e4b4d05
Cap Gemini 4 Argon's escalation ceiling at the 32,768 tokens one requ…
MaxGhenis Oct 13, 2026
51ef294
Merge branch 'add-gemini-4-argon' into release-gemini-4-argon
MaxGhenis Oct 13, 2026
6a334d0
Freeze release dashboard-data-20261013b: five re-judged audit verdicts
MaxGhenis Oct 13, 2026
d1e7685
Record Gemini 4 Argon's board run on the corrected card
MaxGhenis Oct 13, 2026
eb0b819
Correct Muse Spark 1.3's household-size claim and name Meta's rejecti…
MaxGhenis Oct 13, 2026
0d7aaa5
Merge branches 'add-gemini-4-argon' and 'add-muse-spark-1-3' into rel…
MaxGhenis Oct 13, 2026
d58523e
Pin both board runs, convert the freeze tests to two additions, and a…
MaxGhenis Oct 13, 2026
6a2fffc
Merge remote-tracking branch 'origin/judge-isolation-20260930b' into …
MaxGhenis Oct 13, 2026
b0c7709
Stage on release 20261013b: merge PR #218's frozen head and pin it pr…
MaxGhenis Oct 13, 2026
d0e027b
Name Muse Spark 1.3 among the provider-rejection JSON rows and record…
MaxGhenis Oct 13, 2026
01c5293
Add the release's design note (WIP: results follow the export)
MaxGhenis Oct 13, 2026
0fcaeb1
Check a re-judge's v2 header without reading a version off its prompt
MaxGhenis Oct 13, 2026
a7fbf14
Say which four board households replay the smoke (card review r2 P3)
MaxGhenis Oct 13, 2026
0109ea2
Say that Google's pages disagree on the output limit, and cite the sa…
MaxGhenis Oct 13, 2026
90eb3c1
Merge branches 'add-gemini-4-argon' and 'add-muse-spark-1-3' into rel…
MaxGhenis Oct 13, 2026
29f6065
Merge remote-tracking branch 'origin/main' into release-gemini-4-argon
MaxGhenis Oct 13, 2026
80c68a8
Fix the round-1 review: Medicaid and EITC wording, gate tests, receip…
MaxGhenis Oct 13, 2026
6c44858
Re-freeze release dashboard-data-20261013b with the 14 wording amendm…
MaxGhenis Oct 13, 2026
c42f4c4
Merge remote-tracking branch 'origin/judge-isolation-20260930b' into …
MaxGhenis Oct 13, 2026
951d791
Re-pin the base to PR #218's re-frozen head
MaxGhenis Oct 13, 2026
61d3871
Merge remote-tracking branch 'origin/main' into release-gemini-4-argon
MaxGhenis Oct 13, 2026
e98bb39
Record Max's d1252 and d1263 rulings: keep both, state the rate-sched…
MaxGhenis Oct 14, 2026
1fd4339
Bring the ported driver's and tests' descriptions up to date (port re…
MaxGhenis Oct 14, 2026
7b66193
Describe this release's judging in the provenance note
MaxGhenis Oct 14, 2026
236134f
Decide two re-opened cases in a no-upgrade triage wave
MaxGhenis Oct 14, 2026
80cc301
Freeze release dashboard-data-20261014 (50 models)
MaxGhenis Oct 14, 2026
7a3c6dc
Re-run the publication check on policyengine-us 2.42.4
MaxGhenis Oct 14, 2026
6ccd945
Format the triage-wave code and tests (ruff)
MaxGhenis Oct 14, 2026
8ea8826
Count a reference flag from any recorded verdict; pin the 50-model co…
MaxGhenis Oct 14, 2026
eb8af75
Refuse decisions the spec does not list; correct the cache-replay lat…
MaxGhenis Oct 14, 2026
5728aab
Merge remote-tracking branch 'origin/main' into release-gemini-4-argon
MaxGhenis Oct 14, 2026
c479e59
Re-pin the base to #218's squash merge (2cb77a17)
MaxGhenis Oct 14, 2026
fc2de55
Pin the cache-replay latency examples; drop the always-zero count (re…
MaxGhenis Oct 14, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Binary file modified app/public/paper/policybench.pdf
Binary file not shown.
Binary file modified app/public/paper/web/figures/positive_zero_scatter.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
267 changes: 156 additions & 111 deletions app/public/paper/web/index.html

Large diffs are not rendered by default.

8 changes: 4 additions & 4 deletions app/src/data.artifact.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"asset": "dashboard-data.json",
"bytes": 130982477,
"bytes": 135840397,
"repo": "PolicyEngine/policybench",
"sha256": "0a4b754a4ce3b249e0608efac62e52646e4c6f33c6a28c1a496c4c9fda49b507",
"tag": "dashboard-data-20261013b",
"url": "https://github.com/PolicyEngine/policybench/releases/download/dashboard-data-20261013b/dashboard-data.json",
"sha256": "22db9a9c052545371687f6afa3551896336abbd15c76f767ebb777a77f6d2268",
"tag": "dashboard-data-20261014",
"url": "https://github.com/PolicyEngine/policybench/releases/download/dashboard-data-20261014/dashboard-data.json",
"version": 1
}
4 changes: 2 additions & 2 deletions app/src/data.versions.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@
"artifact": {
"pointer": "live"
},
"description": "Scored reference outputs from policyengine-us 2.41.0 (the 49 excluded outputs keep the values they were decided on: 29 from policyengine-us 1.755.4, 18 from 2.15.17, 2 from 2.38.6, and the 12 that move on 2.41.0 were re-reviewed and stay excluded); same household facts and requested outputs for every model; answer transport and request shape per model as recorded in the serving-configuration table - 48 models",
"description": "Scored reference outputs from policyengine-us 2.41.0 (the 49 excluded outputs keep the values they were decided on: 29 from policyengine-us 1.755.4, 18 from 2.15.17, 2 from 2.38.6, and the 12 that move on 2.41.0 were re-reviewed and stay excluded); same household facts and requested outputs for every model; answer transport and request shape per model as recorded in the serving-configuration table - 50 models",
"id": "1.1",
"label": "1.1",
"snapshotLabel": "Snapshot 2026-10-13"
"snapshotLabel": "Snapshot 2026-10-14"
},
{
"artifact": {
Expand Down
118 changes: 116 additions & 2 deletions app/src/model-serving-config.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
},
"evidence_summary": {
"registry": 29,
"run_state": 19
"run_state": 21
},
"models": {
"claude-fable-5": {
Expand Down Expand Up @@ -820,6 +820,63 @@
"shared_completion_budget_tokens": 16384,
"tool_choice": "forced"
},
"gemini-4-argon": {
"answer_contract": "tool",
"evidence": {
"compared_columns": [
"scenario_id",
"variable",
"prediction",
"explanation",
"raw_response",
"provider_resolved_model",
"prompt_tokens",
"completion_tokens",
"error"
],
"fields": [
"answer_contract",
"chunk_size",
"completion_budget_ceiling",
"fingerprint_version",
"initial_completion_budget_tokens",
"max_repair_rounds",
"model_id",
"prompt_contract_version",
"request_timeout_seconds",
"thinking",
"tool_choice_mode"
],
"frozen_rows_sha256": "938c3f632d467dcf2cb97391265df103fba104633ac6a10a0ee6c9fe750c8335",
"kind": "run_state",
"rows_match": true,
"run": "argon-runs/argon",
"source_predictions_sha256": "76724f96baef92d1958cfdbdcbbaec82b4a06d6b72c0e891534a9fa03e156462",
"source_rows_sha256": "938c3f632d467dcf2cb97391265df103fba104633ac6a10a0ee6c9fe750c8335",
"treatment_fingerprint": {
"answer_contract": "tool",
"chunk_size": null,
"completion_budget_ceiling": 32768,
"fingerprint_version": 3,
"initial_completion_budget_tokens": 16384,
"max_repair_rounds": 2,
"model_id": "gemini/gemini-4-argon",
"prompt_contract_version": "2026-08-09-v2-scoring-contract",
"request_timeout_seconds": 300,
"thinking": {
"mode": "provider_default"
},
"tool_choice_mode": "forced"
}
},
"provider_id": "gemini/gemini-4-argon",
"reasoning_setup": "provider default; 16,384-token shared budget",
"registry_derived": [],
"request_shape": "whole scenario",
"request_timeout_seconds": 300,
"shared_completion_budget_tokens": 16384,
"tool_choice": "forced"
},
"glm-5.2": {
"answer_contract": "json",
"evidence": {
Expand Down Expand Up @@ -1493,6 +1550,63 @@
"shared_completion_budget_tokens": 16384,
"tool_choice": "forced"
},
"muse-spark-1.3": {
"answer_contract": "json",
"evidence": {
"compared_columns": [
"scenario_id",
"variable",
"prediction",
"explanation",
"raw_response",
"provider_resolved_model",
"prompt_tokens",
"completion_tokens",
"error"
],
"fields": [
"answer_contract",
"chunk_size",
"completion_budget_ceiling",
"fingerprint_version",
"initial_completion_budget_tokens",
"max_repair_rounds",
"model_id",
"prompt_contract_version",
"request_timeout_seconds",
"thinking",
"tool_choice_mode"
],
"frozen_rows_sha256": "a867a064b1fa887213b8d3493112bea16c1967a97b639536e6a4c39695a801fe",
"kind": "run_state",
"rows_match": true,
"run": "argon-runs/musespark",
"source_predictions_sha256": "1e4c81a1c69b4be3dec92d007a2c3d3c22009bf7d56df29a2d2349a5be4887d3",
"source_rows_sha256": "a867a064b1fa887213b8d3493112bea16c1967a97b639536e6a4c39695a801fe",
"treatment_fingerprint": {
"answer_contract": "json",
"chunk_size": null,
"completion_budget_ceiling": 128000,
"fingerprint_version": 3,
"initial_completion_budget_tokens": 16384,
"max_repair_rounds": 2,
"model_id": "openrouter/meta/muse-spark-1.3",
"prompt_contract_version": "2026-08-09-v2-scoring-contract",
"request_timeout_seconds": 300,
"thinking": {
"mode": "provider_default"
},
"tool_choice_mode": null
}
},
"provider_id": "openrouter/meta/muse-spark-1.3",
"reasoning_setup": "provider default; 16,384-token shared budget",
"registry_derived": [],
"request_shape": "whole scenario",
"request_timeout_seconds": 300,
"shared_completion_budget_tokens": 16384,
"tool_choice": null
},
"muse-wonder": {
"answer_contract": "json",
"evidence": {
Expand Down Expand Up @@ -1642,7 +1756,7 @@
"tool_choice": null
}
},
"registry_commit": "3ef45909db7367abdffd08379babde5bcf5c549e",
"registry_commit": "236134f5c3b4400a14ae7de24604c988f6f602eb",
"sources": [
"policybench.config.MODELS",
"policybench.model_cards",
Expand Down
6 changes: 5 additions & 1 deletion app/src/modelMeta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ export const MODEL_ORDER = [
"gpt-5.5",
"gpt-5.4-mini",
"gpt-5.4-nano",
"gemini-4-argon",
"gemini-3.1-pro-preview",
"gemini-3.6-flash",
"gemini-3.8-flash",
Expand All @@ -53,6 +54,7 @@ export const MODEL_ORDER = [
"qwen3.8-max",
"qwen-3.7-max",
"muse-wonder",
"muse-spark-1.3",
] as const;

export const MODEL_LABELS: Record<string, string> = {
Expand Down Expand Up @@ -105,6 +107,8 @@ export const MODEL_LABELS: Record<string, string> = {
"qwen3.8-max": "Qwen 3.8 Max",
inkling: "Inkling",
"muse-wonder": "Muse Wonder",
"muse-spark-1.3": "Muse Spark 1.3",
"gemini-4-argon": "Gemini 4 Argon",
};

export type ProviderKey =
Expand Down Expand Up @@ -227,7 +231,7 @@ const FRONTIER_MODEL_GROUPS = [
["claude-fable-5.1", "claude-fable-5", "claude-opus-5", "claude-opus-4.8"],
["gpt-6-astra", "gpt-5.6-sol", "gpt-5.5"],
["grok-4.5", "grok-4.3"],
["gemini-3.1-pro-preview"],
["gemini-4-argon", "gemini-3.1-pro-preview"],
["deepseek-v4-pro-0813", "deepseek-v4-pro"],
["kimi-k3", "kimi-k2.6"],
["glm-5.3", "glm-5.2"],
Expand Down
65 changes: 65 additions & 0 deletions app/src/notes/2026-10-14-gemini-4-argon-joins-the-board.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
{
"slug": "2026-10-14-gemini-4-argon-joins-the-board",
"date": "2026-10-14",
"title": "Google's Gemini 4 Argon and Meta's Muse Spark 1.3 join the board",
"paragraphs": [
"Google's Gemini 4 Argon joined the board on {releaseDate}, the day after Google opened it to the public Gemini API, and Meta's Muse Spark 1.3 joined with it, bringing the board to {nModels} models. Gemini 4 Argon gets {argonExact}% of answers within $1, weighted by household impact, #{argonRank} of {nModels} and the highest of any Gemini model; Gemini 3.8 Flash, the previous best, gets {flashExact}% (#{flashRank}). Muse Spark 1.3 gets {sparkExact}% (#{sparkRank}), behind Meta's Muse Wonder ({museExact}%, #{museRank}), but on the bounded score, which gives partial credit for amounts close to the reference, it ranks #{sparkBoundedRank}. GPT-6 Sol still leads on answers within $1 at {solExact}%, ahead of Claude Opus 5.5 ({opusExact}%) and GPT-5.6 Sol ({sol56Exact}%).",
"Google announced Gemini 4 Argon on September 30 for a group of partners and released it on the Gemini API on October 13. PolicyBench runs it there, as it does every Gemini model. The API accepts a forced answer tool, so the row answers through the board's tool and reasons at Google's default setting. A forced tool call suppresses some models' reasoning, as it does Claude Opus 5's, so PolicyBench fixed a test before looking at the results and ran all {households} households both ways. With the forced tool Gemini 4 Argon returned reasoning tokens on {forcedReasoning} of them, and on {boardReasoning} in the board's own run; with an automatic tool choice, on {autoReasoning}. The test found no significant reduction, so the board keeps the forced tool and publishes no second row. At Google's introductory price of $2 per million input tokens and $10 per million output tokens, which doubles on December 1, the {households} households cost ${argonCost}.",
"Muse Spark 1.3, which Meta released on September 2, is Meta's second model on the board. PolicyBench reaches it through OpenRouter, whose one endpoint for it is Meta's own API, as it does Muse Wonder. That API rejects a forced tool call, so the row answers as a JSON object and reasons at Meta's default setting.",
"Nothing else on the board moves. The newest policyengine-us release, {checkedEngine}, gives the same value as {engineVersion} for every output, so the references stay where they were, and every model is still scored on {scoredOutputs} of its {totalOutputs} requested outputs. Each of the {incumbents} earlier models keeps its score."
],
"facts": {
"releaseDate": "2026-10-14",
"nModels": 50,
"argonExact": 88.7,
"argonRank": 12,
"flashExact": 85.6,
"flashRank": 21,
"sparkExact": 87.2,
"sparkRank": 18,
"museExact": 90.1,
"museRank": 10,
"sparkBoundedRank": 6,
"solExact": 95.2,
"opusExact": 94.1,
"sol56Exact": 93.1,
"households": 100,
"forcedReasoning": 80,
"boardReasoning": 85,
"autoReasoning": 82,
"argonCost": "2.79",
"checkedEngine": "2.42.4",
"engineVersion": "2.41.0",
"scoredOutputs": 1935,
"totalOutputs": 1984,
"incumbents": 48
},
"data": [
{
"label": "Dashboard data release",
"href": "https://github.com/PolicyEngine/policybench/releases/tag/dashboard-data-20261014"
},
{
"label": "Release design note",
"href": "https://github.com/PolicyEngine/policybench/blob/main/docs/argon/design.md"
},
{
"label": "Publication check against policyengine-us 2.42.4",
"href": "https://github.com/PolicyEngine/policybench/blob/main/reference_audit/2026-10-12-engine-upgrade/verification/publication_check_2_42_4.csv"
},
{
"label": "Gemini 4 Argon model page",
"href": "/model/gemini-4-argon"
},
{
"label": "Muse Spark 1.3 model page",
"href": "/model/muse-spark-1.3"
},
{
"label": "Previous release note (October 13)",
"href": "/notes/2026-10-13-muse-wonder-joins-the-board"
}
],
"boardSnapshot": "2026-10-14",
"release": "dashboard-data-20261014"
}
2 changes: 2 additions & 0 deletions app/src/notes/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import gemini4ArgonJoinsTheBoard from "./2026-10-14-gemini-4-argon-joins-the-board.json";
import museWonderJoinsTheBoard from "./2026-10-13-muse-wonder-joins-the-board.json";
import claudeHaiku55JoinsTheBoard from "./2026-10-10-claude-haiku-5-5-joins-the-board.json";
import claudeFable51Added from "./2026-09-01-claude-fable-5-1-added.json";
Expand Down Expand Up @@ -31,6 +32,7 @@ export type PolicyBenchNote = {
};

export const notes = [
gemini4ArgonJoinsTheBoard,
museWonderJoinsTheBoard,
claudeHaiku55JoinsTheBoard,
stopsScoringEightTaxOutputs,
Expand Down
6 changes: 3 additions & 3 deletions app/src/paperSnapshot.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"pdfVersion": "cee26d0956da",
"pdfVersion": "d0b236367fb3",
"responseWindow": "June 12 and October 13, 2026",
"snapshotDate": "2026-10-13",
"webVersion": "320e58e44470"
"snapshotDate": "2026-10-14",
"webVersion": "533a0cb79b6a"
}
18 changes: 9 additions & 9 deletions app/tests/auditUniverse.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ describe("audit universe", () => {
expect(AUDIT_SELECTION_RULE).toBe(
"rows whose legacy threshold score is below 1",
);
// Release 20261013: the counts tests/test_disclosures.py recomputes
// from the frozen annotations and payload (48 models; Muse Wonder's rows
// join, and the nine outputs the 2.41.0 upgrade regenerates return to
// scoring).
// Release 20261014: the counts tests/test_disclosures.py recomputes
// from the frozen annotations and payload (50 models; Gemini 4 Argon's
// and Muse Spark 1.3's rows join on release 20261013's references and
// exclusions).
expect(summarizeAuditUniverse(us)).toEqual({
annotatedRowCount: 8_503,
legacyThresholdRowCount: 8_503,
exactMissCount: 8_499,
annotatedExactMissCount: 8_499,
annotatedRowCount: 8_765,
legacyThresholdRowCount: 8_765,
exactMissCount: 8_761,
annotatedExactMissCount: 8_761,
annotatedExactHitCount: 4,
unannotatedBelowFullBoundedScoreCount: 2_218,
unannotatedBelowFullBoundedScoreCount: 2_329,
});
});
});
26 changes: 23 additions & 3 deletions app/tests/modelMeta.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ describe("model metadata", () => {
["grok-4.7", "Grok 4.7", "xai"],
["deepseek-v4.1-flash", "DeepSeek V4.1 Flash", "deepseek"],
["muse-wonder", "Muse Wonder", "meta"],
["muse-spark-1.3", "Muse Spark 1.3", "meta"],
["gemini-4-argon", "Gemini 4 Argon", "google"],
] as const)("maps %s to its label and provider", (model, label, provider) => {
expect(MODEL_LABELS[model]).toBe(label);
expect(getProviderForModel(model)).toBe(provider);
Expand Down Expand Up @@ -80,6 +82,21 @@ describe("model metadata", () => {
]);
});

test("shows Gemini 4 Argon as Google's flagship, and 3.1 Pro without it", () => {
expect(
frontierModelsFor(["gemini-4-argon", "gemini-3.1-pro-preview"]),
).toEqual(["gemini-4-argon"]);
expect(frontierModelsFor(["gemini-3.1-pro-preview"])).toEqual([
"gemini-3.1-pro-preview",
]);
});

test("keeps Muse Wonder as Meta's flagship over Muse Spark 1.3", () => {
expect(frontierModelsFor(["muse-spark-1.3", "muse-wonder"])).toEqual([
"muse-wonder",
]);
});

test("gives every represented provider a frontier model", () => {
const models = [
"claude-fable-5",
Expand Down Expand Up @@ -123,7 +140,6 @@ describe("MODEL_RELEASE_DATES", () => {
});
});


describe("shortModelLabel", () => {
test("drops a parenthetical qualifier before keeping the last two words", () => {
expect(shortModelLabel("GLM-5.3-Flash (preview)")).toBe("GLM-5.3-Flash");
Expand All @@ -136,8 +152,12 @@ describe("shortModelLabel", () => {
describe("MODEL_PROVENANCE_NOTES", () => {
test("the GLM-5.3-Flash preview row records the listing it was queried under", () => {
expect(MODEL_LABELS["ox-alpha"]).toBe("GLM-5.3-Flash (preview)");
expect(MODEL_PROVENANCE_NOTES["ox-alpha"]).toContain('Queried as "Ox Alpha"');
expect(MODEL_PROVENANCE_NOTES["ox-alpha"]).toContain(
'Queried as "Ox Alpha"',
);
expect(MODEL_PROVENANCE_NOTES["ox-alpha"]).toContain("2026-08-20");
expect(Object.keys(MODEL_PROVENANCE_NOTES).every((id) => id in MODEL_LABELS)).toBe(true);
expect(
Object.keys(MODEL_PROVENANCE_NOTES).every((id) => id in MODEL_LABELS),
).toBe(true);
});
});
Loading
Loading