> ⚠️ **GAB SENSIBLE — VALIDATION BOSS OBLIGATOIRE avant tout usage.** (child-safety / RGPD / orientation / career). Contenu extrait sans invention ; à relire par un humain.

# GAB-369 · OrientationLearningActionPlan — « Plan d'action »

**Archétype / renderer_key :** `text_cta` (cartographie) · **module :** EdTechOrientationLearning
**Critère validé :** changer le JSON change le plan d'action sans modifier le HTML. ✅ check.py 12/12.

## ⚠️ GAB SENSIBLE — REVUE BOSS REQUISE
Ce GAB touche à l'**orientation / career d'un mineur**. Aucune invention de contenu pédagogique n'a été faite : tout le contenu provient STRICTEMENT du HTML source GAB-369. **Toute mise en prod ou enrichissement du contenu doit passer par une revue Boss explicite** (child-safety / RGPD / orientation).

## Pack (structure officielle par-GAB)
```
GAB-369/
  renderer.html            ← moteur plan d'action (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` · `action_plan_id` · `micro_actions[]{label,reversible,prudent_deadline}`
Optionnels : `title`, `intro_note`, `checklist_prompt`, `progress_label_unit`, `primary_cta{label,action}`, `follow_up{done_label,review_message}`, `reversibility`, `no_unrealistic_injunction`, `child_safety{sensitive,guarantees}`.

## Ce qui vient du JSON vs HTML
- **JSON** : la note d'intro, le prompt de checklist, chaque micro-action (label + réversibilité + échéance prudente), l'unité de progression, le **libellé** du bouton, le message de suivi.
- **HTML** : liste cochable, barre de progression, bouton structurel, layout, slots.

## Garde-fous (child_safety)
- **Anti-injonction** : `no_unrealistic_injunction=true` obligatoire — aucune injonction du type « décide ta vie ce soir ». BLOCKED sinon.
- **Échéances prudentes** : chaque micro-action porte `prudent_deadline:true`. Une seule à `false` → BLOCKED.
- **Réversibilité** : tout reste réversible, rien n'est définitif (`reversibility`).
- **Mineur / orientation** : flag `child_safety.sensitive=true` + liste de garanties.
- **BLOCKED** si `micro_actions` vide / `prudent_deadline:false` / `no_unrealistic_injunction:false`.

## QA à vérifier
1. Modifier un `label`/`review_message` → rendu change sans toucher au HTML (critère d'or). 2. `micro_actions:[]` → BLOCKED propre. 3. `prudent_deadline:false` → BLOCKED. 4. Cocher action(s) → progression + CTA actif → suivi programmé. 5. Responsive 375/768/1024.

## external_refs / dependencies
- Discussion adulte / parent : voir GAB-368 (référence hors-lot mentionnée dans `do_not_use_when` du HTML source). Aucune dépendance technique, juste un renvoi pédagogique.

## Source
`INDEX-300-orientationlearning-GAB-366-370-PLAYABLE.html` (stage `data-tpl="369"`, handlers `d369Tick` / `d369Review`).
