gold
SELECT T1.zip FROM member AS T1 INNER JOIN expense AS T2 ON T1.member_id = T2.link_to_member WHERE T2.cost < 50
this statement states no ordering of its own
sha256:059ba36a78995bf23f13ee682ae6c4c18f182cbf6efca7ae50ece4e9b3afc573
R-SET GOLD-ONLY duplicate-full-row
student_club · 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)
Mention the zip code of members who incurred less than 50USD.
the hint the set supplies: incurred less than 50USD refers to cost < 50
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.
SELECT T1.zip FROM member AS T1 INNER JOIN expense AS T2 ON T1.member_id = T2.link_to_member WHERE T2.cost < 50
this statement states no ordering of its own
sha256:059ba36a78995bf23f13ee682ae6c4c18f182cbf6efca7ae50ece4e9b3afc573
from evidence-gold.json, 10 rows
| zipINTEGER |
|---|
| 21784 |
| 21784 |
| 21784 |
| 21784 |
| 7080 |
| 7080 |
| 21784 |
| 7080 |
| 1020 |
| 21784 |
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
the statement states no top level ORDER BY
{
"heuristic": true,
"reason": "the statement states no top level ORDER BY"
}
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
the statement states no LIMIT
{
"heuristic": true,
"reason": "the statement states no LIMIT"
}
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
{
"heuristic": true,
"rule": "R-SET",
"baseline_result_hash": "sha256:059ba36a78995bf23f13ee682ae6c4c18f182cbf6efca7ae50ece4e9b3afc573",
"baseline_result": {
"columns": [
{
"name": "zip",
"declared_type": "INTEGER"
}
],
"row_count": 10,
"truncated": false,
"rows_shown": 10,
"rows": [
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 7080
}
],
[
{
"type": "int",
"value": 7080
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 7080
}
],
[
{
"type": "int",
"value": 1020
}
],
[
{
"type": "int",
"value": 21784
}
]
],
"result_hash": "sha256:059ba36a78995bf23f13ee682ae6c4c18f182cbf6efca7ae50ece4e9b3afc573"
},
"planner_statistics": {},
"shuffle": {
"seed": "1",
"row_limit": 300000,
"tables": [
"member",
"expense"
],
"tables_not_shuffled": [],
"tables_skipped_for_size": {},
"tables_not_reached_by_a_copy": {}
},
"shuffled_copies": {
"run": true,
"verdict": "equal",
"differs": false,
"result_hash": "sha256:cf3af3dc19f28fb68bfa7b3f5d73897315b7b72ce5242f687da3928a736dab6b",
"result": {
"columns": [
{
"name": "zip",
"declared_type": "INTEGER"
}
],
"row_count": 10,
"truncated": false,
"rows_shown": 10,
"rows": [
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 1020
}
],
[
{
"type": "int",
"value": 7080
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 7080
}
],
[
{
"type": "int",
"value": 7080
}
],
[
{
"type": "int",
"value": 21784
}
],
[
{
"type": "int",
"value": 21784
}
]
],
"result_hash": "sha256:cf3af3dc19f28fb68bfa7b3f5d73897315b7b72ce5242f687da3928a736dab6b"
}
},
"plan_variant": {
"run": false,
"reason": "the plan variant was not asked for"
}
}
this statement returns the same whole row more than once and never says DISTINCT, so a statement answering the same question once per row disagrees on multiplicity alone
from smells.json, 2 rows
| 21784 |
| 7080 |
{
"heuristic": true,
"rows": 10,
"distinct_rows": 3,
"repeated_rows": 2,
"largest_repeat": 6,
"result_bounded": false,
"distinct_stated": false,
"set_operation": false,
"repeats_of_the_rows_shown": [
6,
3
]
}
SELECT T1.zip FROM member AS T1 INNER JOIN expense AS T2 ON T1.member_id = T2.link_to_member WHERE T2.cost < 50
result_hash sha256:059ba36a78995bf23f13ee682ae6c4c18f182cbf6efca7ae50ece4e9b3afc573 recomputed from this JSON: match
record_hash sha256:a68536e15bd3cdc6dbe9148d06a93f91c9cf1bd39c651a0b2eb8cb9e86e0c570 recomputed from this JSON: match
from evidence-gold.json, 10 rows
| zipINTEGER |
|---|
| 21784 |
| 21784 |
| 21784 |
| 21784 |
| 7080 |
| 7080 |
| 21784 |
| 7080 |
| 1020 |
| 21784 |
re-run this statement read-only against SQLite 3.53.4 | file=/private/tmp/attestql-runs/data/dev/dev_databases/student_club/student_club.sqlite | size=2641920 under the session settings and over the data this record's fixture digest names, and compare the two results under R-SET