{
  "gab_id": "GAB-385",
  "renderer_key": "media_viewer",
  "transcript_sync_id": "ts-lecon-exemple-385",
  "_note_dev": "SOURCE DE VÉRITÉ. Synchro transcript/média : chaque segment porte un timestamp, un texte et un indicateur de confiance. Le moteur HTML ne contient aucun contenu en dur — tout vient de cette instance. Anti-invention : les textes ci-dessous sont extraits EXACTEMENT du source HTML GAB-385. Renderer_key 'media_viewer' sans moteur kit de référence — renderer dérivé de l'écran source.",
  "title": "Synchro transcript",
  "media_hint": "Clique un segment : le média se cale dessus (et inversement).",
  "segments": [
    {
      "time": "0:00",
      "text": "Bonjour et bienvenue dans cette leçon.",
      "confidence": "high"
    },
    {
      "time": "0:30",
      "text": "Les causes sont multiples.",
      "confidence": "high"
    },
    {
      "time": "1:05",
      "text": "En résumé, retenons trois points.",
      "confidence": "low"
    }
  ],
  "export_label": "Exporter le transcript",
  "export_format": "txt",
  "use_when": [
    "synchroniser transcript et média",
    "signaler les segments peu fiables",
    "permettre l'export du transcript"
  ],
  "do_not_use_when": [
    "présenter un transcript douteux comme sûr",
    "lecteur audio simple (→ GAB-384)",
    "sync sans fallback non synchronisé"
  ],
  "slots": {
    "required": ["timing", "scroll_sync"],
    "optional": ["pedagogical_return", "low_confidence", "accessibility", "unsynced_fallback", "export"]
  },
  "accessibility": {
    "keyboard_navigable": true,
    "focus_visible": true,
    "prefers_reduced_motion": true,
    "low_confidence_warning": "Segment confiance faible : transcript auto à vérifier, ne pas citer tel quel."
  },
  "child_safety": {
    "no_autoplay": true,
    "no_invented_transcript": true,
    "low_confidence_flagged": true
  }
}
