What is the primary purpose of the code grader?	To ensure the model's output is plain Python, JSON, or a regular expression without any explanation.
What three helper functions are used to validate the syntax of the model's output?	`validateJSON`, `validatePython`, and `validateRegEx`.
How does the syntax validator determine if the output is valid?	It attempts to parse the output (as JSON, AST, or RegEx); a successful parse returns 10, while an error returns 0.
What key element must be added to the test case dataset to inform the grader what format to expect?	A `format` key (e.g., "JSON", "Python", or "regex").
What is the first step in implementing the code grader?	Adding the three validation helper functions (`validateJSON`, `validatePython`, `validateRegEx`) to the code.
What is the second step in implementing the code grader?	Updating the dataset to include the required `format` key for each task.
What instruction is added to the prompt template to restrict the model's response?	Asking the model to respond *only* with Python, JSON, or a plain regex, and to add no commentary or explanation.
What workaround was used in the prompt to encourage the model to output raw code without specifying the format?	Using "code" as the pre-filled assistant message.
How is the final score calculated after both the model grader and the code grader run?	By taking the average of the model score and the syntax score.
