From e671eb2731b648f9a83d94494705d221f8ec4082 Mon Sep 17 00:00:00 2001 From: Kamal Gurbanov Date: Sun, 31 May 2026 01:48:34 +0400 Subject: [PATCH] Fix KeyError on category-5 (adversarial) QA: read ground truth from adversarial_answer A clean checkout cannot evaluate any model on the category-5 (adversarial) questions. data/locomo10.json stores cat-5 ground truth under adversarial_answer, but the code reads 'answer'; 444 of 446 cat-5 questions have no 'answer' key, so evaluation crashes with KeyError: 'answer' at two sites (task_eval/evaluation.py scoring, and the cat-5 distractor blocks in gpt/claude/gemini/hf model utils). Read cat-5 ground truth defensively (answer -> adversarial_answer fallback); zero behavioural change for categories 1-4. Adds task_eval/test_cat5_eval.py (no network/keys), proven fails-then-passes. --- .../__pycache__/__init__.cpython-314.pyc | Bin 0 -> 189 bytes .../__pycache__/evaluation.cpython-314.pyc | Bin 0 -> 15048 bytes task_eval/claude_utils.py | 11 +++--- task_eval/evaluation.py | 8 +++-- task_eval/gemini_utils.py | 11 +++--- task_eval/gpt_utils.py | 11 +++--- task_eval/hf_llm_utils.py | 11 +++--- task_eval/test_cat5_eval.py | 34 ++++++++++++++++++ 8 files changed, 68 insertions(+), 18 deletions(-) create mode 100644 task_eval/__pycache__/__init__.cpython-314.pyc create mode 100644 task_eval/__pycache__/evaluation.cpython-314.pyc create mode 100644 task_eval/test_cat5_eval.py diff --git a/task_eval/__pycache__/__init__.cpython-314.pyc b/task_eval/__pycache__/__init__.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d04550d97e709d091430e8eb1d86c4923ddb91f GIT binary patch literal 189 zcmdPqED-$|M8E(el<}Dj$Y@{)Vo+w#Wb|9fP{ah}e+Eh3iqa1)PAw|d z&rZxu%tgx* z^KWHa^HWN5QtgUZfmVSWQw(B!VrFDy IEMf+-0A_?S(f|Me literal 0 HcmV?d00001 diff --git a/task_eval/__pycache__/evaluation.cpython-314.pyc b/task_eval/__pycache__/evaluation.cpython-314.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ec38e4d6832387283a3055697741403d2be95cbf GIT binary patch literal 15048 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 ji_LVyawSb4q?gSlbj9P=4tm}4S$Yj!^0))P