{
  "configVersion": "1.0",
  "defaultLanguage": "en",
  "supportedLanguages": ["en", "fr"],
  "startupModal": {
    "id": "prototype_startup_instructions",
    "version": "3",
    "titleByLanguage": {
      "en": "Before you start",
      "fr": "Avant de commencer"
    },
    "bodyByLanguage": {
      "en": "This tool helps you create a strong prompt for an external AI tool. **It does not** create the evaluation grid for you.\n\nYou can think of the process in three simple steps:\n\n## 1. Build your prompt here\n- Complete the form.\n- Click **Generate Prompt**.\n- Click **Copy to Clipboard**.\n\n## 2. Use the prompt in your AI tool\n- Open your preferred AI tool, such as ChatGPT, Gemini, Claude, or Copilot.\n- Choose a thinking mode and the best model available to you.\n- Paste the prompt into the chat.\n- If you want the AI to use your assignment instructions, attach the document in the same conversation.\n\n## 3. Review and adjust\n- Read the result and see if it matches what you need.\n- If you want changes, ask the AI tool to revise or improve it.",
      "fr": "Cet outil vous aide a creer un bon prompt pour un outil IA externe. **Il ne cree pas** la grille d'evaluation pour vous.\n\nVous pouvez voir le processus en trois etapes simples :\n\n## 1. Creez votre prompt ici\n- Remplissez le formulaire.\n- Cliquez sur **Generate Prompt**.\n- Cliquez sur **Copy to Clipboard**.\n\n## 2. Utilisez le prompt dans votre outil IA\n- Ouvrez votre outil IA prefere, par exemple ChatGPT, Gemini, Claude ou Copilot.\n- Choisissez un mode de reflexion et le meilleur modele auquel vous avez acces.\n- Collez le prompt dans la conversation.\n- Si vous voulez que l'IA utilise vos consignes, joignez le document dans la meme conversation.\n\n## 3. Revisez et ajustez\n- Lisez le resultat et voyez s'il correspond a ce dont vous avez besoin.\n- Si vous voulez des changements, demandez a l'outil IA de le reviser ou de l'ameliorer."
    },
    "dismissLabelByLanguage": {
      "en": "Start the form",
      "fr": "Commencer"
    },
    "dontShowAgainLabelByLanguage": {
      "en": "Don't show this again on this browser",
      "fr": "Ne plus afficher sur ce navigateur"
    }
  },
 "criteriaSetFiles": [
  {
    "id": "cegep_esl_progression_en",
    "path": "config/criteria/cegep-esl-progression.en.json"
  },
  {
    "id": "cegep_esl_progression_fr",
    "path": "config/criteria/cegep-esl-progression.fr.json"
  }
],
  "contentSetFiles": [
    {
      "id": "cegep_esl_devis_competencies_en",
      "path": "config/content/cegep-esl-devis-competencies.en.json"
    }
  ],
  "templates": [
    {
      "id": "esl_evaluation_grid_prompt_template",
      "templateTextByLanguage": {
        "en": "I am a Québec CEGEP ESL teacher and I want you to generate an evaluation rubric or evaluation grid for a student task.\n\n{{educationalContextBlock}}\n\n{{assignmentContextBlock}}\n\n{{selectedCriteriaBlock}}\n\n{{rubricRequirementsBlock}}\n\n{{responseFormatBlock}}\n\n{{qualityConstraintsBlock}}",
        "fr": ""
      },
      "descriptionByLanguage": {
        "en": "Main template for generating ESL evaluation-grid prompts",
        "fr": ""
      },
      "reservedTokens": [
        "educationalContextBlock",
        "assignmentContextBlock",
        "selectedCriteriaBlock",
        "rubricRequirementsBlock",
        "responseFormatBlock",
        "qualityConstraintsBlock"
      ]
    },
    {
      "id": "esl_learning_scenario_prompt_template",
      "templateTextByLanguage": {
        "en": "{{mandatoryHeader}}\n\n{{teacherRequest}}\n\n{{courseAndCompetencyContext}}\n\n{{scenarioContext}}\n\n{{activityGuidance}}\n\n{{strategyGuidance}}\n\n{{stagedOutputInstructions}}",
        "fr": ""
      },
      "descriptionByLanguage": {
        "en": "Main template for generating ESL learning-scenario prompts",
        "fr": ""
      },
      "reservedTokens": [
        "mandatoryHeader",
        "teacherRequest",
        "courseAndCompetencyContext",
        "scenarioContext",
        "activityGuidance",
        "strategyGuidance",
        "stagedOutputInstructions"
      ]
    }
  ],

  "useCases": [
    {
      "id": "generate_esl_evaluation_grid_prompt",
      "labelByLanguage": {
        "en": "Generate ESL evaluation-grid prompt",
        "fr": ""
      },
      "descriptionByLanguage": {
        "en": "Guided prompt builder for Québec CEGEP ESL evaluation grids",
        "fr": ""
      },
      "templateId": "esl_evaluation_grid_prompt_template",
      "parameterIdsInOrder": [
        "courseBlock",
        "courseLevel",
        "assessmentType",
        "languageSkills",
        "taskInputMethods",
        "taskTypes",
        "taskTypesOtherText",
        "taskDescription",
        "communicativePurposes",
        "communicativePurposesOtherText",
        "intendedAudiences",
        "intendedAudiencesOtherText",
        "linguisticFocuses",
        "linguisticFocusOtherText",
        "selectedCriteria",
        "rubricStructure",
        "performanceLevelCount",
        "descriptorStyle",
        "criteriaWeightingMode",
        "criteriaPercentageWeights",
        "outputFormat",
        "documentFileFormat"
      ],
      "defaultTargetId": "clipboard",
      "instructionsAfterGenerationByLanguage": {
        "en": "Copy the prompt and paste it into your AI tool.",
        "fr": ""
      },
      "copyInstructionsWithAssignmentDocumentByLanguage": {
        "en": "After pasting the prompt into your AI tool, attach the assignment instructions document in the same conversation and let the chatbot read it before generating the evaluation grid.",
        "fr": ""
      },
      "startupModal": {
        "id": "evaluation_grid_startup_instructions",
        "version": "1",
        "titleByLanguage": {
          "en": "Before you start",
          "fr": "Avant de commencer"
        },
        "bodyByLanguage": {
          "en": "This workflow helps you create a strong prompt for an external AI tool. **It does not** create the evaluation grid for you.\n\n## 1. Build the evaluation prompt here\n- Complete the form.\n- Select criteria aligned with the course level and skills.\n- Click **Generate Prompt** and then **Copy to Clipboard**.\n\n## 2. Use the prompt in your AI tool\n- Paste the prompt into your preferred AI tool.\n- If you selected the assignment-document option, attach that document in the same conversation.\n\n## 3. Review the AI output\n- Check the generated grid against your task, criteria, and professional judgment.\n- Ask the AI tool to revise the grid if needed.",
          "fr": ""
        },
        "dismissLabelByLanguage": {
          "en": "Start the form",
          "fr": "Commencer"
        },
        "dontShowAgainLabelByLanguage": {
          "en": "Don't show this again on this browser",
          "fr": "Ne plus afficher sur ce navigateur"
        }
      }
    },
    {
      "id": "generate_esl_learning_scenario_prompt",
      "labelByLanguage": {
        "en": "Generate ESL learning-scenario prompt",
        "fr": ""
      },
      "descriptionByLanguage": {
        "en": "Guided prompt builder for action-oriented CEGEP ESL learning scenarios",
        "fr": ""
      },
      "templateId": "esl_learning_scenario_prompt_template",
      "parameterIdsInOrder": [
        "courseBlock",
        "courseLevel",
        "learningObjectives",
        "scenarioDuration",
        "scenarioTaskInputMethods",
        "finalTaskDescription",
        "successIndicatorMode",
        "selectedSuccessIndicators",
        "activityGuidance",
        "activityIdeas",
        "strategyGuidance",
        "selectedStrategyExamples",
        "customStrategyIdeas",
        "stagedScenarioOutput"
      ],
      "defaultTargetId": "clipboard",
      "instructionsAfterGenerationByLanguage": {
        "en": "Copy the prompt and paste it into your AI tool. The AI should guide you step by step rather than generating everything at once.",
        "fr": ""
      },
      "copyInstructionsWithAssignmentDocumentByLanguage": {
        "en": "After pasting the prompt into your AI tool, attach the final task or assignment instructions document in the same conversation and let the chatbot read it before critiquing or designing the learning scenario.",
        "fr": ""
      },
      "startupModal": {
        "id": "learning_scenario_startup_instructions",
        "version": "1",
        "titleByLanguage": {
          "en": "Before you start",
          "fr": "Avant de commencer"
        },
        "bodyByLanguage": {
          "en": "This workflow helps you create a strong prompt for an external AI tool that will help you design an action-oriented ESL learning scenario. **It does not** generate the scenario inside this app.\n\n## What this prompt is for\n- It asks the AI to help you align competencies, success indicators, the final task, activities, strategies, feedback, reflection, and reinvestment.\n- It is built around the ESL devis: block, level, objectives, and success indicators.\n- If you choose **Inspire me**, the copied prompt tells the external AI to suggest aligned activities or strategies.\n\n## How to use it\n- Complete the form with the scenario context you already have.\n- Click **Generate Prompt** and then **Copy to Clipboard**.\n- Paste the prompt into your preferred AI tool.\n- If you selected the task-document option, attach that document in the same AI conversation.\n\n## What the AI should do next\n- First, critique your scenario idea constructively.\n- Then, when you signal readiness, generate the scenario overview.\n- Finally, when you are ready, break the scenario into lesson plans.",
          "fr": ""
        },
        "dismissLabelByLanguage": {
          "en": "Start the form",
          "fr": "Commencer"
        },
        "dontShowAgainLabelByLanguage": {
          "en": "Don't show this again on this browser",
          "fr": "Ne plus afficher sur ce navigateur"
        }
      }
    }
  ],

  "parameters": [
    {
      "id": "courseBlock",
      "name": "courseBlock",
      "labelByLanguage": {
        "en": "Block of the Course",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Which course block does this assignment belong to?",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "optionSetId": "courseBlockOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "courseLevel",
      "name": "courseLevel",
      "labelByLanguage": {
        "en": "Course Level",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "What level is the course?",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "optionSetId": "courseLevelOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "assessmentType",
      "name": "assessmentType",
      "labelByLanguage": {
        "en": "Type of Assessment or Evaluation",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "What type of assessment is this?",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "optionSetId": "assessmentTypeOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "languageSkills",
      "name": "languageSkills",
      "labelByLanguage": {
        "en": "Language Skills Involved",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Select the broad skill domains involved in the assignment.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": true,
      "multiple": true,
      "optionSetId": "languageSkillOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "taskInputMethods",
      "name": "taskInputMethods",
      "labelByLanguage": {
        "en": "How Would You Like to Provide Task Details?",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose one or more options below. Each one opens the next step for adding task information.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": true,
      "multiple": true,
      "optionSetId": "taskInputMethodOptions",
      "promptMapping": {
        "mode": "taskInputMethodsBlock"
      }
    },
    {
      "id": "taskTypes",
      "name": "taskTypes",
      "labelByLanguage": {
        "en": "Type of Task",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Select one or more task types, or choose Other.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": false,
      "multiple": true,
      "optionSetId": "taskTypeOptions",
      "otherFieldParameterId": "taskTypesOtherText",
      "promptMapping": {
        "mode": "labelListWithOther"
      }
    },
    {
      "id": "taskTypesOtherText",
      "name": "taskTypesOtherText",
      "labelByLanguage": {
        "en": "Other task type",
        "fr": ""
      },
      "inputType": "shortText",
      "required": false
    },
    {
      "id": "taskDescription",
      "name": "taskDescription",
      "labelByLanguage": {
        "en": "Task Description",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Briefly describe the assignment students were given.",
        "fr": ""
      },
      "inputType": "longText",
      "required": false,
      "promptMapping": {
        "mode": "text"
      }
    },
    {
      "id": "communicativePurposes",
      "name": "communicativePurposes",
      "labelByLanguage": {
        "en": "Communicative Purpose",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "What are students trying to achieve communicatively?",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": false,
      "multiple": true,
      "optionSetId": "communicativePurposeOptions",
      "otherFieldParameterId": "communicativePurposesOtherText",
      "promptMapping": {
        "mode": "labelListWithOther"
      }
    },
    {
      "id": "communicativePurposesOtherText",
      "name": "communicativePurposesOtherText",
      "labelByLanguage": {
        "en": "Other communicative purpose",
        "fr": ""
      },
      "inputType": "shortText",
      "required": false
    },
    {
      "id": "intendedAudiences",
      "name": "intendedAudiences",
      "labelByLanguage": {
        "en": "Intended Audience",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Who is the intended audience for the task?",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": false,
      "multiple": true,
      "optionSetId": "intendedAudienceOptions",
      "otherFieldParameterId": "intendedAudiencesOtherText",
      "promptMapping": {
        "mode": "labelListWithOther"
      }
    },
    {
      "id": "intendedAudiencesOtherText",
      "name": "intendedAudiencesOtherText",
      "labelByLanguage": {
        "en": "Other audience",
        "fr": ""
      },
      "inputType": "shortText",
      "required": false
    },
    {
      "id": "linguisticFocuses",
      "name": "linguisticFocuses",
      "labelByLanguage": {
        "en": "Target Linguistic Focus",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Which language features deserve special attention in the evaluation grid?",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": false,
      "multiple": true,
      "optionSetId": "linguisticFocusOptions",
      "otherFieldParameterId": "linguisticFocusOtherText",
      "promptMapping": {
        "mode": "labelListWithOther"
      }
    },
    {
      "id": "linguisticFocusOtherText",
      "name": "linguisticFocusOtherText",
      "labelByLanguage": {
        "en": "Other linguistic focus",
        "fr": ""
      },
      "inputType": "shortText",
      "required": false
    },
    {
      "id": "selectedCriteria",
      "name": "selectedCriteria",
      "labelByLanguage": {
        "en": "Evaluation Criteria",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Select the objective and/or specific success indicators. The AI will use these as the basis for the evaluation grid.",
        "fr": ""
      },
      "inputType": "criteriaSelect",
      "required": true,
      "criteriaSource": {
        "criteriaSetIdByLanguage": {
          "en": "cegep_esl_progression_en",
          "fr": "cegep_esl_progression_fr"
        },
        "filterBy": [
          "courseLevel",
          "languageSkills"
        ]
      },
      "promptMapping": {
        "mode": "criteriaBlock"
      }
    },
    {
      "id": "rubricStructure",
      "name": "rubricStructure",
      "labelByLanguage": {
        "en": "Rubric Structure",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose the overall evaluation-tool structure.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "defaultValue": "analytic_rubric",
      "optionSetId": "rubricStructureOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "performanceLevelCount",
      "name": "performanceLevelCount",
      "labelByLanguage": {
        "en": "Number of Performance Levels",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose the number or style of performance levels.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "defaultValue": "five_levels",
      "optionSetId": "performanceLevelCountOptions",
      "promptMapping": {
        "mode": "label"
      }
    },
    {
      "id": "descriptorStyle",
      "name": "descriptorStyle",
      "labelByLanguage": {
        "en": "Descriptor Style",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose how the descriptors should be written.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "defaultValue": "cefr_can_do",
      "optionSetId": "descriptorStyleOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "criteriaWeightingMode",
      "name": "criteriaWeightingMode",
      "labelByLanguage": {
        "en": "Emphasis or Weighting of Criteria",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Keep all criteria equally weighted or assign custom percentages to each selected criterion.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "defaultValue": "equal_weighting",
      "optionSetId": "criteriaWeightingModeOptions",
      "promptMapping": {
        "mode": "weightingBlock"
      }
    },
    {
      "id": "criteriaPercentageWeights",
      "name": "criteriaPercentageWeights",
      "labelByLanguage": {
        "en": "Criterion Percentages",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Assign a whole-number percentage to each selected criterion. The total must equal 100%.",
        "fr": ""
      },
      "inputType": "criteriaPercentageWeights",
      "required": false,
      "dynamicOptionsSource": {
        "type": "selectedCriteria"
      }
    },
    {
      "id": "outputFormat",
      "name": "outputFormat",
      "labelByLanguage": {
        "en": "Output Format",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose the final format the AI should generate.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "defaultValue": "table_rubric_with_criteria_and_levels",
      "optionSetId": "outputFormatOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "documentFileFormat",
      "name": "documentFileFormat",
      "labelByLanguage": {
        "en": "Document File Format (Optional)",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Optionally ask the AI tool to return the result as a .docx or .xlsx file when supported.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": false,
      "optionSetId": "documentFileFormatOptions"
    },
    {
      "id": "learningObjectives",
      "name": "learningObjectives",
      "labelByLanguage": {
        "en": "Objectives",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Select the specific objective areas that should anchor the learning scenario.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": true,
      "multiple": true,
      "optionSetId": "learningObjectiveOptions",
      "promptMapping": {
        "mode": "devisObjectivesBlock"
      }
    },
    {
      "id": "scenarioDuration",
      "name": "scenarioDuration",
      "labelByLanguage": {
        "en": "Scope of Scenario",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose the approximate duration of the learning scenario.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "optionSetId": "scenarioDurationOptions",
      "promptMapping": {
        "mode": "contextBlock"
      }
    },
    {
      "id": "scenarioTaskInputMethods",
      "name": "scenarioTaskInputMethods",
      "labelByLanguage": {
        "en": "Final Task",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Describe the final task here, attach instructions in the external AI tool, or do both.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": true,
      "multiple": true,
      "optionSetId": "scenarioTaskInputMethodOptions",
      "promptMapping": {
        "mode": "learningScenarioTaskBlock"
      }
    },
    {
      "id": "finalTaskDescription",
      "name": "finalTaskDescription",
      "labelByLanguage": {
        "en": "Final task description",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Describe the meaningful final task students will complete, including purpose, audience, context, and expected outcome if known.",
        "fr": ""
      },
      "inputType": "longText",
      "required": false
    },
    {
      "id": "successIndicatorMode",
      "name": "successIndicatorMode",
      "labelByLanguage": {
        "en": "Skills & Success Indicators",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Overall success indicators are always included. Choose whether to include all objective-specific indicators or select particular ones.",
        "fr": ""
      },
      "inputType": "singleSelect",
      "required": true,
      "defaultValue": "include_all",
      "optionSetId": "successIndicatorModeOptions"
    },
    {
      "id": "selectedSuccessIndicators",
      "name": "selectedSuccessIndicators",
      "labelByLanguage": {
        "en": "Select Specific Success Indicators",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose the objective-specific success indicators the AI should emphasize. Overall indicators remain included automatically.",
        "fr": ""
      },
      "inputType": "devisSuccessIndicators",
      "required": false,
      "contentSource": {
        "contentSetIdByLanguage": {
          "en": "cegep_esl_devis_competencies_en",
          "fr": "cegep_esl_devis_competencies_en"
        },
        "filterBy": [
          "courseBlock",
          "courseLevel",
          "learningObjectives"
        ]
      },
      "promptMapping": {
        "mode": "devisSuccessIndicatorsBlock"
      }
    },
    {
      "id": "activityGuidance",
      "name": "activityGuidance",
      "labelByLanguage": {
        "en": "Activities",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose how the external AI should handle learning activities.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": true,
      "multiple": true,
      "optionSetId": "activityGuidanceOptions",
      "promptMapping": {
        "mode": "activityGuidanceBlock"
      }
    },
    {
      "id": "activityIdeas",
      "name": "activityIdeas",
      "labelByLanguage": {
        "en": "Activity ideas",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "List any activities, materials, or task sequence ideas you already have.",
        "fr": ""
      },
      "inputType": "longText",
      "required": false
    },
    {
      "id": "strategyGuidance",
      "name": "strategyGuidance",
      "labelByLanguage": {
        "en": "Strategies",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Choose how the external AI should integrate learning strategies.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": true,
      "multiple": true,
      "optionSetId": "strategyGuidanceOptions",
      "promptMapping": {
        "mode": "strategyGuidanceBlock"
      }
    },
    {
      "id": "selectedStrategyExamples",
      "name": "selectedStrategyExamples",
      "labelByLanguage": {
        "en": "Strategy examples",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Select strategy examples the AI should consider while designing the scenario.",
        "fr": ""
      },
      "inputType": "multiSelect",
      "required": false,
      "multiple": true,
      "optionSetId": "strategyExampleOptions"
    },
    {
      "id": "customStrategyIdeas",
      "name": "customStrategyIdeas",
      "labelByLanguage": {
        "en": "Custom strategy ideas",
        "fr": ""
      },
      "helpTextByLanguage": {
        "en": "Describe any strategy work you want included or emphasized.",
        "fr": ""
      },
      "inputType": "longText",
      "required": false
    },
    {
      "id": "stagedScenarioOutput",
      "name": "stagedScenarioOutput",
      "labelByLanguage": {
        "en": "Prompt Generation Rules",
        "fr": ""
      },
      "inputType": "checkbox",
      "required": false,
      "defaultValue": true,
      "promptMapping": {
        "mode": "stagedScenarioOutputBlock"
      }
    }
  ],

  "optionSets": [
    {
      "id": "courseBlockOptions",
      "options": [
        {
          "id": "a_block",
          "value": "a_block",
          "labelByLanguage": {
            "en": "A-block",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Development of English as a second language in contexts of social and cultural relevance.",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "The course belongs to A-block, meaning English learning in contexts of social and cultural relevance.",
            "fr": ""
          }
        },
        {
          "id": "b_block",
          "value": "b_block",
          "labelByLanguage": {
            "en": "B-block",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Development of English as a second language for academic, professional, or workplace contexts.",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "The course belongs to B-block, meaning English learning in academic, professional, or workplace-related contexts.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "courseLevelOptions",
      "options": [
        {
          "id": "level_1",
          "value": "level_1",
          "labelByLanguage": {
            "en": "Level 1 — CEFR A2+",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "The course level is Level 1, approximately CEFR A2+, so the evaluation grid should reflect an early-stage ESL learner profile with limited but emerging ability to communicate clearly on familiar topics.",
            "fr": ""
          }
        },
        {
          "id": "level_2",
          "value": "level_2",
          "labelByLanguage": {
            "en": "Level 2 — CEFR B1",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "The course level is Level 2, approximately CEFR B1, so the evaluation grid should reflect an intermediate ESL learner profile able to express and connect ideas with some coherence, while still needing support for precision, flexibility, and consistency.",
            "fr": ""
          }
        },
        {
          "id": "level_3",
          "value": "level_3",
          "labelByLanguage": {
            "en": "Level 3 — CEFR B2",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "The course level is Level 3, approximately CEFR B2, so the evaluation grid should reflect an upper-intermediate ESL learner profile with growing independence, clearer organization, and stronger control of language in varied contexts.",
            "fr": ""
          }
        },
        {
          "id": "level_4",
          "value": "level_4",
          "labelByLanguage": {
            "en": "Level 4 — CEFR C1",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "The course level is Level 4, approximately CEFR C1, so the evaluation grid should reflect an advanced ESL learner profile capable of nuanced, flexible, and effective communication in complex contexts.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "assessmentTypeOptions",
      "options": [
        {
          "id": "diagnostic",
          "value": "diagnostic",
          "labelByLanguage": {
            "en": "Diagnostic",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "This is a diagnostic assessment, so the tool should help identify current strengths, needs, and starting points rather than function as a final judgment.",
            "fr": ""
          }
        },
        {
          "id": "formative",
          "value": "formative",
          "labelByLanguage": {
            "en": "Formative",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "This is a formative assessment, so the tool should support feedback, progression, and improvement during learning.",
            "fr": ""
          }
        },
        {
          "id": "summative",
          "value": "summative",
          "labelByLanguage": {
            "en": "Summative",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "This is a summative assessment, so the tool should support a formal evaluation of demonstrated performance on the task.",
            "fr": ""
          }
        },
        {
          "id": "self_assessment",
          "value": "self_assessment",
          "labelByLanguage": {
            "en": "Self-assessment",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "This is a self-assessment context, so the tool should use accessible wording that supports student reflection on performance.",
            "fr": ""
          }
        },
        {
          "id": "peer_assessment",
          "value": "peer_assessment",
          "labelByLanguage": {
            "en": "Peer assessment",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "This is a peer-assessment context, so the tool should be clear, usable, and appropriate for students evaluating one another constructively.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "languageSkillOptions",
      "options": [
        {
          "id": "oral_interaction",
          "value": "oral_interaction",
          "labelByLanguage": {
            "en": "Oral interaction and expression",
            "fr": ""
          }
        },
        {
          "id": "listening",
          "value": "listening",
          "labelByLanguage": {
            "en": "Listening comprehension",
            "fr": ""
          }
        },
        {
          "id": "reading",
          "value": "reading",
          "labelByLanguage": {
            "en": "Reading comprehension",
            "fr": ""
          }
        },
        {
          "id": "writing",
          "value": "writing",
          "labelByLanguage": {
            "en": "Writing",
            "fr": ""
          }
        },
        {
          "id": "reinvestment",
          "value": "reinvestment",
          "labelByLanguage": {
            "en": "Reinvestment of ideas from texts",
            "fr": ""
          }
        },
        {
          "id": "grammar_structures",
          "value": "grammar_structures",
          "labelByLanguage": {
            "en": "Grammar / language structures",
            "fr": ""
          }
        },
        {
          "id": "vocabulary",
          "value": "vocabulary",
          "labelByLanguage": {
            "en": "Vocabulary use",
            "fr": ""
          }
        },
        {
          "id": "pronunciation",
          "value": "pronunciation",
          "labelByLanguage": {
            "en": "Pronunciation / intelligibility",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "taskInputMethodOptions",
      "options": [
        {
          "id": "select_task_type",
          "value": "select_task_type",
          "labelByLanguage": {
            "en": "Choose task type(s) from a list",
            "fr": ""
          }
        },
        {
          "id": "describe_task",
          "value": "describe_task",
          "labelByLanguage": {
            "en": "Write the task description yourself",
            "fr": ""
          }
        },
        {
          "id": "include_assignment_instructions_document",
          "value": "include_assignment_instructions_document",
          "labelByLanguage": {
            "en": "Attach assignment instructions after pasting the prompt",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Don't forget to attach your document after copy/pasting the prompt.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "taskTypeOptions",
      "options": [
        {
          "id": "creative_writing",
          "value": "creative_writing",
          "labelByLanguage": {
            "en": "Creative writing",
            "fr": ""
          }
        },
        {
          "id": "discussion",
          "value": "discussion",
          "labelByLanguage": {
            "en": "Discussion",
            "fr": ""
          }
        },
        {
          "id": "debate",
          "value": "debate",
          "labelByLanguage": {
            "en": "Debate",
            "fr": ""
          }
        },
        {
          "id": "role_play",
          "value": "role_play",
          "labelByLanguage": {
            "en": "Role play",
            "fr": ""
          }
        },
        {
          "id": "interview",
          "value": "interview",
          "labelByLanguage": {
            "en": "Interview",
            "fr": ""
          }
        },
        {
          "id": "presentation",
          "value": "presentation",
          "labelByLanguage": {
            "en": "Presentation",
            "fr": ""
          }
        },
        {
          "id": "storytelling",
          "value": "storytelling",
          "labelByLanguage": {
            "en": "Storytelling",
            "fr": ""
          }
        },
        {
          "id": "problem_solving_task",
          "value": "problem_solving_task",
          "labelByLanguage": {
            "en": "Problem-solving task",
            "fr": ""
          }
        },
        {
          "id": "reflection",
          "value": "reflection",
          "labelByLanguage": {
            "en": "Reflection",
            "fr": ""
          }
        },
        {
          "id": "opinion_text",
          "value": "opinion_text",
          "labelByLanguage": {
            "en": "Opinion text",
            "fr": ""
          }
        },
        {
          "id": "summary",
          "value": "summary",
          "labelByLanguage": {
            "en": "Summary",
            "fr": ""
          }
        },
        {
          "id": "essay",
          "value": "essay",
          "labelByLanguage": {
            "en": "Essay",
            "fr": ""
          }
        },
        {
          "id": "email_professional_communication",
          "value": "email_professional_communication",
          "labelByLanguage": {
            "en": "Email or professional communication",
            "fr": ""
          }
        },
        {
          "id": "report",
          "value": "report",
          "labelByLanguage": {
            "en": "Report",
            "fr": ""
          }
        },
        {
          "id": "text_analysis",
          "value": "text_analysis",
          "labelByLanguage": {
            "en": "Text analysis",
            "fr": ""
          }
        },
        {
          "id": "research_task",
          "value": "research_task",
          "labelByLanguage": {
            "en": "Research task",
            "fr": ""
          }
        },
        {
          "id": "media_production",
          "value": "media_production",
          "labelByLanguage": {
            "en": "Media production",
            "fr": ""
          }
        },
        {
          "id": "other",
          "value": "other",
          "labelByLanguage": {
            "en": "Other",
            "fr": ""
          },
          "isOther": true
        }
      ]
    },
    {
      "id": "communicativePurposeOptions",
      "options": [
        {
          "id": "inform",
          "value": "inform",
          "labelByLanguage": {
            "en": "Inform",
            "fr": ""
          }
        },
        {
          "id": "explain",
          "value": "explain",
          "labelByLanguage": {
            "en": "Explain",
            "fr": ""
          }
        },
        {
          "id": "describe",
          "value": "describe",
          "labelByLanguage": {
            "en": "Describe",
            "fr": ""
          }
        },
        {
          "id": "narrate",
          "value": "narrate",
          "labelByLanguage": {
            "en": "Narrate",
            "fr": ""
          }
        },
        {
          "id": "persuade",
          "value": "persuade",
          "labelByLanguage": {
            "en": "Persuade",
            "fr": ""
          }
        },
        {
          "id": "argue",
          "value": "argue",
          "labelByLanguage": {
            "en": "Argue",
            "fr": ""
          }
        },
        {
          "id": "analyze",
          "value": "analyze",
          "labelByLanguage": {
            "en": "Analyze",
            "fr": ""
          }
        },
        {
          "id": "reflect",
          "value": "reflect",
          "labelByLanguage": {
            "en": "Reflect",
            "fr": ""
          }
        },
        {
          "id": "respond_to_text",
          "value": "respond_to_text",
          "labelByLanguage": {
            "en": "Respond to a text",
            "fr": ""
          }
        },
        {
          "id": "propose_solutions",
          "value": "propose_solutions",
          "labelByLanguage": {
            "en": "Propose solutions",
            "fr": ""
          }
        },
        {
          "id": "other",
          "value": "other",
          "labelByLanguage": {
            "en": "Other",
            "fr": ""
          },
          "isOther": true
        }
      ]
    },
    {
      "id": "intendedAudienceOptions",
      "options": [
        {
          "id": "classmates",
          "value": "classmates",
          "labelByLanguage": {
            "en": "Classmates",
            "fr": ""
          }
        },
        {
          "id": "teacher",
          "value": "teacher",
          "labelByLanguage": {
            "en": "Teacher",
            "fr": ""
          }
        },
        {
          "id": "general_public",
          "value": "general_public",
          "labelByLanguage": {
            "en": "General public",
            "fr": ""
          }
        },
        {
          "id": "professional_audience",
          "value": "professional_audience",
          "labelByLanguage": {
            "en": "Professional audience",
            "fr": ""
          }
        },
        {
          "id": "academic_audience",
          "value": "academic_audience",
          "labelByLanguage": {
            "en": "Academic audience",
            "fr": ""
          }
        },
        {
          "id": "online_audience",
          "value": "online_audience",
          "labelByLanguage": {
            "en": "Online audience",
            "fr": ""
          }
        },
        {
          "id": "other",
          "value": "other",
          "labelByLanguage": {
            "en": "Other",
            "fr": ""
          },
          "isOther": true
        }
      ]
    },
    {
      "id": "linguisticFocusOptions",
      "options": [
        {
          "id": "grammar_accuracy",
          "value": "grammar_accuracy",
          "labelByLanguage": {
            "en": "Grammar accuracy",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. article use or subject-verb agreement",
            "fr": ""
          }
        },
        {
          "id": "sentence_structure",
          "value": "sentence_structure",
          "labelByLanguage": {
            "en": "Sentence structure",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. simple vs. complex sentences",
            "fr": ""
          }
        },
        {
          "id": "verb_tense_use",
          "value": "verb_tense_use",
          "labelByLanguage": {
            "en": "Verb tense use",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. past tense consistency or tense shifts",
            "fr": ""
          }
        },
        {
          "id": "vocabulary_range",
          "value": "vocabulary_range",
          "labelByLanguage": {
            "en": "Vocabulary range",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. topic-specific words or varied vocabulary",
            "fr": ""
          }
        },
        {
          "id": "vocabulary_precision",
          "value": "vocabulary_precision",
          "labelByLanguage": {
            "en": "Vocabulary precision",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. word choice or collocations",
            "fr": ""
          }
        },
        {
          "id": "transition_words",
          "value": "transition_words",
          "labelByLanguage": {
            "en": "Transition words",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. sequencing words or connectors",
            "fr": ""
          }
        },
        {
          "id": "paragraph_organization",
          "value": "paragraph_organization",
          "labelByLanguage": {
            "en": "Paragraph organization",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. topic sentences or paragraph unity",
            "fr": ""
          }
        },
        {
          "id": "pronunciation",
          "value": "pronunciation",
          "labelByLanguage": {
            "en": "Pronunciation",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. word stress or final sounds",
            "fr": ""
          }
        },
        {
          "id": "fluency",
          "value": "fluency",
          "labelByLanguage": {
            "en": "Fluency",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. pacing or hesitation",
            "fr": ""
          }
        },
        {
          "id": "register_tone",
          "value": "register_tone",
          "labelByLanguage": {
            "en": "Register and tone",
            "fr": ""
          },
          "supportsInlineDetail": true,
          "inlineDetailPlaceholderByLanguage": {
            "en": "Optional detail, e.g. formal language or audience awareness",
            "fr": ""
          }
        },
        {
          "id": "other",
          "value": "other",
          "labelByLanguage": {
            "en": "Other",
            "fr": ""
          },
          "isOther": true
        }
      ]
    },
    {
      "id": "rubricStructureOptions",
      "options": [
        {
          "id": "analytic_rubric",
          "value": "analytic_rubric",
          "labelByLanguage": {
            "en": "Analytic rubric",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Use an analytic rubric with separate criteria and clear distinctions across performance levels.",
            "fr": ""
          }
        },
        {
          "id": "holistic_rubric",
          "value": "holistic_rubric",
          "labelByLanguage": {
            "en": "Holistic rubric",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Use a holistic rubric that provides broader overall level descriptions rather than highly separated criterion-by-criterion scoring.",
            "fr": ""
          }
        },
        {
          "id": "checklist",
          "value": "checklist",
          "labelByLanguage": {
            "en": "Checklist",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Use a checklist structure focused on whether key performance elements are present or demonstrated.",
            "fr": ""
          }
        },
        {
          "id": "rating_scale",
          "value": "rating_scale",
          "labelByLanguage": {
            "en": "Rating scale",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Use a rating scale that allows performance to be judged across ordered levels for each criterion.",
            "fr": ""
          }
        },
        {
          "id": "success_criteria_list",
          "value": "success_criteria_list",
          "labelByLanguage": {
            "en": "Success criteria list",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Produce a success criteria list that clearly identifies what successful performance should demonstrate.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "performanceLevelCountOptions",
      "options": [
        {
          "id": "three_levels",
          "value": "three_levels",
          "labelByLanguage": {
            "en": "3 levels — emerging / developing / proficient",
            "fr": ""
          }
        },
        {
          "id": "four_levels",
          "value": "four_levels",
          "labelByLanguage": {
            "en": "4 levels — emerging / developing / proficient / advanced",
            "fr": ""
          }
        },
        {
          "id": "five_levels",
          "value": "five_levels",
          "labelByLanguage": {
            "en": "5 levels — Advanced / Complete / Acceptable / Partial / Minimal",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "descriptorStyleOptions",
      "options": [
        {
          "id": "student_friendly",
          "value": "student_friendly",
          "labelByLanguage": {
            "en": "Student-friendly language",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Example: \"I can organize my ideas into paragraphs in a logical order.\"",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Write descriptors in accessible language that students can understand clearly.",
            "fr": ""
          }
        },
        {
          "id": "teacher_friendly",
          "value": "teacher_friendly",
          "labelByLanguage": {
            "en": "Teacher-friendly language",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Example: \"Ideas are organized into paragraphs with a generally logical sequence.\"",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Write descriptors in professional, teacher-facing language suitable for instructional planning and evaluation use.",
            "fr": ""
          }
        },
        {
          "id": "cefr_can_do",
          "value": "cefr_can_do",
          "labelByLanguage": {
            "en": "CEFR-style can-do statements",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Example: \"The student can organize ideas into clear paragraphs with a logical sequence.\"",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Write descriptors as observable CEFR-style can-do statements focused on what the learner can demonstrate.",
            "fr": ""
          }
        },
        {
          "id": "detailed_analytic",
          "value": "detailed_analytic",
          "labelByLanguage": {
            "en": "Detailed analytic descriptors",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Write detailed analytic descriptors with clear distinctions between levels for each criterion.",
            "fr": ""
          }
        },
        {
          "id": "short_bullets",
          "value": "short_bullets",
          "labelByLanguage": {
            "en": "Short bullet descriptors",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Write concise bullet-style descriptors rather than longer paragraph-style cells.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "criteriaWeightingModeOptions",
      "options": [
        {
          "id": "equal_weighting",
          "value": "equal_weighting",
          "labelByLanguage": {
            "en": "Equal weighting for all criteria",
            "fr": ""
          }
        },
        {
          "id": "custom_percentages",
          "value": "custom_percentages",
          "labelByLanguage": {
            "en": "Custom percentages",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "outputFormatOptions",
      "options": [
        {
          "id": "table_rubric_with_criteria_and_levels",
          "value": "table_rubric_with_criteria_and_levels",
          "labelByLanguage": {
            "en": "Table rubric with criteria and levels",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Present the response as a table rubric with criteria in rows and performance levels in columns.",
            "fr": ""
          }
        },
        {
          "id": "checklist_table",
          "value": "checklist_table",
          "labelByLanguage": {
            "en": "Checklist table",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Present the response as a checklist table focused on whether key criteria are demonstrated.",
            "fr": ""
          }
        },
        {
          "id": "rubric_with_point_values",
          "value": "rubric_with_point_values",
          "labelByLanguage": {
            "en": "Rubric with point values",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Include point values in the rubric structure where appropriate.",
            "fr": ""
          }
        },
        {
          "id": "rubric_without_points",
          "value": "rubric_without_points",
          "labelByLanguage": {
            "en": "Rubric without points",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Do not include point values; focus on qualitative performance descriptors only.",
            "fr": ""
          }
        },
        {
          "id": "rubric_plus_feedback_comments",
          "value": "rubric_plus_feedback_comments",
          "labelByLanguage": {
            "en": "Rubric plus feedback comments",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Produce the rubric and also include a short feedback-comment section aligned with the criteria.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "documentFileFormatOptions",
      "options": [
        {
          "id": "docx_document",
          "value": "docx_document",
          "labelByLanguage": {
            "en": ".docx document",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Ask for a Word document when the AI tool supports file generation.",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "If your AI tool supports file creation, generate the final result as an actual .docx file. If it does not, return the content in a Word-ready structure that can be copied into a .docx document with minimal cleanup.",
            "fr": ""
          }
        },
        {
          "id": "xlsx_spreadsheet",
          "value": "xlsx_spreadsheet",
          "labelByLanguage": {
            "en": ".xlsx spreadsheet",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "Ask for an Excel spreadsheet when the response is naturally tabular.",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "If your AI tool supports file creation, generate the final result as an actual .xlsx file. If it does not, return the content in a spreadsheet-ready tabular structure with rows and columns preserved for easy transfer into Excel.",
            "fr": ""
          },
          "availableWhen": {
            "parameterId": "outputFormat",
            "anyOfValues": [
              "table_rubric_with_criteria_and_levels",
              "checklist_table"
            ]
          }
        }
      ]
    },
    {
      "id": "learningObjectiveOptions",
      "options": [
        {
          "id": "oral_interaction",
          "value": "oral_interaction",
          "labelByLanguage": {
            "en": "Oral expression and interaction",
            "fr": ""
          }
        },
        {
          "id": "writing_process",
          "value": "writing_process",
          "labelByLanguage": {
            "en": "Writing process",
            "fr": ""
          }
        },
        {
          "id": "reinvestment",
          "value": "reinvestment",
          "labelByLanguage": {
            "en": "Reinvestment",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "scenarioDurationOptions",
      "options": [
        {
          "id": "one_class",
          "value": "one_class",
          "labelByLanguage": {
            "en": "1 class (3 hours)",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Plan for 1 class, approximately 3 hours.",
            "fr": ""
          }
        },
        {
          "id": "two_to_four_classes",
          "value": "two_to_four_classes",
          "labelByLanguage": {
            "en": "2-4 classes (6-12 hours)",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Plan for 2 to 4 classes, approximately 6 to 12 hours.",
            "fr": ""
          }
        },
        {
          "id": "five_to_seven_classes",
          "value": "five_to_seven_classes",
          "labelByLanguage": {
            "en": "5-7 classes (15-21 hours)",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Plan for 5 to 7 classes, approximately 15 to 21 hours.",
            "fr": ""
          }
        },
        {
          "id": "eight_to_fifteen_classes",
          "value": "eight_to_fifteen_classes",
          "labelByLanguage": {
            "en": "8-15 classes (24-45 hours)",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Plan for 8 to 15 classes, approximately 24 to 45 hours.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "scenarioTaskInputMethodOptions",
      "options": [
        {
          "id": "describe_final_task",
          "value": "describe_final_task",
          "labelByLanguage": {
            "en": "Describe final task",
            "fr": ""
          }
        },
        {
          "id": "include_final_task_document",
          "value": "include_final_task_document",
          "labelByLanguage": {
            "en": "I will include my task or assignment instructions document with the prompt",
            "fr": ""
          },
          "descriptionByLanguage": {
            "en": "The app will remind you to attach the document in the external AI tool after copying the prompt.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "successIndicatorModeOptions",
      "options": [
        {
          "id": "include_all",
          "value": "include_all",
          "labelByLanguage": {
            "en": "Include all",
            "fr": ""
          }
        },
        {
          "id": "select_specific",
          "value": "select_specific",
          "labelByLanguage": {
            "en": "Select specific",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "activityGuidanceOptions",
      "options": [
        {
          "id": "ai_suggests_activities",
          "value": "ai_suggests_activities",
          "labelByLanguage": {
            "en": "AI suggests activities",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Suggest activities that are aligned with the final task, selected objectives, and success indicators.",
            "fr": ""
          }
        },
        {
          "id": "teacher_activity_ideas",
          "value": "teacher_activity_ideas",
          "labelByLanguage": {
            "en": "I will input activity ideas",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Use the teacher's activity ideas, but revise or sequence them so they prepare students coherently for the final task.",
            "fr": ""
          }
        },
        {
          "id": "inspire_me_activities",
          "value": "inspire_me_activities",
          "labelByLanguage": {
            "en": "Inspire me",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Offer creative, authentic activity possibilities while avoiding disconnected exercises.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "strategyGuidanceOptions",
      "options": [
        {
          "id": "select_strategy_examples",
          "value": "select_strategy_examples",
          "labelByLanguage": {
            "en": "Select strategy examples",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Integrate the selected strategies explicitly into the learning sequence.",
            "fr": ""
          }
        },
        {
          "id": "custom_strategy_ideas",
          "value": "custom_strategy_ideas",
          "labelByLanguage": {
            "en": "Customize strategies",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Use the teacher's custom strategy ideas and connect them to activities, feedback, and reflection.",
            "fr": ""
          }
        },
        {
          "id": "inspire_me_strategies",
          "value": "inspire_me_strategies",
          "labelByLanguage": {
            "en": "Inspire me",
            "fr": ""
          },
          "promptTextByLanguage": {
            "en": "Suggest appropriate strategies based on the selected objectives, task, and learner level.",
            "fr": ""
          }
        }
      ]
    },
    {
      "id": "strategyExampleOptions",
      "options": [
        { "id": "asking_for_clarification", "value": "asking_for_clarification", "labelByLanguage": { "en": "Asking for clarification", "fr": "" } },
        { "id": "rephrasing", "value": "rephrasing", "labelByLanguage": { "en": "Rephrasing", "fr": "" } },
        { "id": "turn_taking", "value": "turn_taking", "labelByLanguage": { "en": "Turn-taking", "fr": "" } },
        { "id": "active_listening", "value": "active_listening", "labelByLanguage": { "en": "Active listening", "fr": "" } },
        { "id": "planning_ideas", "value": "planning_ideas", "labelByLanguage": { "en": "Planning ideas", "fr": "" } },
        { "id": "outlining", "value": "outlining", "labelByLanguage": { "en": "Outlining", "fr": "" } },
        { "id": "drafting", "value": "drafting", "labelByLanguage": { "en": "Drafting", "fr": "" } },
        { "id": "revising", "value": "revising", "labelByLanguage": { "en": "Revising", "fr": "" } },
        { "id": "skimming", "value": "skimming", "labelByLanguage": { "en": "Skimming", "fr": "" } },
        { "id": "scanning", "value": "scanning", "labelByLanguage": { "en": "Scanning", "fr": "" } },
        { "id": "identifying_main_ideas", "value": "identifying_main_ideas", "labelByLanguage": { "en": "Identifying main ideas", "fr": "" } },
        { "id": "note_taking", "value": "note_taking", "labelByLanguage": { "en": "Note-taking", "fr": "" } },
        { "id": "goal_setting", "value": "goal_setting", "labelByLanguage": { "en": "Goal setting", "fr": "" } },
        { "id": "self_monitoring", "value": "self_monitoring", "labelByLanguage": { "en": "Self-monitoring", "fr": "" } },
        { "id": "reflection", "value": "reflection", "labelByLanguage": { "en": "Reflection", "fr": "" } },
        { "id": "strategy_selection", "value": "strategy_selection", "labelByLanguage": { "en": "Strategy selection", "fr": "" } },
        { "id": "adjustment", "value": "adjustment", "labelByLanguage": { "en": "Adjustment", "fr": "" } }
      ]
    }
  ],

  "targets": [
    {
      "id": "clipboard",
      "type": "clipboard",
      "enabled": true,
      "labelByLanguage": {
        "en": "Copy prompt",
        "fr": ""
      }
    }
  ],

  "dependencyRules": [
    {
      "id": "show_taskTypes",
      "sourceParameterId": "taskInputMethods",
      "triggerType": "contains",
      "triggerValue": "select_task_type",
      "targetParameterId": "taskTypes",
      "effect": "show"
    },
    {
      "id": "require_taskTypes",
      "sourceParameterId": "taskInputMethods",
      "triggerType": "contains",
      "triggerValue": "select_task_type",
      "targetParameterId": "taskTypes",
      "effect": "require"
    },
    {
      "id": "show_taskDescription",
      "sourceParameterId": "taskInputMethods",
      "triggerType": "contains",
      "triggerValue": "describe_task",
      "targetParameterId": "taskDescription",
      "effect": "show"
    },
    {
      "id": "require_taskDescription",
      "sourceParameterId": "taskInputMethods",
      "triggerType": "contains",
      "triggerValue": "describe_task",
      "targetParameterId": "taskDescription",
      "effect": "require"
    },
    {
      "id": "show_taskTypesOtherText",
      "sourceParameterId": "taskTypes",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "taskTypesOtherText",
      "effect": "show"
    },
    {
      "id": "require_taskTypesOtherText",
      "sourceParameterId": "taskTypes",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "taskTypesOtherText",
      "effect": "require"
    },
    {
      "id": "show_communicativePurposesOtherText",
      "sourceParameterId": "communicativePurposes",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "communicativePurposesOtherText",
      "effect": "show"
    },
    {
      "id": "require_communicativePurposesOtherText",
      "sourceParameterId": "communicativePurposes",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "communicativePurposesOtherText",
      "effect": "require"
    },
    {
      "id": "show_intendedAudiencesOtherText",
      "sourceParameterId": "intendedAudiences",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "intendedAudiencesOtherText",
      "effect": "show"
    },
    {
      "id": "require_intendedAudiencesOtherText",
      "sourceParameterId": "intendedAudiences",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "intendedAudiencesOtherText",
      "effect": "require"
    },
    {
      "id": "show_linguisticFocusOtherText",
      "sourceParameterId": "linguisticFocuses",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "linguisticFocusOtherText",
      "effect": "show"
    },
    {
      "id": "require_linguisticFocusOtherText",
      "sourceParameterId": "linguisticFocuses",
      "triggerType": "contains",
      "triggerValue": "other",
      "targetParameterId": "linguisticFocusOtherText",
      "effect": "require"
    },
    {
      "id": "show_criteriaPercentageWeights",
      "sourceParameterId": "criteriaWeightingMode",
      "triggerType": "equals",
      "triggerValue": "custom_percentages",
      "targetParameterId": "criteriaPercentageWeights",
      "effect": "show"
    },
    {
      "id": "require_criteriaPercentageWeights",
      "sourceParameterId": "criteriaWeightingMode",
      "triggerType": "equals",
      "triggerValue": "custom_percentages",
      "targetParameterId": "criteriaPercentageWeights",
      "effect": "require"
    },
    {
      "id": "filter_selectedCriteria_by_courseLevel",
      "sourceParameterId": "courseLevel",
      "triggerType": "changes",
      "targetParameterId": "selectedCriteria",
      "effect": "filterOptions"
    },
    {
      "id": "filter_selectedCriteria_by_languageSkills",
      "sourceParameterId": "languageSkills",
      "triggerType": "changes",
      "targetParameterId": "selectedCriteria",
      "effect": "filterOptions"
    },
    {
      "id": "filter_criteriaPercentageWeights_by_selectedCriteria",
      "sourceParameterId": "selectedCriteria",
      "triggerType": "changes",
      "targetParameterId": "criteriaPercentageWeights",
      "effect": "filterOptions"
    },
    {
      "id": "show_finalTaskDescription",
      "sourceParameterId": "scenarioTaskInputMethods",
      "triggerType": "contains",
      "triggerValue": "describe_final_task",
      "targetParameterId": "finalTaskDescription",
      "effect": "show"
    },
    {
      "id": "require_finalTaskDescription",
      "sourceParameterId": "scenarioTaskInputMethods",
      "triggerType": "contains",
      "triggerValue": "describe_final_task",
      "targetParameterId": "finalTaskDescription",
      "effect": "require"
    },
    {
      "id": "show_selectedSuccessIndicators",
      "sourceParameterId": "successIndicatorMode",
      "triggerType": "equals",
      "triggerValue": "select_specific",
      "targetParameterId": "selectedSuccessIndicators",
      "effect": "show"
    },
    {
      "id": "require_selectedSuccessIndicators",
      "sourceParameterId": "successIndicatorMode",
      "triggerType": "equals",
      "triggerValue": "select_specific",
      "targetParameterId": "selectedSuccessIndicators",
      "effect": "require"
    },
    {
      "id": "show_activityIdeas",
      "sourceParameterId": "activityGuidance",
      "triggerType": "contains",
      "triggerValue": "teacher_activity_ideas",
      "targetParameterId": "activityIdeas",
      "effect": "show"
    },
    {
      "id": "require_activityIdeas",
      "sourceParameterId": "activityGuidance",
      "triggerType": "contains",
      "triggerValue": "teacher_activity_ideas",
      "targetParameterId": "activityIdeas",
      "effect": "require"
    },
    {
      "id": "show_selectedStrategyExamples",
      "sourceParameterId": "strategyGuidance",
      "triggerType": "contains",
      "triggerValue": "select_strategy_examples",
      "targetParameterId": "selectedStrategyExamples",
      "effect": "show"
    },
    {
      "id": "require_selectedStrategyExamples",
      "sourceParameterId": "strategyGuidance",
      "triggerType": "contains",
      "triggerValue": "select_strategy_examples",
      "targetParameterId": "selectedStrategyExamples",
      "effect": "require"
    },
    {
      "id": "show_customStrategyIdeas",
      "sourceParameterId": "strategyGuidance",
      "triggerType": "contains",
      "triggerValue": "custom_strategy_ideas",
      "targetParameterId": "customStrategyIdeas",
      "effect": "show"
    },
    {
      "id": "require_customStrategyIdeas",
      "sourceParameterId": "strategyGuidance",
      "triggerType": "contains",
      "triggerValue": "custom_strategy_ideas",
      "targetParameterId": "customStrategyIdeas",
      "effect": "require"
    },
    {
      "id": "filter_selectedSuccessIndicators_by_courseBlock",
      "sourceParameterId": "courseBlock",
      "triggerType": "changes",
      "targetParameterId": "selectedSuccessIndicators",
      "effect": "filterOptions"
    },
    {
      "id": "filter_selectedSuccessIndicators_by_courseLevel",
      "sourceParameterId": "courseLevel",
      "triggerType": "changes",
      "targetParameterId": "selectedSuccessIndicators",
      "effect": "filterOptions"
    },
    {
      "id": "filter_selectedSuccessIndicators_by_learningObjectives",
      "sourceParameterId": "learningObjectives",
      "triggerType": "changes",
      "targetParameterId": "selectedSuccessIndicators",
      "effect": "filterOptions"
    }
  ],

  "validationRules": [
    {
      "id": "courseBlock_required",
      "parameterId": "courseBlock",
      "type": "required"
    },
    {
      "id": "courseLevel_required",
      "parameterId": "courseLevel",
      "type": "required"
    },
    {
      "id": "assessmentType_required",
      "parameterId": "assessmentType",
      "type": "required"
    },
    {
      "id": "languageSkills_minSelected",
      "parameterId": "languageSkills",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "taskInputMethods_minSelected",
      "parameterId": "taskInputMethods",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "taskTypes_requiredIfTaskTypeInputSelected",
      "parameterId": "taskTypes",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "taskInputMethods",
        "contains": "select_task_type"
      }
    },
    {
      "id": "taskDescription_requiredIfDescriptionInputSelected",
      "parameterId": "taskDescription",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "taskInputMethods",
        "contains": "describe_task"
      }
    },
    {
      "id": "selectedCriteria_minSelected",
      "parameterId": "selectedCriteria",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "rubricStructure_required",
      "parameterId": "rubricStructure",
      "type": "required"
    },
    {
      "id": "performanceLevelCount_required",
      "parameterId": "performanceLevelCount",
      "type": "required"
    },
    {
      "id": "descriptorStyle_required",
      "parameterId": "descriptorStyle",
      "type": "required"
    },
    {
      "id": "criteriaWeightingMode_required",
      "parameterId": "criteriaWeightingMode",
      "type": "required"
    },
    {
      "id": "outputFormat_required",
      "parameterId": "outputFormat",
      "type": "required"
    },
    {
      "id": "taskTypesOtherText_requiredIfOther",
      "parameterId": "taskTypesOtherText",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "taskTypes",
        "contains": "other"
      }
    },
    {
      "id": "communicativePurposesOtherText_requiredIfOther",
      "parameterId": "communicativePurposesOtherText",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "communicativePurposes",
        "contains": "other"
      }
    },
    {
      "id": "intendedAudiencesOtherText_requiredIfOther",
      "parameterId": "intendedAudiencesOtherText",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "intendedAudiences",
        "contains": "other"
      }
    },
    {
      "id": "linguisticFocusOtherText_requiredIfOther",
      "parameterId": "linguisticFocusOtherText",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "linguisticFocuses",
        "contains": "other"
      }
    },
    {
      "id": "criteriaPercentageWeights_requiredIfCustom",
      "parameterId": "criteriaPercentageWeights",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "criteriaWeightingMode",
        "equals": "custom_percentages"
      }
    },
    {
      "id": "criteriaPercentageWeights_matchSelectedCriteria",
      "parameterId": "criteriaPercentageWeights",
      "type": "criterionWeightsMatchSelectedCriteria"
    },
    {
      "id": "criteriaPercentageWeights_inRange",
      "parameterId": "criteriaPercentageWeights",
      "type": "criterionWeightsInRange"
    },
    {
      "id": "criteriaPercentageWeights_total100",
      "parameterId": "criteriaPercentageWeights",
      "type": "criterionWeightsTotal",
      "params": {
        "total": 100
      }
    },
    {
      "id": "learningObjectives_minSelected",
      "parameterId": "learningObjectives",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "scenarioDuration_required",
      "parameterId": "scenarioDuration",
      "type": "required"
    },
    {
      "id": "scenarioTaskInputMethods_minSelected",
      "parameterId": "scenarioTaskInputMethods",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "finalTaskDescription_requiredIfDescribeSelected",
      "parameterId": "finalTaskDescription",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "scenarioTaskInputMethods",
        "contains": "describe_final_task"
      }
    },
    {
      "id": "successIndicatorMode_required",
      "parameterId": "successIndicatorMode",
      "type": "required"
    },
    {
      "id": "selectedSuccessIndicators_requiredIfSpecific",
      "parameterId": "selectedSuccessIndicators",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "successIndicatorMode",
        "equals": "select_specific"
      }
    },
    {
      "id": "selectedSuccessIndicators_minSelected",
      "parameterId": "selectedSuccessIndicators",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "selectedSuccessIndicators_mustExistInFilteredDevisSet",
      "parameterId": "selectedSuccessIndicators",
      "type": "mustExistInFilteredDevisSet"
    },
    {
      "id": "activityGuidance_minSelected",
      "parameterId": "activityGuidance",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "activityIdeas_requiredIfTeacherIdeas",
      "parameterId": "activityIdeas",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "activityGuidance",
        "contains": "teacher_activity_ideas"
      }
    },
    {
      "id": "strategyGuidance_minSelected",
      "parameterId": "strategyGuidance",
      "type": "minSelected",
      "params": {
        "min": 1
      }
    },
    {
      "id": "selectedStrategyExamples_requiredIfSelected",
      "parameterId": "selectedStrategyExamples",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "strategyGuidance",
        "contains": "select_strategy_examples"
      }
    },
    {
      "id": "customStrategyIdeas_requiredIfCustom",
      "parameterId": "customStrategyIdeas",
      "type": "requiredIf",
      "params": {
        "sourceParameterId": "strategyGuidance",
        "contains": "custom_strategy_ideas"
      }
    }
  ],

  "skillToCriteriaGroupMap": [
    {
      "uiSkillOptionId": "oral_interaction",
      "criteriaGroupKeys": [
        "oral_interaction"
      ]
    },
    {
      "uiSkillOptionId": "writing",
      "criteriaGroupKeys": [
        "writing_process"
      ]
    },
    {
      "uiSkillOptionId": "reading",
      "criteriaGroupKeys": [
        "reinvestment"
      ]
    },
    {
      "uiSkillOptionId": "listening",
      "criteriaGroupKeys": [
        "reinvestment"
      ]
    },
    {
      "uiSkillOptionId": "reinvestment",
      "criteriaGroupKeys": [
        "reinvestment"
      ]
    },
    {
      "uiSkillOptionId": "grammar_structures",
      "criteriaGroupKeys": [
        "oral_interaction",
        "writing_process"
      ]
    },
    {
      "uiSkillOptionId": "vocabulary",
      "criteriaGroupKeys": [
        "oral_interaction",
        "writing_process",
        "reinvestment"
      ]
    },
    {
      "uiSkillOptionId": "pronunciation",
      "criteriaGroupKeys": [
        "oral_interaction"
      ]
    }
  ]
}
