|
2 | 2 |
|
3 | 3 | ## Bottom Line |
4 | 4 |
|
5 | | -Epoch ECI is the only supported external eval with a strong enough signal to treat as useful right now. ARC-AGI-2 has a positive Elo/rank relationship, but the prediction fit is baseline-level and the mapping ambiguity is much worse. |
| 5 | +Epoch ECI is still the only external eval with a strong enough signal to treat as useful. ARC-AGI-2 |
| 6 | +has a moderate raw and rank relationship to LLM Chess Elo but its calibrated prediction is no better |
| 7 | +than the mean baseline. BullshitBench v2 is the weakest of the three: a modest rank relationship |
| 8 | +that mostly disappears once release timing is controlled. |
6 | 9 |
|
7 | | -Do not sell this as broad benchmark validation. It is a two-eval comparison with unresolved identity debt. |
| 10 | +Do not sell this as broad benchmark validation. It is now a three-eval comparison with a large pile |
| 11 | +of unresolved identity debt, and the three evals disagree about which chess behaviors track external |
| 12 | +capability. |
8 | 13 |
|
9 | | -Figures reflect the 2026-05-29 ECI refresh (overall Epoch index, 178 models) against the current `elo_refined.csv`. The ECI signal strengthened versus the prior snapshot, mainly from reconciling the mapping (e.g. `GPT-5.4` now `gpt-5.4-medium`) and adding four newly matched GPT-5.x models. |
| 14 | +Figures reflect the current published snapshots against the current `elo_refined.csv`: the |
| 15 | +2026-05-29 ECI refresh (178 models), the 2026-05 ARC-AGI-2 refresh (152 rows), and the newly added |
| 16 | +BullshitBench v2 leaderboard (162 model/reasoning rows, upstream commit `88e06ae`, 2026-05-29). |
| 17 | + |
| 18 | +BullshitBench measures one behavior — whether a model pushes back on a nonsense premise instead of |
| 19 | +playing along — on a 0-2 scale where higher is better. It is a deliberately different axis from a |
| 20 | +capability index like ECI, and the data show it: the strongest nonsense-detectors in the matched |
| 21 | +sample are mid-Elo Claude models, while the highest-Elo OpenAI/Gemini reasoning models sit mid-pack. |
10 | 22 |
|
11 | 23 | ## Signal Table |
12 | 24 |
|
13 | 25 | | Eval | Raw Elo | Release-controlled | Top chess metric | OLS CV | |
14 | 26 | | --- | --- | --- | --- | --- | |
15 | | -| Epoch ECI | Pearson `0.757`, Spearman `0.744`, `n=70` | Pearson `0.551`, `n=69` | `player_wins_percent`: Pearson `0.689`, Spearman `0.791`, `n=85` | `R2=0.527` vs mean baseline `-0.021`; rank Spearman `0.739` | |
16 | | -| ARC-AGI-2 | Pearson `0.520`, Spearman `0.637`, `n=54` | Pearson `0.348`, `n=54` | `player_wins_percent`: Pearson `0.360`, Spearman `0.583`, `n=57` | `R2=-0.016` vs mean baseline `-0.042`; rank Spearman `0.494` | |
| 27 | +| Epoch ECI | Pearson `0.757`, Spearman `0.744`, `n=70` | Pearson `0.551`, `n=69` | `player_wins_percent`: Pearson `0.689`, Spearman `0.791`, `n=85` | `R2=0.527`; rank Spearman `0.739` | |
| 28 | +| ARC-AGI-2 | Pearson `0.584`, Spearman `0.660`, `n=57` | Pearson `0.412`, `n=57` | `average_game_cost`: Pearson `0.473`, Spearman `0.621`, `n=58` | `R2=-0.119`; rank Spearman `0.522` | |
| 29 | +| BullshitBench v2 | Pearson `0.303`, Spearman `0.480`, `n=55` | Pearson `0.118`, `n=54` | `average_game_cost`: Pearson `0.428`, Spearman `0.575`, `n=56` | `R2=0.090`; rank Spearman `0.472` | |
17 | 30 |
|
18 | 31 | Interpretation: |
19 | 32 |
|
20 | | -- ECI: usable relationship. The signal survives release-month control, and fold-local OLS beats the mean baseline. |
21 | | -- ARC-AGI-2: weak relationship. Rank ordering is not empty, but calibrated prediction does not beat baseline in a meaningful way. |
22 | | -- Shared signal: `player_wins_percent` is the strongest non-Elo chess metric for both evals. |
| 33 | +- ECI: usable relationship. The signal survives release-month control, and fold-local OLS predicts |
| 34 | + the index well above a trivial baseline. |
| 35 | +- ARC-AGI-2: weak relationship under prediction. Raw and rank correlation are moderate, but the |
| 36 | + calibrated OLS prediction is below the mean baseline (`R2=-0.119`), so treat ARC as a rank-order |
| 37 | + signal only. |
| 38 | +- BullshitBench: weakest of the three. Rank ordering is positive (`Spearman 0.480`) but the linear |
| 39 | + fit is low and the relationship mostly collapses under release-month control (`0.303` → `0.118`), |
| 40 | + meaning most of the apparent association is chronology, not a model-capability link. |
| 41 | +- No shared headline metric anymore: `player_wins_percent` is the strongest non-Elo chess metric for |
| 42 | + ECI, but for ARC and BullshitBench `average_game_cost` leads instead. For BullshitBench in |
| 43 | + particular, `player_wins_percent` is essentially flat (Pearson `0.060`), so chess win rate does |
| 44 | + not predict nonsense detection at all. |
23 | 45 |
|
24 | 46 | ## Method In One Screen |
25 | 47 |
|
26 | 48 | - Only mapped rows with status `accepted`, `alias`, or `variant-compatible` enter analysis. |
27 | | -- `ambiguous`, `unmatched`, and `excluded` rows stay visible in coverage and mapping review, but do not enter correlations. |
| 49 | +- `ambiguous`, `unmatched`, and `excluded` rows stay visible in coverage and mapping review, but do |
| 50 | + not enter correlations. |
28 | 51 | - Multiple external rows for one LLM Chess player are deduped by keeping the highest external score. |
| 52 | + For BullshitBench this collapses a model's reasoning-level rows to one model-level point. |
29 | 53 | - Pearson `r` measures linear fit; Spearman `rho` measures rank-order fit. |
30 | 54 | - Raw Elo correlates external score directly with LLM Chess Elo. |
31 | | -- Release-controlled Elo first predicts each side from release month, subtracts predicted from actual on both sides, then correlates the two residual lists. |
32 | | -- OLS CV uses repeated 5-fold cross-validation over 3 seeds. Feature selection happens inside each training fold, not on the full target sample. |
| 55 | +- Release-controlled Elo first predicts each side from release month, subtracts predicted from |
| 56 | + actual on both sides, then correlates the two residual lists. |
| 57 | +- OLS CV uses repeated 5-fold cross-validation over 3 seeds. |
| 58 | + Feature selection happens inside each training fold, not on the full target sample. |
33 | 59 |
|
34 | 60 | ## Coverage Debt |
35 | 61 |
|
36 | | -| Eval | Numeric rows | Accepted mappings | Metric sample | Elo sample | Unmatched external rows | High-impact unresolved | |
| 62 | +| Eval | Numeric rows | Accepted mappings | Metric sample | Elo sample | Unmatched/ambiguous rows | High-impact unresolved | |
37 | 63 | | --- | ---: | ---: | ---: | ---: | ---: | ---: | |
38 | | -| Epoch ECI | 178 | 93 | 85 | 70 | 85 | 15 | |
39 | | -| ARC-AGI-2 | 150 | 65 | 57 | 54 | 90 | 15 | |
40 | | - |
41 | | -The audit currently reports `reproducibility_status = pass`, `coverage_status = review-needed`, and `unresolved_row_count = 175`. |
| 64 | +| Epoch ECI | 178 | 93 | 85 | 70 | 85 / 0 | 15 | |
| 65 | +| ARC-AGI-2 | 152 | 71 | 60 | 57 | 24 / 54 | 15 | |
| 66 | +| BullshitBench v2 | 162 | 66 | 58 | 55 | 90 / 6 | 15 | |
| 67 | + |
| 68 | +The audit currently reports `reproducibility_status = pass`, `coverage_status = review-needed`, and |
| 69 | +`unresolved_row_count = 267` across the three external evals. All published per-eval artifacts |
| 70 | +reproduce cleanly (`evals_with_diff_count = 0`). |
| 71 | + |
| 72 | +### BullshitBench Mapping Shape |
| 73 | + |
| 74 | +The 162 leaderboard rows resolve to 6 `accepted`, 21 `alias`, and 39 `variant-compatible` mappings |
| 75 | +(66 mapped rows → 58 unique LLM Chess players, 55 in the Elo sample after dedupe), with 90 |
| 76 | +`unmatched` and 6 `ambiguous`. Most unmatched rows are models with no LLM Chess counterpart (hosted |
| 77 | +Qwen 3.5/3.6/3.7, GLM-5-turbo/5.1/4.5, DeepSeek V4, Gemma 4, Nemotron Super/Nano-9B, MiMo, StepFun, |
| 78 | +Seed, ERNIE, Jamba, Prime Intellect, Arcee, GPT-5.5 Pro, and the `openrouter/*-alpha` stealth rows) |
| 79 | +or non-reasoning `none` rows for OpenAI families that exist in `elo_refined.csv` only at reasoning |
| 80 | +tiers. See `mapping-research/bullshit_bench.md` for the full effort-to-effort rule and the held-out |
| 81 | +`ambiguous` cases (grok-4.20-beta, an unspecified Claude 3.7 thinking budget, and two hosted-vs-quant |
| 82 | +local runs). |
| 83 | + |
| 84 | +## Exploratory: discipline beats strength (BullshitBench) |
| 85 | + |
| 86 | +This is a research lead, outside the governed numbers. Running BullshitBench in clean mode |
| 87 | +(`run_cross_ref.py bullshit_bench --mistake-stats clean_only` — drops every model whose earliest |
| 88 | +LLM Chess game predates the 2025-03-16 logging fix, leaving n=51 metric / 49 Elo) lets us use the |
| 89 | +normally-excluded error metrics. Rank correlation vs `avg_score`: |
| 90 | + |
| 91 | +| Chess metric | Spearman | |
| 92 | +| --- | ---: | |
| 93 | +| `wrong_actions_per_1000moves` | -0.58 | |
| 94 | +| `mistakes_per_1000moves` | -0.56 | |
| 95 | +| `games_interrupted_percent` | -0.42 | |
| 96 | +| LLM Chess Elo | +0.40 | |
| 97 | +| `player_wins_percent` | +0.03 | |
| 98 | + |
| 99 | +Sloppy chess (illegal actions, blunders, interrupted games) tracks *failing* BullshitBench better |
| 100 | +than raw strength does, and win rate is noise. It's a non-linear rank association only: a |
| 101 | +multi-factor OLS still doesn't beat the mean baseline (CV `R2=-0.13`). So nonsense detection looks |
| 102 | +like a carefulness/discipline trait, not a capability one — a lead, not a validated result. |
42 | 103 |
|
43 | 104 | ## What Raises Signal |
44 | 105 |
|
45 | | -1. Resolve high-impact mapping rows first: frontier GPT, Claude, Gemini Deep Think, DeepSeek, Qwen, Kimi, and GLM rows near the top of each leaderboard. |
46 | | -2. Keep plain-model rows separate from reasoning effort, product tier, context-window, benchmark-system, and preview variants unless source evidence proves equivalence. |
47 | | -3. Add more external evals only after their source score semantics and model identities are clear enough to avoid another ambiguity pile. |
48 | | -4. Treat OLS prediction as secondary. The primary signal is still raw and release-controlled Elo correlation plus row-level mapping quality. |
| 106 | +1. Resolve high-impact mapping rows first: frontier GPT, Claude, Gemini, Grok, DeepSeek, Qwen, Kimi, |
| 107 | + and GLM rows near the top of each leaderboard. |
| 108 | +2. Keep plain-model rows separate from reasoning effort, product tier, context-window, |
| 109 | + benchmark-system, and preview variants unless source evidence proves equivalence. |
| 110 | +3. Treat BullshitBench as a behavioral contrast eval, not a capability eval. Its value is showing |
| 111 | + where chess strength and epistemic pushback diverge, not validating Elo. |
| 112 | +4. Add more external evals only after their source score semantics and model identities are clear |
| 113 | + enough to avoid another ambiguity pile. |
| 114 | +5. Treat OLS prediction as secondary. The primary signal is still raw and release-controlled Elo |
| 115 | + correlation plus row-level mapping quality. |
49 | 116 |
|
50 | 117 | ## Evidence Pointers |
51 | 118 |
|
52 | 119 | - Methodology and workspace guide: [README.md](README.md) |
53 | 120 | - ECI summary: [results/eci_summary.json](results/eci_summary.json) |
54 | 121 | - ARC summary: [results/arc_agi_2_summary.json](results/arc_agi_2_summary.json) |
| 122 | +- BullshitBench summary: [results/bullshit_bench_summary.json](results/bullshit_bench_summary.json) |
55 | 123 | - ECI report: [results/eci.html](results/eci.html) |
56 | 124 | - ARC report: [results/arc_agi_2.html](results/arc_agi_2.html) |
57 | | -- ECI coverage: [results/eci_coverage.csv](results/eci_coverage.csv) |
58 | | -- ARC coverage: [results/arc_agi_2_coverage.csv](results/arc_agi_2_coverage.csv) |
59 | | -- Mapping sources: [mappings/eci.csv](mappings/eci.csv), [mappings/arc_agi_2.csv](mappings/arc_agi_2.csv) |
| 125 | +- BullshitBench report: [results/bullshit_bench.html](results/bullshit_bench.html) |
| 126 | +- Coverage: [results/eci_coverage.csv](results/eci_coverage.csv), [results/arc_agi_2_coverage.csv](results/arc_agi_2_coverage.csv), [results/bullshit_bench_coverage.csv](results/bullshit_bench_coverage.csv) |
| 127 | +- Mapping sources: [mappings/eci.csv](mappings/eci.csv), [mappings/arc_agi_2.csv](mappings/arc_agi_2.csv), [mappings/bullshit_bench.csv](mappings/bullshit_bench.csv) |
| 128 | +- Mapping rationale: [mapping-research/bullshit_bench.md](mapping-research/bullshit_bench.md) |
0 commit comments