# GAB-244 · AssessmentLearningScoreExplanation — « Score expliqué + anti-réduction »

**Archétype / renderer_key :** `text_cta` (cartographie) · **module :** EdTechAssessmentLearning
**Critère validé :** changer le JSON change le rendu (score, critères, CTAs, disclaimer) sans modifier le HTML. check.py 12/12.

## Pack (structure officielle par-GAB)
```
GAB-244/
  renderer.html            ← moteur score explanation (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` · `score_explanation_id` · `title` · `summary` · `score{value,max,label}` · `items[]{status,label}` · `anti_reduction_text` · `legal_disclaimer{heading,text}` · `primary_cta{label,action}`

Optionnels : `score_context`, `score_level` (enum `solid|partial|weak`), `secondary_cta{label,action,note_feedback}`.

## Ce qui vient du JSON vs HTML
- **JSON** : titre, résumé, score chiffré, chaque critère (label + statut), texte anti-réduction, disclaimer légal, libellé des CTAs, feedback clic.
- **HTML** : grille critères, score-box, bannière légale, boutons structurels, layout, couleurs par `score_level`.

## Archétype pédagogique
GAB-244 est le gabarit canonique de **score expliqué par critères** dans le module AssessmentLearning.
Règle fondamentale : **jamais le score seul** — score + critères + suite proposée ensemble (anti-réduction à la note).

## Garde-fous (child_safety / doctrine module 16)
- **Doctrine juridique CRITIQUE** : ne jamais prétendre à une note officielle, certification ou diplôme. `legal_disclaimer` obligatoire dans chaque instance.
- **Anti-réduction** : `anti_reduction_text` obligatoire — l'élève n'est jamais réduit à un chiffre brut.
- **BLOCKED** si `items` vide, `score` absent, `legal_disclaimer` absent, ou `anti_reduction_text` absent.
- `score_level` pilote la couleur de la bannière hero (solid=vert mint, partial=or, weak=coral) — jamais hardcodé.

## Distinction avec d'autres GABs
- **GAB-179 LevelTestResultProfile** : profil de niveau par compétence (diagnostic global) — usage différent.
- **GAB-244 (ce GAB)** : score d'UNE évaluation précise, expliqué critère par critère.

## QA à vérifier
1. Modifier `title`/`score`/`items` → rendu change sans toucher au HTML.
2. `items:[]` ou `score` absent → BLOCKED propre.
3. `legal_disclaimer` absent → BLOCKED.
4. `score_level='solid'` → bannière verte mint. `'weak'` → bannière coral.
5. CTA primaire cliqué → panel `note_feedback`.
6. Responsive 375/768/1024 — aucun débordement.

## Source
`INDEX-300-assessmentlearning-GAB-241-245-PLAYABLE.html` (stage `data-tpl="244"`, handlers `peNote`/`peConfirm`).

## external_refs / dependencies
Aucune dépendance externe hors-lot. Le module `EdTechAssessmentLearning` est autonome.
Ce GAB s'inscrit dans la séquence : GAB-241 (Intro) → GAB-242 (QuestionSet) → GAB-243 (RubricDisplay) → **GAB-244 (ScoreExplanation)** → GAB-245 (ResultBridge).
