{
  "pack": {
    "slug": "v23-linked-progression-demo",
    "name": "V23 — Exemples progression liée",
    "description": "Exemples de formats d'exercices par langue et type d'évaluation.",
    "version": 1,
    "source": "founder_demo",
    "metadata": {"purpose": "linked_progression", "translation_core_unchanged": true}
  },
  "exercises": [
    {
      "id": "ja-soften-boss-001",
      "type": "soften",
      "category": "register",
      "difficulty": "B1",
      "sourceLang": "fr",
      "targetLang": "ja",
      "prompt": {"fr": "Ton patron t'invite ce soir. Tu dois refuser poliment. Réponds en japonais.", "ja": "上司から今夜誘われました。失礼にならないように断ってください。"},
      "constraints": [
        {"label": {"fr": "Refuser l'invitation."}},
        {"label": {"fr": "Employer un registre adapté au supérieur."}}
      ],
      "skills": ["register", "naturalness", "production", "grammar"],
      "evaluationMode": "open",
      "evaluator": {"context": "work_boss", "minWords": 4},
      "tags": ["japonais", "politesse", "refus"]
    },
    {
      "id": "ja-expression-wake-001",
      "type": "expression_required",
      "category": "grammar",
      "difficulty": "B2",
      "sourceLang": "fr",
      "targetLang": "ja",
      "prompt": {"fr": "Utilise ～わけではない pour expliquer que tu aimes ton travail, mais que cela ne signifie pas que tu veux y rester toute ta vie."},
      "constraints": [{"label": {"fr": "Utiliser ～わけではない."}, "checks": {"ja": ["わけではない", "わけじゃない"]}, "mode": "any"}],
      "skills": ["grammar", "naturalness", "production", "relevance"],
      "evaluationMode": "expression_required",
      "evaluator": {"requiredAny": {"ja": ["わけではない", "わけじゃない"]}, "context": "grammar_wake"},
      "tags": ["japonais", "N2", "わけではない"]
    },
    {
      "id": "ja-constraints-meeting-001",
      "type": "constraints",
      "category": "planning",
      "difficulty": "A2",
      "sourceLang": "fr",
      "targetLang": "ja",
      "prompt": {"fr": "Construis une seule réponse naturelle en japonais qui respecte les trois contraintes."},
      "constraints": [
        {"label": {"fr": "Tu es disponible demain."}, "checks": {"ja": ["明日"]}},
        {"label": {"fr": "Seulement le matin."}, "checks": {"ja": ["午前", "朝"]}},
        {"label": {"fr": "Tu proposes 10 h."}, "checks": {"ja": ["10時", "十時"]}}
      ],
      "skills": ["relevance", "production", "grammar", "naturalness"],
      "evaluationMode": "constraints",
      "evaluator": {"context": "planning"},
      "tags": ["horaire", "japonais"]
    },
    {
      "id": "en-find-problem-001",
      "type": "find_problem",
      "category": "naturalness",
      "difficulty": "A2",
      "sourceLang": "fr",
      "targetLang": "en",
      "prompt": {"fr": "Trouve le problème et corrige : I very like this movie.", "en": "Find the problem and correct: I very like this movie."},
      "expected": {"accepted": ["I really like this movie.", "I like this movie very much."]},
      "skills": ["grammar", "naturalness"],
      "evaluationMode": "exact_flexible",
      "tags": ["anglais", "adverbe"]
    },
    {
      "id": "es-ser-estar-001",
      "type": "cloze",
      "category": "grammar",
      "difficulty": "A2",
      "sourceLang": "fr",
      "targetLang": "es",
      "prompt": {"fr": "Complète correctement en espagnol : Madrid ___ en España."},
      "expected": {"accepted": ["está", "esta"]},
      "skills": ["grammar"],
      "evaluationMode": "exact_flexible",
      "tags": ["espagnol", "ser-estar"]
    },
    {
      "id": "fr-antonym-augmenter-001",
      "type": "antonym",
      "category": "vocabulary",
      "difficulty": "A2",
      "targetLang": "fr",
      "prompt": {"fr": "Donne un antonyme naturel de « augmenter »."},
      "expected": {"accepted": ["diminuer", "baisser", "réduire"]},
      "skills": ["vocabulary"],
      "evaluationMode": "lexical",
      "tags": ["français", "vocabulaire"]
    },
    {
      "id": "fr-synonym-commencer-001",
      "type": "synonym",
      "category": "vocabulary",
      "difficulty": "A2",
      "targetLang": "fr",
      "prompt": {"fr": "Donne un synonyme naturel de « commencer »."},
      "expected": {"accepted": ["débuter", "entamer", "amorcer"]},
      "skills": ["vocabulary", "naturalness"],
      "evaluationMode": "lexical",
      "tags": ["français", "synonyme"]
    },
    {
      "id": "fr-definition-report-001",
      "type": "definition",
      "category": "vocabulary",
      "difficulty": "B1",
      "targetLang": "fr",
      "prompt": {"fr": "Quel nom correspond à l'action de remettre quelque chose à plus tard ?"},
      "expected": {"accepted": ["report", "ajournement", "reportement"]},
      "skills": ["vocabulary", "comprehension"],
      "evaluationMode": "lexical",
      "tags": ["français", "définition"]
    },
    {
      "id": "ja-comprehension-time-001",
      "type": "comprehension",
      "category": "daily_life",
      "difficulty": "A2",
      "sourceLang": "ja",
      "targetLang": "fr",
      "prompt": {"fr": "Écoute le message puis indique la nouvelle heure du rendez-vous."},
      "expected": {"accepted": ["15 h 30", "15h30", "15:30"]},
      "skills": ["comprehension", "relevance"],
      "evaluationMode": "comprehension",
      "audio": {"enabled": true, "language": "ja", "text": {"ja": "午後2時の予定でしたが、午後3時半に変更になりました。"}},
      "tags": ["japonais", "audio", "heure"]
    },
    {
      "id": "ja-writing-trip-001",
      "type": "writing",
      "category": "imagination",
      "difficulty": "B1",
      "sourceLang": "fr",
      "targetLang": "ja",
      "prompt": {"fr": "Tu viens de gagner un voyage gratuit au Japon. Annonce la nouvelle à ton meilleur ami en japonais et montre ton enthousiasme."},
      "constraints": [{"label": {"fr": "Annoncer clairement le voyage."}}, {"label": {"fr": "Montrer une émotion positive."}}],
      "skills": ["production", "grammar", "vocabulary", "naturalness", "complexity"],
      "evaluationMode": "open",
      "evaluator": {"minWords": 10, "context": "friend_excited"},
      "tags": ["japonais", "rédaction", "voyage"]
    },
    {
      "id": "ja-roleplay-refuse-001",
      "type": "roleplay",
      "category": "register",
      "difficulty": "B1",
      "sourceLang": "fr",
      "targetLang": "ja",
      "prompt": {"fr": "Tu dois refuser une invitation. Choisis A. ton meilleur ami, B. ton professeur ou C. ton patron, puis écris une réponse adaptée en japonais."},
      "skills": ["register", "naturalness", "production"],
      "evaluationMode": "open",
      "evaluator": {"context": "roleplay_register"},
      "tags": ["japonais", "registre", "refus"]
    },
    {
      "id": "ja-translation-morning-001",
      "type": "translation",
      "category": "daily_life",
      "difficulty": "A2",
      "sourceLang": "fr",
      "targetLang": "ja",
      "prompt": {"fr": "Traduis en japonais : Je serai disponible demain matin vers dix heures."},
      "skills": ["vocabulary", "grammar", "naturalness"],
      "evaluationMode": "open",
      "evaluator": {"context": "planning"},
      "tags": ["traduction-active", "horaire"]
    }
  ]
}
