> ⚠️ **GAB SENSIBLE — VALIDATION BOSS OBLIGATOIRE avant tout usage.** (child-safety / RGPD / orientation / career). Contenu extrait sans invention ; à relire par un humain.

# GAB-336 · MetacognitionLearningBeforeAfterCompare — « Comparer avant / après »

**Archétype / renderer_key :** `text_cta` (cartographie) · **module :** EdTechMetacognitionLearning
**Critère validé :** changer le JSON change la comparaison sans modifier le HTML. ✅ check.py 12/12.

> ⚠️ **GAB SENSIBLE — REVUE BOSS REQUISE.** GAB de métacognition / auto-évaluation enfant. Contenu extrait UNIQUEMENT du HTML source, ZÉRO invention. Tout texte pédagogique (feedbacks, constats) doit être validé Boss avant tout usage prod (impact sur la perception de progrès de l'élève + anti-survalorisation).

## Pack (structure officielle par-GAB)
```
GAB-336/
  renderer.html            ← moteur avant/après (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` · `compare_id` · `before{kind,body}` · `after{kind,body}` · `question` · `options[]{kind,label,state,feedback}`
Optionnels : `title`, `use_when[]`, `do_not_use_when[]`, `child_safety{no_overcert,comparable_only}`.

## Ce qui vient du JSON vs HTML
- **JSON** : les deux cartes (avant/après), la question, chaque option (libellé + feedback + state), les listes use_when / do_not_use_when.
- **HTML** : grille de comparaison, chips structurels, panneau de feedback, layout.

## Garde-fous (child_safety)
- **Anti-survalorisation** : l'option « Je maîtrise tout » (`kind:over`) déclenche une alerte (« Ne survalorise pas : 1 quiz ne prouve pas une maîtrise totale »), jamais une félicitation.
- **Comparer ce qui est comparable** : l'option « 2 quiz différents » (`kind:low`) signale une preuve faible si les mesures ne sont pas comparables.
- **Preuve à l'appui** : le seul constat « Progrès » valide (`kind:improved`) est appuyé sur une preuve comparable (+2 sur le MÊME quiz) et propose une next action.
- **BLOCKED** si `before` / `after` absent ou `options` vide.

## QA à vérifier
1. Modifier un `feedback`/`label` → rendu change sans toucher au HTML (critère d'or). 2. `options:[]` → BLOCKED propre. 3. Clic « Je maîtrise tout » → message anti-survalorisation. 4. Clic « 2 quiz différents » → avertissement preuve faible. 5. Responsive 375/768/1024.

## external_refs / dependencies
- `do_not_use_when` cite **GAB-337** (MetacognitionLearningLearningJournal) pour le journal libre — référence hors-lot informative uniquement, aucune dépendance technique. GAB-337 fait partie du même lot (336→340).

## Source
`INDEX-300-metacognitionlearning-GAB-336-340-PLAYABLE.html` (stage `data-tpl="336"`, handler `d336C`).
