Add JSON schemas, data validator, and first CE1 content

Introduces a generic JSON-Schema-subset validator in GDScript
(scripts/data/schema_validator.gd) used both by `make validate-data`
and, later, by ExerciseEngine at load time, plus semantic_checks.gd
for cross-field constraints a schema can't express (answer index
bounds, at least one faulty token in sentence correction, word count
matching between a dictation's target_text and its annotations).

Schemas cover rule, exercise (dispatched per type: multiple_choice,
sentence_correction), dictation, curriculum, and save (save.schema.json
is not yet wired into validate-data; saves live in user://, handled
at the Profiles/Saves step).

First draft content for the CE1 "accord_adjectif" rule (one rule, two
multiple-choice exercises, one sentence correction, one dictation,
one curriculum entry) exercises the full pipeline end to end and
seeds docs/review/content-review.md, regenerated by the new
tools/generate_content_review.py (`make content-review`).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Denis Defolie
2026-10-11 16:47:28 +02:00
parent a1f749de40
commit d057c8ee77
31 changed files with 938 additions and 35 deletions
+41
View File
@@ -0,0 +1,41 @@
# Revue du contenu pedagogique
Genere automatiquement depuis `data/` par `tools/generate_content_review.py`. Ne pas editer ce fichier a la main.
## regle_accord_adjectif (CE1, grammaire)
**Enonce** : Quand un adjectif accompagne un nom, il s'accorde avec ce nom en genre et en nombre.
**Exemple** : Un petit chien. Une petite chienne. Des petits chiens. Des petites chiennes.
**Statut** : draft
### Choix multiples
- **ce1_accord_adjectif_qcm_01** (difficulte 1) : Les ... chiens jouent.
- Reponses : petit, petits, petite
- Reponse attendue : petits
- Indice : Observe le determinant « les » et le nom « chiens ».
- Explication : Le groupe nominal est au pluriel. L'adjectif prend ici la marque du pluriel.
- Statut : draft
- **ce1_accord_adjectif_qcm_02** (difficulte 1) : La ... maison est jolie.
- Reponses : petit, petite, petites
- Reponse attendue : petite
- Indice : Observe le determinant « la » et le nom « maison ».
- Explication : Le nom « maison » est feminin singulier. L'adjectif prend donc la marque du feminin.
- Statut : draft
### Corrections de phrase
- **ce1_accord_adjectif_correction_01** (difficulte 2) : Les [petit -> petits] chiens courent.
- Indice : Le determinant « les » indique un pluriel.
- Explication : L'adjectif « petit » s'accorde avec le nom « chiens », qui est au pluriel : il faut ecrire « petits ».
- Statut : draft
### Dictees
- **ce1_accord_adjectif_dictee_01** : Les petits chats dorment.
- Variantes acceptees : aucune
- Audio : provisoire
- Statut : draft