# GAB-392 · DataLearningTableRead — « Lire un tableau : population des régions »

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

## Pack (structure officielle par-GAB)
```
GAB-392/
  renderer.html            ← moteur DataLearningTableRead (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` · `table_read_id` · `table_ref` · `headers` · `row_items` · `read_prompt`

Optionnels : `unit_by_column`, `source_notice`, `missing_values_policy`, `fallback_text_summary`.

## Archétype
Lecture guidée d'un tableau : on lit en-têtes puis cellules, on sélectionne une cellule pour la mettre en évidence, on respecte la politique de valeurs manquantes.

## BLOCKED si
- table_read_id absent
- table_ref absent
- headers absent ou vide
- row_items absent ou vide
- read_prompt absent
- une ligne a un nombre de cellules ≠ headers

## Source
Pas de playable hardcodé pour 391-395 (data-sources s'arrêtent à GAB-390). Matière première = **CORE-GAB-REGISTRY GAB-392**. Conversion Core → pack serveur, format identique aux GAB 001-390.
