gold
SELECT player_api_id FROM Player_Attributes WHERE SUBSTR(`date`, 1, 4) = '2010' ORDER BY overall_rating DESC LIMIT 1
- overall_rating
- descending
sha256:fb5160f7bd70559923b0ed5dadfd92b8092f067f362d05a27ae15681bfdf5b57
R-ORD GOLD-ONLY arbitrary-cut not-a-function-of-the-data
european_football_2 · dev_20251106-00000-of-00001 from https://huggingface.co/datasets/birdsql/bird_sql_dev_20251106/resolve/3c11fb193e5439b338e23677fa0aae11e8b85db9/data/dev_20251106-00000-of-00001.json (commit 3c11fb19, downloaded 2026-09-07)
List the players' api id who had the highest above average overall ratings in 2010.
the hint the set supplies: highest above average overall ratings refers to MAX(overall_rating); in 2010 refers to substr(date,1,4) = '2010';
This question was audited without a prediction beside it, so there is nothing to compare the gold with. The probes below read the gold alone.
read by hand, 2026-09-07: wrong the gold does not answer its question on this data
three rows tie on the largest overall rating in that year and name two different players
a maintainer's reading of this question, out of classification.json, copied from plans/reports/bird-dev-sqlite-260907/classification.json. It is not a verdict and nothing above it was computed from it.
SELECT player_api_id FROM Player_Attributes WHERE SUBSTR(`date`, 1, 4) = '2010' ORDER BY overall_rating DESC LIMIT 1
sha256:fb5160f7bd70559923b0ed5dadfd92b8092f067f362d05a27ae15681bfdf5b57
from evidence-gold.json, 1 row
| player_api_idINTEGER |
|---|
| 30657 |
A smell is a mechanical reason to read this gold statement again. It is a heuristic: it does not state that the statement is wrong, and a maintainer decides.
this statement orders by a text column holding only numbers, and ordering it as a number gives a different answer, so the gold may be sorting 9.5 above 10
no ORDER BY key resolves to a text column
{
"heuristic": true,
"reason": "no ORDER BY key resolves to a text column",
"keys": [
{
"key": "overall_rating",
"column": "Player_Attributes.overall_rating",
"declared_type": "INTEGER",
"not_applicable": "the column is not declared as text"
}
]
}
this statement cuts its result at a LIMIT that does not decide which rows come back, so a different but equally correct statement can return other rows and score zero
from smells.json, 3 rows
| 30657 | 90 |
| 30981 | 90 |
| 30981 | 90 |
{
"heuristic": true,
"cut": 1,
"offset": 0,
"distinct_kept": false,
"unbounded_sql": "SELECT player_api_id, overall_rating AS attestql_ordering_key_0 FROM Player_Attributes WHERE SUBSTRING(\"date\", 1, 4) = '2010' ORDER BY overall_rating DESC",
"unbounded_rows": 10829,
"projected_columns": [
"player_api_id"
],
"ordering_key_columns": [
"attestql_ordering_key_0"
],
"ordering_keys": [
{
"key": "overall_rating",
"direction": "desc",
"nulls": "last",
"nulls_first_in_effect": false,
"returned_rows_null_in_this_key": 0,
"fires": false
}
],
"tied_at_the_cut": {
"positions": [
0,
1,
2
],
"tied_rows": 3,
"distinct_projected_answers": 2,
"rows": [
[
{
"type": "int",
"value": 30657
}
],
[
{
"type": "int",
"value": 30981
}
],
[
{
"type": "int",
"value": 30981
}
]
]
},
"case": "tie-at-the-cut"
}
rerun over the same rows in another physical order this statement gives another answer, so its result depends on how the rows are stored and not only on the data
from smells.json, 1 row
| 30981 |
{
"heuristic": true,
"rule": "R-ORD",
"baseline_result_hash": "sha256:fb5160f7bd70559923b0ed5dadfd92b8092f067f362d05a27ae15681bfdf5b57",
"baseline_result": {
"columns": [
{
"name": "player_api_id",
"declared_type": "INTEGER"
}
],
"row_count": 1,
"truncated": false,
"rows_shown": 1,
"rows": [
[
{
"type": "int",
"value": 30657
}
]
],
"result_hash": "sha256:fb5160f7bd70559923b0ed5dadfd92b8092f067f362d05a27ae15681bfdf5b57"
},
"planner_statistics": {},
"shuffle": {
"seed": "1",
"row_limit": 300000,
"tables": [
"Player_Attributes"
],
"tables_not_shuffled": [],
"tables_skipped_for_size": {},
"tables_not_reached_by_a_copy": {}
},
"shuffled_copies": {
"run": true,
"verdict": "not_equal",
"differs": true,
"result_hash": "sha256:8cb38ee13c01690a9d24d0e9e20275a25cf67f08935a96acabcf3a57c7dabc93",
"result": {
"columns": [
{
"name": "player_api_id",
"declared_type": "INTEGER"
}
],
"row_count": 1,
"truncated": false,
"rows_shown": 1,
"rows": [
[
{
"type": "int",
"value": 30981
}
]
],
"result_hash": "sha256:8cb38ee13c01690a9d24d0e9e20275a25cf67f08935a96acabcf3a57c7dabc93"
}
},
"plan_variant": {
"run": false,
"reason": "the plan variant was not asked for"
}
}
SELECT player_api_id FROM Player_Attributes WHERE SUBSTR(`date`, 1, 4) = '2010' ORDER BY overall_rating DESC LIMIT 1
result_hash sha256:fb5160f7bd70559923b0ed5dadfd92b8092f067f362d05a27ae15681bfdf5b57 recomputed from this JSON: match
record_hash sha256:c07ab0e32f1de641705ea859b82bc0b2bb4713041414324fa9d620fb8249ffed recomputed from this JSON: match
from evidence-gold.json, 1 row
| player_api_idINTEGER |
|---|
| 30657 |
re-run this statement read-only against SQLite 3.53.4 | file=/private/tmp/attestql-runs/data/dev/dev_databases/european_football_2/european_football_2.sqlite | size=597754880 under the session settings and over the data this record's fixture digest names, and compare the two results under R-ORD