# GAB-276 · MethodLearningCommonMistakeMethod — « Typologie des erreurs avec remédiation »

**Archétype / renderer_key :** `text_cta` (cartographie) · **module :** EdTechMethodLearning
**Critère validé :** changer le JSON change la liste des erreurs, les règles de prévention et les CTA sans modifier le HTML.

## Pack (structure officielle par-GAB)
```
GAB-276/
  renderer.html            ← moteur erreurs communes (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` · `mistake_method_id` · `method_ref` · `mistakes[]{id,label,severity,name,wrong_example,fix}` · `prevention_rules[]` · `correction_actions[]{label,action,style}`

Optionnels : `title`, `subtitle`, `method_label`, `reason_title`, `reason_text`, `use_when[]`, `do_not_use_when[]`, `mistake_signals`, `example_wrong_answers`, `trap_detector_ref`, `remediation_refs`, `severity`, `source_metadata`.

## Ce qui vient du JSON vs HTML
- **JSON** : chaque erreur (label, severity, wrong_example, fix), les règles de prévention, les libellés des boutons, la raison pédagogique, use_when / do_not_use_when.
- **HTML** : layout, styles, rendu des cartes d'erreurs, couleurs severity, boucle de rendu — rien en dur.

## Archétype pédagogique
GAB-276 est un gabarit de **remédiation préventive** : avant même que l'élève applique une méthode, il prend connaissance des 3 (ou N) erreurs les plus fréquentes associées, avec exemples fautifs clairs et corrections. La **severity** (high/med/low) permet de prioriser l'attention.

## Garde-fous (child_safety)
- **Anti-invention** : wrong_example et fix extraits de la source — ne pas inventer des erreurs pédagogiques fictives.
- **Severity = signal** pédagogique, jamais une notation officielle de l'élève.
- **BLOCKED** si `mistakes[]` vide / `prevention_rules[]` vide / `mistake_method_id` absent / `method_ref` absent / `correction_actions[]` vide.

## QA à vérifier
1. Modifier `mistakes[0].fix` → rendu change sans toucher au HTML (critère d'or).
2. `mistakes:[]` → BLOCKED propre.
3. `prevention_rules:[]` → BLOCKED propre.
4. `severity:'high'` → badge coral ; `severity:'med'` → badge gold.
5. CTA cliqué → panel ok avec action.
6. Responsive 375/768/1024.

## external_refs / dependencies
- `method_ref: "GAB-271"` pointe vers **GAB-271** (MethodLearningMethodContract) du même lot methodlearning. Ce GAB-276 est pensé pour être affiché **après** GAB-271 (introduction de la méthode) dans la chaîne 271→272→…→276→277→278→279→280.

## Source
`INDEX-300-methodlearning-GAB-276-280-PLAYABLE.html` — stage `data-tpl="276"`, section `<!-- ═══════════ GAB-276 COMMONMISTAKEMETHOD ═══════════ -->`.
