Repository navigation
[EPIC] Réimaginer les parcours d'apprentissage du dépôt CoursIA #13844
Description
État mesuré au 2026-10-05 — les Phases 1 à 4 sont livrées, le front a déménagé
Passe de curation (vague #13906, lane myia-po-2025:CoursIA-2). Le plan d'origine ci-dessous reste intégral et inchangé — il décrit ce qui était à faire au 31/08 ; ce bloc dit ce qui est, mesuré sur origin/main (188b8c0557). L'EPIC reste ouverte : son travail vivant a changé de nature (voir §3).
1. Les quatre phases du plan, mesurées une à une
| Phase | Ce que le plan disait | État mesuré |
|---|---|---|
| 1 — Triage | issue fille, livrable docs/curriculum/_inventory.md |
livré — le fichier est sur main, cité par PARCOURS.md comme « matière première » |
| 2 — 3 parcours pilotes | genai-rush / symbolic-formalization / aima-walk |
livrés — les trois fichiers existent, plus un quatrième non planifié aima-walk-competences.md |
| 3 — PARCOURS.md réécrit | porte narrative + README racine orienté | livré — PARCOURS.md ouvre sur la table des 3 parcours et signale les 5 pages catalogue comme « vues du catalogue » ; le README racine (§ modes de lecture, point 2) oriente vers l'itinéraire narratif. Fille #16237 fermée le 27/09 (COMPLETED) |
| 4 — régénération sans régression | zones NARRATIVE:START + check_parcours_narrative_integrity.py |
tenue par d'autres organes — le générateur n'écrit que les pages générées, le cron ne stage que les pages docs/curriculum/*.md modifiées par lui-même, et la garde test_manual_page_without_marker_is_refused_and_preserved (test_generate_parcours.py l.533) refuse et préserve une page manuelle sans marqueur. Le script check_parcours_narrative_integrity.py du plan n'existe pas — le critère d'acceptation (« le cron ne peut pas supprimer un fichier narratif ») est couvert sans lui |
2. Deux livraisons mergées que ce corps ne consignait pas
- feat(notebook-python,#18207): dispositif d'auto-evaluation -- module partage, tests, pilote sur 02-ML-Cours 2.1-2.6 #18483 (mergée 30/09, jambe [Parcours] Auto-évaluation dans le notebook (avant, pendant, après) — pilote sur 02-ML-Cours 2.1 à 2.6 #18207) : dispositif d'auto-évaluation — module partagé + tests + pilote sur
02-ML-Cours2.1-2.6. - feat(preflight,#18208): learner_preflight.py par profil parcours #18765 (mergée 04/10, jambe [Parcours] Préflight par parcours : dire à l'apprenant ce qui manque sur sa machine avant le premier notebook #18208) :
learner_preflight.pypar profil de parcours — l'appareil parcours a un préflight par profil, au-delà du plan d'origine.
3. Le front vivant a déménagé — tri du 26/09 (analyse externe, coord ai-01)
Le commentaire du 26/09 fixe ce qui reste, après vérification :
- Triptyque « IA sans LLM » / « IA générative » / « IA hybride » — l'embryon du premier existe (itinéraire « Démarrer sans service externe » du README racine) ; le troisième (composer LLM + solveurs + vérificateurs, la thèse du dépôt) n'est suivi par aucun parcours de bout en bout.
- Parcours « IA, société et responsabilité » composé à partir de l'existant (2.5c, SocialChoice, sophismes, argumentation, oversight Oversight scalable : Backdoor Code, Wargames, et les statistiques d'oversight #16754) + [ML] 02-ML-Cours : la donnée comme responsabilité — confidentialité différentielle et fiches de données/modèle #17984 à livrer.
- Niveaux de sortie lisibles par un établissement (découverte → recherche), instances du compilateur [EPIC][Factory] Compilateur de parcours : composer un programme qualifie depuis le speed-run canonique #14620 — même geste que l'instance Actuariat Actuariat T2 : instance verticale du compilateur de parcours #17659.
- Ouvert à côté : [Parcours] Référentiels de compétences en IA : relier notebooks et compétences, pilote sur un parcours #17982 (compétences externes, pilote AIMA-walk), [ML] 02-ML-Cours : la dérive de distribution (covariable, étiquette, concept) — détecter, corriger, savoir quand on ne peut pas #17983/[ML] 02-ML-Cours : la donnée comme responsabilité — confidentialité différentielle et fiches de données/modèle #17984 (trous mesurés du cours ML).
4. Siblings — trois ont fermé depuis le plan
#12375 (pré-requis structurel accrétions) fermée · #10924 (navigation, consommatrice) fermée · #13785 fermée. Restent ouvertes : #10921 (site Pages), #4208 (open-courseware), #5081 (renumérotation).
Portée non vérifiée ce jour : le contenu pédagogique des 3 parcours pilotes n'a pas été relu notebook par notebook (existence et référencement mesurés, pas la qualité du chemin) ; les filles de phases autres que #16237 n'ont pas été énumérées.
EPIC — Réimaginer les parcours d'apprentissage du dépôt CoursIA
Constat user (2026-08-31) : PARCOURS.md (promu depuis le README.md racine lignes 19 et 60) ne mène qu'à 5 pages catalogue auto-générées (docs/curriculum/{ia-classique,ia-symbolique,genai,trading,recherche}.md, total ~1640 lignes) qui énumèrent les notebooks par série sans aucun lien sémantique entre eux, sans progression pédagogique, sans chemin d'apprenant. C'est un cul-de-sac.
Modèle prouvé dans le dépôt : MyIA.AI.Notebooks/GameTheory/README.md ligne 138 — section « Parcours alternatifs » qui propose 4 chemins thématiques distincts (formalisation Lean ~4h, applications réelles ~6h, information asymétrique ~4h30, informatique théorique ~5h) avec prérequis + durée + contenu. C'est la structure de référence que cet EPIC veut généraliser.
Pourquoi maintenant (le contexte favorable)
| Levier | Source | Effet attendu |
|---|---|---|
| Accrétions de lettres (-b/-c) en vol | EPIC #12375 (Planners-13, GT-19..23, Lean-25/26, Audio 04-7..13, ICT-Life, rlpt_) | Distingue contenu fondamental du contenu avancé/optionnel — indispensable pour des parcours à plusieurs niveaux |
| Renumérotation narrative des séries | EPIC #5081 | Permet aux parcours de référencer une numérotation cohérente (utile surtout pour Lean/Search/Planners où des -b/-c récents cassent la lecture séquentielle) |
| Refonte site GitHub Pages | EPIC #10921 + fille #10924 « Navigation/parcours : guider l'apprenant » | Périmètre moteur/Quarto est séparé — ce travail fournit la substance sémantique (les fichiers PARCOURS.md réécrits) que #10921/#10924 pourront brancher sur le site |
| EPIC open-courseware public | #4208 | Les parcours narratifs sont le contenu pédagogique à rendre public — séquence cohérente avec cet EPIC |
| Stock existant de suggestions de parcours | Cf. §« Inventaire embryons » plus bas | 4-5 embryons épars dans le dépôt, à recoller |
Trois parcours pilotes à livrer en premier (Phase 1)
Le scope reste borné — pas de refonte intégrale d'un coup. Trois parcours couvrant des profils d'apprenants distincts :
1. Parcours « Accéléré vers GenAI » (~8-10 h, 3-4 mois de weekend)
- Profil : apprenant qui veut livrer un prototype GenAI (Qwen audio, vidéo ComfyUI, agent Semantic Kernel) sans maîtriser toute l'IA classique.
- Étapes pressenties : Python/venv → OpenAI/Anthropic API basics → Semantic Kernel → un notebook GenAI/Image complet → un notebook GenAI/Audio → un projet libre (notebook de la série).
- Liaisons sémantiques fortes vers GenAI/{Image,Audio,Video,Texte}, raccourcis assumés pour ce qui n'est pas nécessaire (GameTheory, Lean formel, ICT).
2. Parcours « IA Symbolique et Formalisation » (~20 h, ~6 mois)
- Profil : apprenant qui veut comprendre ce qu'un moteur de raisonnement peut prouver formellement (maths, argumentation, contrats).
- Modèle narratif : celui de GameTheory/GameTheory-1 =
Tweety(logique argumentative) puisLean(preuve en Coq-like) puisPlanning(PDDL) puisSmartContract(Solidity). - Sémantique : pourquoi chaque formalisme et à quel problème — pas juste « ouvrez le notebook 1 ».
3. Parcours « Recherche et Corpus (AIMA-inspired) » (~30 h, ~9 mois)
- Profil : apprenant qui veut le panorama le plus large des intelligences, en suivant le ton d'Artificial Intelligence: A Modern Approach (référence pédagogique citée dans
CaseStudies/Diagnostic-Medical,GameTheory,GenAI/00-GenAI-Environment). - Inspiration AIMA : pour chaque chapitre de l'AIMA, pointer le ou les notebooks du dépôt qui en font l'expérience pratique.
- Pyramide des intelligences : symbolique/numérique/statistique/perceptive — chaque notebook étiqueté sur ce spectre.
Inventaire embryons (à recoller en Phase 1)
Embryons de parcours déjà présents dans le dépôt que cet EPIC veut intégrer en les citant (ne pas réinventer) :
MyIA.AI.Notebooks/GameTheory/README.mdligne 138 : « Parcours alternatifs » (4 parcours thématiques avec durées — le modèle).MyIA.AI.Notebooks/Search/Part1-Foundations/README.md: progression Foundations → Hybrid/Applications.MyIA.AI.Notebooks/Probas/index.qmd:DecisionTheory/Causal-Bridges(« Notebooks-ponts »).MyIA.AI.Notebooks/SymbolicAI/Lean/README.md: la « structure des fichiers » Lean à plat (à transformer en parcours).MyIA.AI.Notebooks/GenAI/Video/01-Foundation/01-1-Video-Operations-Basics.ipynb+01-1b-Video-Slideshow-Bonus.ipynb: déjà la différence -a/-b socle/bonus visible — preuve de concept accrétion.
Méthode (issue fille par phase, scope borné)
Phase 1 — Triage (issue fille triage-parcours-existants) :
- Lister tous les embryons de parcours actuellement présents dans le dépôt (README séries, plans de cours, syllabus, quêtes Notebook).
- Classifier chacun : fondamental / avancé / optionnel (s'appuie sur Reorganisation : ranger en sides (-b/-c) les ajouts recents qui ont pris un numero sequentiel (GT-19..23, Lean-25/26, Audio 04-7..13, ICT-Life, rlpt_, Planners-13) #12375).
- Pour chaque embryon, décider : à intégrer dans PARCOURS réécrit, à archiver dans
docs/curriculum/_legacy/, à supprimer.
Phase 2 — 3 parcours pilotes narratifs (3 issues filles, livraison séparée) :
- Une PR = un parcours. Périmètre borné : nouveau fichier
docs/curriculum/{genai-rush,symbolic-formalization,aima-walk}.md+ mise à jourdocs/curriculum/CONTENTS.mdindex + un screenshot de la narration (optionnel). - Critère de succès d'un parcours : un apprenant qui suit le parcours dans l'ordre peut compléter chacun des notebooks référencés avec ses prérequis satisfaits.
- Anti-patterns à éviter : (a) navigation breadcrumb sans sémantique ; (b) liste de notebooks sans prérequis explicites ; (c) durée fantôme non vérifiée.
Phase 3 — PARCOURS.md réécrit :
PARCOURS.mdracine : passe de façade catalogue → porte d'entrée narrative vers les 3+ parcours.docs/curriculum/*.mdauto-générés : conservés comme vue exhaustive (backstop), mais signalés comme tels depuis PARCOURS.md.README.mdracine : la ligne 19 et la ligne 60 sont ajustées pour orienter vers les parcours narratifs, pas juste PARCOURS.md.
Phase 4 — Mécanisme de régénération sans régression :
- Le pipeline
generate_parcours.pyest modifié pour n'écraser QUE les pages catalogue, jamais les nouveaux fichiers narratifs (zone<!-- NARRATIVE:START -->…:END -->). - Un check
check_parcours_narrative_integrity.pydétecte la régression : un parcours narratif dont tous les notebooks référencés auraient disparu, ce qui publie un warning PR. - Cf. l'Epic [EPIC] Traduction multilingue du depot via datasetupdater Argumentum (low priority) #1650 Phase 0.5 (i18n EN/FR des pages catalogue) — s'assurer que la préservation ne casse pas le cycle de traduction.
Critères d'acceptation globaux
- Un apprenant qui ouvre le dépôt via GitHub.com arrive sur le README, clique sur le lien parcours, lit un chemin narratif (pas une énumération), et peut commencer immédiatement.
- Chaque parcours a : public, prérequis (~10 min), durée estimée, sortie concrète (notebook final / livrable).
- La rédaction s'appuie sur les embryons existants du dépôt (citation des sources) — pas une réécriture ex nihilo qui doublonnerait GameTheory/README.md.
- AIMA (Russel & Norvig) est explicitement citée comme inspiration dans le parcours « Recherche et Corpus ».
- La régénération du catalogue (
catalog-cron.yml) ne peut pas supprimer un fichier narratif nouveau (test d'intégrité PR).
Anti-patterns interdits (cf. audit-cross-source-distillation.md règle HARD 1)
- Pas de
*_PARCOURS_AUDIT.md/*_RAPPORT.mddans le dépôt — la sortie d'audit va sur le dashboard RooSync (éphémère). Un audit du travail fait ouvre des issues, pas un rapport commit. - Pas de monoculture de genre :
variation-protocol.mdG-VAR-1 tient — chaque parcours est livrable par un grain DEEP/MED de CONTENU (docsoureadme), pas juste un LOT de PRs LIGHT. - Pas de README READMEs inventés : si une série n'a pas d'embryon de parcours dans son README, l'EPIC le note comme « à inventorier » mais ne le fabrique pas de toutes pièces.
Sibling issues / EPICs (Cf. relations — pas de Closes puisque le travail est en plusieurs PRs)
- [EPIC] Site GitHub Pages jsboige.github.io/CoursIA — audit & refonte (navigation, parcours, rendu notebooks) #10921 — EPIC site GitHub Pages (périmètre moteur/rendu — complémentaire)
- [EPIC] Nommage canonique et parcours des notebooks — numéros, accrétions, noyaux et catalogue #5081 — EPIC renumérotation narrative des séries (pré-requis sémantique)
- Reorganisation : ranger en sides (-b/-c) les ajouts recents qui ont pris un numero sequentiel (GT-19..23, Lean-25/26, Audio 04-7..13, ICT-Life, rlpt_, Planners-13) #12375 — Réorganisation accrétions -b/-c (pré-requis structurel)
- Navigation / parcours — guider l'apprenant dans les parcours, pas les docs techniques #10924 — Fille de [EPIC] Site GitHub Pages jsboige.github.io/CoursIA — audit & refonte (navigation, parcours, rendu notebooks) #10921 « Navigation/parcours : guider l'apprenant » (consommateur du contenu sémantique)
- [EPIC] CoursIA -> reference publique : open-courseware fiabilise, fini, publie, multilingue #4208 — EPIC open-courseware public (consommateur final : les parcours sont le contenu à publier)
- docs(root): rafraîchir le README et préciser confidentialité vs crédits publics #13785 — docs(root) rafraîchir README et préciser confidentialité vs crédits publics (synchroniser)
Labels
EPIC — parapluie. Les issues filles portent documentation, content, parcours selon nature.
Tell applicable
- CLAUDE.md §C notebooks (re-exécution, outputs, C.2) pour toute PR qui touche un notebook en passant.
audit-cross-source-distribution.mdrègle HARD 1 (pas de rapport*_AUDIT.md/*_RAPPORT.mdcommité).audit-cross-source-distillation.mdrègle HARD 2 (audit = grain au cas par cas, pas un genre reconductible — ce qui suit n'est pas « tout-auditer-série-par-série », c'est une production pédagogique ciblée).variation-protocol.mdG-VAR-1 (parcours narratif = genrereadmeoudocsCONTENU, pas LIGHT).
Hors scope (rappel)
- Refonte moteur Quarto / css / navbar → [EPIC] Site GitHub Pages jsboige.github.io/CoursIA — audit & refonte (navigation, parcours, rendu notebooks) #10921 + Navigation / parcours — guider l'apprenant dans les parcours, pas les docs techniques #10924.
- Résolution des 7 liens de séries cassés sur
MyIA.AI.Notebooks/index.qmd→ Liens de séries cassés (7/12) sur MyIA.AI.Notebooks/index.qmd — 404 confirmé Playwright #10922. - Résolution JSON brut des notebooks → Notebooks affichés en JSON brut (notebook-preview: false) — implémenter une visionneuse type GitHub #10923.
- Internationalisation EN/FR du catalogue → [EPIC] Traduction multilingue du depot via datasetupdater Argumentum (low priority) #1650 Phase 0.5+.
Phase 0 — immédiate
Une issue fille unique : « Triage : lister tous les embryons de parcours actuellement présents dans le dépôt », scope ~10 fichiers, livrable docs/curriculum/_inventory.md avec colonnes (fichier, profil cible, durée si estimée, action proposée). PR atomique (< 100 lignes diff), 1 worker, 1 cycle.
Activity
jsboige commentedon Aug 31, 2026
[INFO] EPIC ouverte — sous-ticket fille immédiate : « Triage : lister tous les embryons de parcours actuellement présents dans le dépôt » (Phase 0, ~10 fichiers, livrable docs/curriculum/_inventory.md).
Lane myia-po-2026:CoursIA-2 — cycle c.802 — interface user inactif (ask implicite satisfait par ouverture EPIC).
[INFO] c.802 narrow256ᵉ — Déclenché par demande user explicite : « PARCOURS.md est un cul-de-sac, je pense que ça mérite une issue, d 0x0p+0utant qu 0n a plusieurs suggestions de parcours déjà présentes ailleurs dans le dépôt. »
EPIC option A confirmée par AskUserQuestion (réponse user) :
Sibling EPICs liés par « See » :
Phase 0 = une seule issue fille (triage), scope ~10 fichiers, PR atomique <100 lignes.
Pas de PR livrée ce cycle (état narrow-monotonie Tell c.640 R5 maintenu). Picker next-grains disponible cycle c.803.
fix(scan): ORPHAN_TABLE_ROW fence-aware — skip pipe-lines inside code…
fix(markdown-tables): ORPHAN_TABLE_ROW detection + repair table break…
docs(curriculum,#13845): Phase 0 EPIC #13844 -- inventaire embryons p…
fix(curriculum,#13845): recompter la synthese depuis la colonne de ve…
docs(curriculum,#13845): triage embryons parcours - Phase 0 EPIC #13844…
docs(curriculum,#15807): parcours narratif « Recherche et Corpus (AIM…
docs(curriculum,#15806): parcours narratif « IA Symbolique et Formali…
docs(curriculum,#15805): parcours narratif « Accéléré vers GenAI » (E…
myia-ai-01 commentedon Sep 15, 2026
[PHASE 3] Issue fille ouverte : #16237
Le constat user est confirmé : les trois pilotes narratifs existent déjà, mais la porte d entrée
PARCOURS.mdcontinue à présenter cinq vues générées du catalogue comme des parcours.#16237 borne le plus petit geste restaurateur : rendre visibles les trois routes narratives, reléguer les cinq pages générées au rang de vues catalogue, présenter
parcours.qmdcomme axe infrastructure orthogonal, et corriger les pointeurs d entrée. Aucun changement du générateur, du cron, des pages générées ni des pilotes eux-mêmes.Critère directeur : un catalogue dit ce qui existe ; un parcours dit dans quel ordre apprendre, pour quel objectif et en combien de temps.
-- ai-01
fix(docs,#16237): PARCOURS.md expose les 3 pilotes narratifs en prima…
myia-ai-01 commentedon Sep 26, 2026
Apport d'une analyse externe du dépôt public (septembre 2026), trié par le coordinateur (myia-ai-01).
Une analyse du dépôt, écrite de l'extérieur à partir des README et de
docs/, arrive à un diagnostic qui confirme la priorité de cette epic : le problème n'est plus la quantité de contenu, c'est le guidage d'un étudiant dans la masse. Je retiens trois propositions pour les parcours, et j'écarte ce qui ne tient pas à la vérification.Retenu, pour les parcours
Ouvert à côté
Écarté après vérification
02-ML-Courscouvre biais-variance (2.5), calibration (2.5b), régularisation (2.11), PAC et dimension VC (2.8, avec son jumeau Lean 2.8b), concentration (2.8c) et généralisation (2.9). L'analyse ne l'a pas vu parce que ce socle est rangé sousDataScienceWithAgents: c'est un défaut de visibilité, signalé sur reorg(dsa,#13504): renommage hub DataScienceWithAgents + sous-repertoires — plan en 5 tranches avec gate de sequencement (mandat user 2026-09-22) #17417.Probas/DecisionTheory/Causal-Bridges/(do-calcul, DoWhy, quasi-expérimental) etProbas/Infer/Infer-13-Crowdsourcing.ipynbles couvrent.feat(preflight,#18208): learner_preflight.py par profil parcours (#18765
jsboige commentedon Oct 5, 2026
[CLAIMED] lane myia-po-2025:CoursIA-2 -- consolidation EPIC (vague #13906) : confrontation body <-> main, bloc date
jsboige commentedon Oct 5, 2026
[RELEASED] Consolidation du corps (vague #13906, lane myia-po-2025:CoursIA-2) : bloc daté 2026-10-05 ajouté en tête, plan du 31/08 intact en dessous.
Sortie : réécriture du body, EPIC reste ouverte. Le plan d'origine est largement livré — Phases 1-3 measurées livrées (
_inventory.md, les 3 parcours pilotes +aima-walk-competences.md,PARCOURS.mdnarratif + README, #16237 fermée 27/09), Phase 4 tenue par d'autres organes (garde marker l.533 + staging cron borné ; le scriptcheck_parcours_narrative_integrity.pydu plan n'existe pas et le critère est couvert sans lui). Deux livraisons mergées non consignées : #18483 (auto-évaluation 02-ML-Cours) et #18765 (learner_preflight.pypar profil).Le travail vivant est désormais celui du tri du 26/09 : triptyque IA sans LLM / générative / hybride (le 3ᵉ n'est suivi par aucun parcours de bout en bout), parcours « IA, société et responsabilité », niveaux de sortie par établissement (#14620). Siblings fermées depuis le plan : #12375, #10924, #13785.
myia-ai-01 commentedon Oct 14, 2026
[CLAIMED] lane myia-po-2025:CoursIA — parcours : la tranche IA hybride
Pose au dispatch par le coordinateur (myia-ai-01:CoursIA), file profonde du 15/10. La lane le remplace par son propre marqueur si elle precise le perimetre.
jsboige commentedon Oct 15, 2026
[CLAIMED-AMEND] lane myia-po-2025:CoursIA -- paths: docs/curriculum/ia-hybride.md, PARCOURS.md — tranche 3 du tri du 26/09 : parcours narratif IA hybride (LLM + solveurs + vérificateurs) de bout en bout
jsboige commentedon Oct 15, 2026
[CLAIMED-AMEND] lane myia-po-2025:CoursIA -- paths: docs/curriculum/ia-hybride.md, PARCOURS.md, MyIA.AI.Notebooks/index.qmd -- ajout index.qmd : mise en coherence de la mention 'trois parcours' (L11), meme geste que PARCOURS.md
jsboige commentedon Oct 15, 2026
[RELEASED] lane myia-po-2025:CoursIA — PR #20849 : tranche 1 du front vivant (item 1 du tri du 26/09), parcours narratif
ia-hybride.md(8 étapes, ~5-7 h : Argumentation 00→08, SocialChoice 03-04 par SAT-Z3, QC-Py-42 bras LLM). Critère de prérequis vérifié sur les sections réelles — SL-9/SL-7/SL-11 et Lean-07/08 exclus (4-7 h de fondations exigées), déclarés en prolongements. PARCOURS.md 3→4 parcours, index.qmd mis en cohérence. Items 2-4 du front restent ouverts.jsboige commentedon Oct 15, 2026
Grain: DEEP/docs — lane myia-po-2027:CoursIA — prev: LIGHT/docs #20996
[CLAIMED] lane myia-po-2027:CoursIA -- paths: docs/curriculum/ia-societe-responsabilite.md -- item 2 du front vivant (tri du 26/09, §3) : parcours narratif « IA, société et responsabilité » composé à partir de l'existant (2.5c, SocialChoice, sophismes, argumentation, oversight #16754). La ligne de table PARCOURS.md est DIFFÉRÉE après merge de #20849 (collision paths claimée par myia-po-2025:CoursIA) — ce claim ne couvre volontairement que le nouveau fichier.
jsboige commentedon Oct 15, 2026
[DELIVERED] lane myia-po-2027:CoursIA — item 2 du front vivant (tri du 26/09) : PR #21017 (commit f7e0725, 1 fichier +86) — parcours narratif
docs/curriculum/ia-societe-responsabilite.md, 16 étapes en 5 actes composées exclusivement de carnets existants sur main : équité ML (2.5c/2.12/2.13/2.14), donnée-responsabilité (2.15, #17984 livrée), choix social (Arrow, Gibbard-Satterthwaite, Voting, Möbius), argumentation (Toulmin, Fallacies, Dung, Gouvernance Multi-Agents, FallacyDetection-01), oversight (Backdoor-Code, Scaling-Laws Statistics/Wargames, #16754). Durées citées uniquement depuis les READMEs publiés (jamais estimées), faits saillants repris des tables mesurées. La lignePARCOURS.mdest différée en PR distincte après merge #20849 (paths claimés séparément, collision évitée).Fix(#20849): docs-index-guard -- curriculum/ia-hybride.md atteignable…
Fix(curriculum,#13844): hermes review -- compteur 16 etapes + lien Ar…