{
  "gab_id": "GAB-229",
  "renderer_key": "text_cta",
  "session_mix_id": "session-mix-pythagore-learn-practice-check",
  "_note_dev": "SOURCE DE VÉRITÉ. Session mix SmartSelect : composition pipeline learn→practice→check pour Pythagore. Le HTML (layout, pipeline, boutons) ne change pas ; seuls ces champs changent le rendu.",
  "title": "Session construite pour toi · Pythagore",
  "summary": "3 blocs courts orchestrés en pipeline",
  "mix_type": "learn_practice_check",
  "mix_type_enum": [
    "learn_practice_check",
    "review_memory_check",
    "audio_practice_feedback",
    "visual_interactive_exercise",
    "story_exercise_recap"
  ],
  "reason": "Tu as besoin de revoir la méthode puis t'entraîner immédiatement, puis confirmer. SmartSelect a sélectionné 3 blocs courts, complémentaires, et compatibles PlayEngine. Pas un parcours long — juste ce qu'il faut.",
  "estimated_duration": "~ 15 min total",
  "block_count": 3,
  "difficulty": "⭐⭐ niveau guidé",
  "items": [
    {
      "step": 1,
      "role": "LEARN",
      "role_label": "🌱 Rôle · LEARN",
      "title": "Schéma de l'hypoténuse · 4 min",
      "description": "Comprendre visuellement avant de pratiquer.",
      "module_type": "VISUAL",
      "module_chip": "📊 VISUAL"
    },
    {
      "step": 2,
      "role": "PRACTICE",
      "role_label": "⚒ Rôle · PRACTICE",
      "title": "Exercices guidés Pythagore · 8 min",
      "description": "Application avec aide étape par étape.",
      "module_type": "EXERCISE",
      "module_chip": "📝 EXERCISE"
    },
    {
      "step": 3,
      "role": "CHECK",
      "role_label": "✓ Rôle · CHECK",
      "title": "Mini-check de maîtrise · 3 min",
      "description": "Vérifier avant d'avancer.",
      "module_type": "ADAPTIVE",
      "module_chip": "🧠 ADAPTIVE"
    }
  ],
  "distinction_note": "SmartSelectSessionMix CHOISIT la composition (ranking, ordre, durée). GAB-202 EXÉCUTE la pile dans PlayEngine. SmartSelect produit une ref play/<id> que PlayEngine consomme.",
  "next_action": {
    "primary_label": "▶ Lancer la session PlayEngine",
    "primary_action": "launch_play_engine",
    "secondary_label": "Voir les détails",
    "secondary_action": "view_details"
  }
}
