from typing import Any, Tuple def validate_submission(obj: Any) -> Tuple[bool, str]: """Validate VQA Answer Therapy submission format.""" if not isinstance(obj, list): return False, "Submission must be a JSON list of result objects." if len(obj) == 0: return False, "Submission list is empty." for i, item in enumerate(obj): if not isinstance(item, dict): return False, f"Entry at index {i} must be a JSON object." if "image" not in item: return False, f"Entry at index {i} missing 'image'." if "answer" not in item: return False, f"Entry at index {i} missing 'answer'." # if not isinstance(item["question_id"], str): # return False, f"'question_id' at index {i} must be a string." # sg = item["single_grounding"] # if not isinstance(sg, (int, float)): # return False, f"'single_grounding' at index {i} must be a float (0=multiple, 1=single)." # if not (0.0 <= float(sg) <= 1.0): # return False, f"'single_grounding' at index {i} must be between 0.0 and 1.0." return True, "OK"