{
    "criteria": [
        {
            "id": "499F3572-E655-4DEE-953B-5F26BF0191D7",
            "use": "ai_question",
            "template": "Ask AI: ${question}",
            "description": "Experimental: AI outputs may not be accurate. Use with caution and always review responses.",
            "docPath": "/teachertool",
            "maxCount": 5,
            "tags": ["General"],
            "requestFeedback": true,
            "params": [
                {
                    "name": "question",
                    "type": "longString",
                    "maxCharacters": 1000,
                    "paths": ["checks[0].question"],
                    "options": [
                        {
                            "id": "explainProgram",
                            "value": "Explain what this program does in clear, student-friendly language."
                        },
                        {
                            "id": "findMajorBugs",
                            "value": "Look for major bugs or logic errors in this project and describe any issues you find."
                        },
                        {
                            "id": "codeQuality",
                            "value": "Review the code quality. Mention strengths and suggest one improvement for readability or structure."
                        },
                        {
                            "id": "suggestEnhancement",
                            "value": "Suggest a meaningful enhancement that would make this project more engaging or polished."
                        }
                    ]
                },
                {
                    "name": "shareid",
                    "type": "system",
                    "key": "SHARE_ID",
                    "paths": ["checks[0].shareId"]
                }
            ]
        },
        {
            "id": "59AAC5BA-B0B3-4389-AA90-1E767EFA8563",
            "use": "block_used_n_times",
            "template": "${Block} used at least ${count} time(s)",
            "description": "This block was used at least the specified number of times in your project.",
            "docPath": "/teachertool",
            "tags": ["General"],
            "params": [
                {
                    "name": "block",
                    "type": "block",
                    "paths": ["checks[0].blockCounts[0].blockId"]
                },
                {
                    "name": "count",
                    "type": "number",
                    "min": 1,
                    "default": 1,
                    "paths": ["checks[0].blockCounts[0].count"]
                }
            ]
        },
        {
            "id": "7AE7EA2A-3AC8-42DC-89DB-65E3AE157156",
            "use": "comment_used",
            "template": "At least ${count} comment(s)",
            "description": "The project contains at least the specified number of comments.",
            "docPath": "/teachertool",
            "maxCount": 1,
            "tags": ["General"],
            "params": [
                {
                    "name": "count",
                    "type": "number",
                    "min": 1,
                    "default": 1,
                    "paths": ["checks[0].count"]
                }
            ]
        },
        {
            "id": "B8987394-1531-4C71-8661-BE4086CE0C6E",
            "use": "n_loops",
            "template": "At least ${count} loop(s) used",
            "docPath": "/teachertool",
            "description": "The program uses at least this many loops of any kind (for, repeat, while, or for-of).",
            "maxCount": 1,
            "tags": ["Code Elements"],
            "params": [
                {
                    "name": "count",
                    "type": "number",
                    "min": 1,
                    "paths": ["checks[0].count"],
                    "default": 1
                }
            ]
        },
        {
            "id": "79D5DAF7-FED3-473F-81E2-E004922E5F55",
            "use": "custom_function_called",
            "template": "At least ${count} custom function(s) exist and get called",
            "docPath": "/teachertool",
            "description": "At least this many user-defined functions are created and called.",
            "maxCount": 1,
            "tags": ["Code Elements"],
            "params": [
                {
                    "name": "count",
                    "type": "number",
                    "min": 1,
                    "paths": ["checks[0].count", "checks[1].count"],
                    "default": 1
                }
            ]
        },
        {
            "id": "0DFA44C8-3CA5-4C77-946E-AF09F6C03879",
            "use": "variable_usage",
            "template": "Uses at least ${count} variable(s)",
            "docPath": "/teachertool",
            "description": "The program creates and uses at least this many user-defined variables.",
            "maxCount": 1,
            "tags": ["Code Elements"],
            "params": [
                {
                    "name": "count",
                    "type": "number",
                    "min": 1,
                    "paths": ["checks[0].count"],
                    "default": 1
                }
            ]
        }
    ]
}
