# GAB-406 · ExperimentLearningVariableControl — « Variables : ce qu'on change, ce qu'on mesure »

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

## Pack
```
GAB-406/
  renderer.html · instance.example.json · schema.contract.json · README-contract.md
```

## Champs requis
`gab_id` · `variable_control_id` · `experiment_ref` · `independent_variable` · `dependent_variable` · `controlled_variables`

Optionnels : `title`, `variable_examples`, `confusion_traps`, `validation_questions`, `fallback_text_summary`.

## Archétype
Contrôle des variables : identifier clairement ce qu'on change (indépendante), ce qu'on mesure (dépendante), ce qu'on garde constant. Ne pas conclure si plusieurs variables changent.

## BLOCKED si
- variable_control_id absent
- experiment_ref absent
- independent_variable absent
- dependent_variable absent
- controlled_variables absent ou vide

## Source
CORE-GAB-REGISTRY GAB-406 (pas de playable hardcodé au-delà de 390). Conversion Core → pack serveur, format identique aux GAB 001-390.
