# GAB-520 · GrammarSyntaxCorrection — « Corriger la syntaxe »

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

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

## Champs requis
`gab_id` · `grammar_ref` · `language_code` · `text_or_sentence` · `grammar_goal` · `primary_cta`

Optionnels : `title`, `level_ref`, `site_ref`, `rule_ref`, `tokens`, `annotations`, `student_attempt`, `error_pattern`, `fallback_text_summary`.

## Archétype
Correction de syntaxe : repérer une construction fautive, expliquer pourquoi, proposer une reformulation claire (feedback justifié).

## BLOCKED si
- grammar_ref absent
- language_code absent
- text_or_sentence absent
- grammar_goal absent
- primary_cta absent

> ⚠️ **Note Core** : Contrainte Core 'Les retour pédagogiques doivent être justifiées' = coquille FR (récurrente avec 399/432). Lu comme 'feedback justifié'.

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