{
  "format": "attestql/audit/counterexample/2",
  "question": {
    "question_id": "255",
    "question_set": "mini_dev_postgresql from https://bird-bench.oss-cn-beijing.aliyuncs.com/minidev.zip (sha256 cc48ba16838204e4e214512030cb572eeb5f7bcdd999bae4b9b6ff12ec13b92f, downloaded 2026-09-07), member minidev/MINIDEV/mini_dev_postgresql.json",
    "question_text": "What proportion of single bonds are carcinogenic? Please provide your answer as a percentage with five decimal places.",
    "evidence_text": "single bond refers to bond_type = '-'; label = '+' mean molecules are carcinogenic; proportion = DIVIDE(SUM(label = '+') * 100, COUNT(bond_id)) where bond_type = '-'"
  },
  "question_set_version": "sha256:d2731292f20b8d8569cd956dd747ffe1df13cd625076263e38ae9ebcef50b1ab",
  "sources": {
    "gold": {
      "path": "data/questions/mini_dev_postgresql.json",
      "digest": "sha256:d2731292f20b8d8569cd956dd747ffe1df13cd625076263e38ae9ebcef50b1ab",
      "origin": "https://bird-bench.oss-cn-beijing.aliyuncs.com/minidev.zip (sha256 cc48ba16838204e4e214512030cb572eeb5f7bcdd999bae4b9b6ff12ec13b92f, downloaded 2026-09-07), member minidev/MINIDEV/mini_dev_postgresql.json",
      "date": "2024-06-19"
    },
    "second": {
      "path": "data/preds-pg/predict_mini_dev_gpt-4-32k_postgresql.json",
      "digest": "sha256:0fba1bfbeb487d641c8ae1e8bb01f762b2d29ddfb7c14dbd94e832f53cc10270",
      "origin": "https://raw.githubusercontent.com/bird-bench/mini_dev/b3d4bcbbae9a96934ad812551eb400c7a3b23c12/llm/exp_result/sql_output_kg/predict_mini_dev_gpt-4-32k_postgresql.json",
      "date": "2024-06-19"
    }
  },
  "replay_rule": "R-SET",
  "verdict": {
    "result": "not_equal",
    "mismatched": [],
    "reading": "NOT_EQUAL states that these two statements disagree on this data under this rule. It does not state which of them is wrong."
  },
  "projection_names_differ": {
    "gold": [
      "percentage"
    ],
    "second": [
      "proportion_carcinogenic_single_bonds"
    ],
    "reading": "The two statements name their result columns differently. A projection is compared by position and declared type, so these names did not decide the verdict. They are part of the canonical rendering each result is hashed under, so the two result hashes differ with them."
  },
  "bird_ex": {
    "value": 1,
    "equal": true,
    "method": "set(second_rows) == set(gold_rows), float4/float8 cells as Python float as psycopg2 returns them, numeric as Decimal",
    "source": "https://github.com/bird-bench/mini_dev/blob/main/evaluation/evaluation_ex.py",
    "gold_rows": 1,
    "second_rows": 343,
    "gold_distinct_rows": 1,
    "second_distinct_rows": 1
  },
  "test_suite_ex": {
    "value": 0,
    "equal": false,
    "method": "result_eq: equal row counts and equal column counts, each row unordered as a quick rejection, then the two equal as a list when the gold text holds ORDER BY and as a multiset otherwise, under some permutation of the columns; DISTINCT is not stripped and re-executed, and the cells are PostgreSQL's as psycopg2 returns them",
    "source": "ruiqi-zhong/test-suite-sql-eval, exec_eval.py, result_eq, at commit 48cb78ec: https://github.com/ruiqi-zhong/test-suite-sql-eval/blob/48cb78ecf7f610620206283846c76751b18a1326/exec_eval.py",
    "order_matters": false,
    "gold_rows": 1,
    "second_rows": 343,
    "gold_columns": 1,
    "second_columns": 1
  },
  "mechanism": {
    "class": "multiplicity",
    "gold_types": [
      "numeric"
    ],
    "second_types": [
      "numeric"
    ],
    "multiset_equal": false,
    "set_equal": true,
    "order_equal": false,
    "shorter_result_is_a_prefix": true,
    "reading": "The class states what makes these two results unequal under this rule, read off the two results and nothing else. It does not state which of the two statements is wrong."
  },
  "gold": {
    "executed_sql": "SELECT ROUND(CAST((CAST(COUNT(CASE WHEN T2.label = '+' THEN T1.bond_id ELSE NULL END) AS REAL) * 100 / NULLIF(COUNT(T1.bond_id), 0)) AS NUMERIC), 5) AS percentage FROM bond AS T1 INNER JOIN molecule AS T2 ON T1.molecule_id = T2.molecule_id WHERE T1.bond_type = '-'",
    "own_ordering": [],
    "result": {
      "columns": [
        {
          "name": "percentage",
          "declared_type": "numeric"
        }
      ],
      "row_count": 1,
      "truncated": false,
      "rows_shown": 1,
      "rows": [
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ]
      ],
      "result_hash": "sha256:596884a4fc335169b38628cf6e0f541f7138e22421a7c1dce229a9cec178c7ee"
    },
    "record": "evidence-gold.json"
  },
  "second": {
    "executed_sql": "SELECT ROUND(\n    (\n        SELECT COUNT(*) \n        FROM molecule m \n        JOIN bond b ON m.molecule_id = b.molecule_id \n        WHERE b.bond_type = '-' AND m.label = '+'\n    )::decimal / \n    (\n        SELECT COUNT(*) \n        FROM bond \n        WHERE bond_type = '-'\n    ) * 100, 5\n) AS proportion_carcinogenic_single_bonds\nFROM molecule",
    "own_ordering": [],
    "result": {
      "columns": [
        {
          "name": "proportion_carcinogenic_single_bonds",
          "declared_type": "numeric"
        }
      ],
      "row_count": 343,
      "truncated": false,
      "rows_shown": 25,
      "rows": [
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ]
      ],
      "result_hash": "sha256:d0cda7badd938ebf5aebb9a300332ab3dde8adf5226fe6e4bda513cb46771f15"
    },
    "record": "evidence-second.json"
  },
  "canonical_ordering": [],
  "differing_rows": {
    "in_gold_not_in_second": [],
    "in_gold_not_in_second_total": 0,
    "in_second_not_in_gold": [
      {
        "row": [
          {
            "type": "dec",
            "value": "39.75203"
          }
        ],
        "count": 342
      }
    ],
    "in_second_not_in_gold_total": 342,
    "rows_shown_per_side": 25
  },
  "result_hashes": {
    "gold": "sha256:596884a4fc335169b38628cf6e0f541f7138e22421a7c1dce229a9cec178c7ee",
    "second": "sha256:d0cda7badd938ebf5aebb9a300332ab3dde8adf5226fe6e4bda513cb46771f15"
  },
  "backend_identity": "PostgreSQL 16.15 (Debian 16.15-1.pgdg13+2) on aarch64-unknown-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit | server=172.17.0.2/32:5432 | database=bird",
  "fixture": {
    "schema_digest": "sha256:ba1313ccad7346690accb8f37e8267cdf5724a0f7caf06cb34a49c00fc3980db",
    "row_counts": {
      "public.bond": 9156,
      "public.molecule": 343
    },
    "content_digests": {},
    "source_file_sha256": "sha256:31b1da211849d24a57c9af7636da46a5b82fc8a3ca1542bb3ebd8775e9a31cec"
  },
  "run_id": "audit-eacac37d-7cc4-4d44-9121-67cecbf29b75"
}
