in project/paperbench/paperbench/judge/judge.py [0:0]
def from_dict(cls, data: dict) -> "GradedTaskNode":
try:
sub_tasks = [cls.from_dict(task) for task in data["sub_tasks"]]
task = cls(
id=data["id"],
requirements=data["requirements"],
weight=data["weight"],
sub_tasks=sub_tasks,
task_category=data["task_category"],
score=data["score"],
valid_score=data["valid_score"],
explanation=data["explanation"],
judge_metadata=(data["judge_metadata"] if "judge_metadata" in data else None),
)
except KeyError as e:
raise ValueError(f"Missing required field in task data: {e}")
return task