Problem
standalone_eval.py presumably reads /app/answer.txt to score answers, but there is no guard in the recipe against a run that completes without writing the file (e.g. the agent gives a text response instead of executing code). This scores as incorrect silently rather than as an error, making failure analysis harder — a missing-file failure looks identical to a wrong-answer failure in the results.
Suggested Fix
In standalone_eval.py, distinguish the two failure modes:
import os
if not os.path.exists("/app/answer.txt"):
result = {"status": "no_answer_file", "score": 0}
elif open("/app/answer.txt").read().strip() == "":
result = {"status": "empty_answer", "score": 0}
else:
# normal scoring logic
...
Also add to the aggregate results script: a count of no_answer_file vs wrong_answer failures to separate behavioral failures from computation failures.
Impact
Low — does not affect accuracy scores, but significantly improves failure classification and the EvoSkill debug loop.
Problem
standalone_eval.pypresumably reads/app/answer.txtto score answers, but there is no guard in the recipe against a run that completes without writing the file (e.g. the agent gives a text response instead of executing code). This scores as incorrect silently rather than as an error, making failure analysis harder — a missing-file failure looks identical to a wrong-answer failure in the results.Suggested Fix
In
standalone_eval.py, distinguish the two failure modes:Also add to the aggregate results script: a count of
no_answer_filevswrong_answerfailures to separate behavioral failures from computation failures.Impact
Low — does not affect accuracy scores, but significantly improves failure classification and the EvoSkill debug loop.