# GAB-235 · FeedbackLearningSuccessSummary — « Résumé d'acquis pédagogique »

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

## Pack (structure officielle par-GAB)
```
GAB-235/
  renderer.html            ← moteur résumé acquis (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` · `success_summary_id` · `title` · `summary` · `items[]{id, text}`

Optionnels : `banner_label`, `result{reason}`, `primary_cta{label,action}`, `secondary_cta{label,action}`.

## Ce qui vient du JSON vs HTML
- **JSON** : titre de la compétence, résumé, liste des acquis, raison de validation, libellés des boutons, libellé de la bannière.
- **HTML** : structure de la carte, icône de check, bloc acquis, bloc reason, layout boutons, fallback BLOCKED.

## Archétype pédagogique
**SuccessSummary** = acquis pédagogique explicite, à distinguer de :
- `CompletionBlock` : fin technique de l'activité (état session)
- `RewardVisualCelebration` (PlayKit) : animation festive XP/coins/badges (gamification)

**GAB-235 n'est pas une célébration** — c'est un résumé factuel de ce que l'élève sait maintenant.

## Garde-fous (NO-REWARD-WRITE — doctrine module 15)
- Ce gabarit **n'écrit, ne déclenche et n'affiche aucun reward** (XP, coins, badges).
- Si une animation PlayKit apparaît en même temps, c'est `RewardVisualCelebration` qui s'affiche **en plus**, orchestré par PlayKit, jamais par ce gabarit.
- Séparation idempotente garantie.
- **BLOCKED** si `items` vide / `title` absent / `summary` absent.

## QA à vérifier
1. Modifier un `text` dans `items` → acquis change sans toucher au HTML.
2. `items:[]` → BLOCKED propre.
3. `result` absent → bloc reason masqué, rendu valide.
4. `secondary_cta` absent → seul primary_cta affiché.
5. Clic primary_cta → panel de confirmation.
6. Responsive 375/768/1024.

## external_refs / dependencies
- **PlayKit Rewards** (module voisin) : `RewardVisualCelebration` peut s'afficher **après** SuccessSummary (orchestration externe). Ce gabarit ne les connaît pas.
- **CompletionBlock** : déclenché avant SuccessSummary par le moteur d'activité (fin technique).
- **GAB-231 InstantFeedback** : souvent affiché avant SuccessSummary dans la boucle feedback.

## Source
`INDEX-300-feedbacklearning-GAB-231-235-PLAYABLE.html` (stage `data-tpl="235"`, section GAB-235 SUCCESS SUMMARY).
