# GAB-175 · AudioGenerationNotice — « Notice transparence IA »

**Archétype / renderer_key :** `media_viewer` (cartographie) · **module :** EdTechAudioLearning
**Note :** `renderer_key` = `media_viewer` — **renderer à concevoir (pas de moteur kit)**. Le renderer est dérivé directement de l'écran source INDEX-300.

## Pack (structure officielle par-GAB)
```
GAB-175/
  renderer.html            ← moteur notice IA (ne pas modifier par instance)
  instance.example.json    ← SOURCE DE VÉRITÉ (contenu réel, à plat)
  schema.contract.json     ← contrat de validation
  README-contract.md       ← ce fichier
```

## Champs requis (instance, à plat)
`gab_id` · `notice_id` · `badge_label` · `title` · `body` · `limits_heading` · `limits[]` · `fallback_text`

Optionnels : `_note_dev`

## Ce qui vient du JSON vs HTML
- **JSON** : badge_label, titre, corps du texte, en-tête des limites, liste des limites (HTML inline `<b>` autorisé), fallback texte.
- **HTML** : structure de la carte (`.gn-card`), icône décorative 🤖 en filigrane, style gold/mint, layout.

## Garde-fous (child_safety)
- **Transparence IA** : cette notice est obligatoire sur tout contenu audio TTS. Ne jamais la supprimer ou la masquer.
- **BLOCKED** si `limits` est vide, `title` absent, ou `fallback_text` absent.
- **Fallback** : le transcript texte est la source de vérité — toujours présent même si l'audio tombe.
- **HTML inline** dans `body` et `limits` : uniquement `<b>` autorisé — jamais de balises de structure.

## QA à vérifier
1. Modifier `badge_label`/`title`/`body` → rendu change sans toucher au HTML (critère data-driven).
2. `limits:[]` → BLOCKED propre avec message.
3. `title` absent → BLOCKED propre avec message.
4. `fallback_text` absent → BLOCKED propre avec message.
5. Instance externe injectée via `ENGINE.init(ext)` → rendu piloté par l'externe.
6. Responsive 375/768/1024 — aucun débordement.

## Use when / Do not use when (extrait source)
- ✅ Audio produit par synthèse vocale (TTS) — transparence IA obligatoire — notice unique réutilisable.
- ⛔ Audio enregistré par un humain (pas nécessaire) — transparence Ketty AI (→ GAB-072) — notice CGU générale (→ ENG-018).

## Références externes / dependencies

### external_refs
| Réf | GAB/module | Relation |
|---|---|---|
| GAB-072 | EdTechChat (Ketty AI) | Transparence Ketty — NE PAS confondre avec GAB-175 (TTS audio) |
| ENG-018 | Legal/Engagement | Notice CGU générale — hors périmètre de GAB-175 |

Ces références sont mentionnées dans le bloc `do_not_use_when` de la source INDEX-300. GAB-175 est strictement limité à la transparence TTS audio.

## Source
`INDEX-300-audiolearning-GAB-171-175-PLAYABLE.html` (stage `data-tpl="175"`, CSS `.gn-*`).
