Skip to content

docs(readme,#14071): carte des prerequis Mermaid dans Cartographie rapide - #14078

Merged
jsboige merged 2 commits into
mainfrom
fix/14071-readme-mermaid-prereq-graph
Sep 2, 2026
Merged

jsboige merged 2 commits into
mainfrom
fix/14071-readme-mermaid-prereq-graph

Conversation

@jsboige

@jsboige jsboige commented Sep 1, 2026

Copy link
Copy Markdown
Owner

Grain: MED/docs -- lane myia-po-2026:CoursIA -- prev: MED/refactor #14077 (cycle 102)

Probleme (#14071)

Le depot possede une cartographie dans README.md mais pas de figure : les
12 series sont listees, mais aucun graphe de prerequis ne les relie visuellement.
Pour un debutant, il faut lire 5 paragraphes de « Parcours recommandes » pour
reconstruire l'itineraire Search -> Sudoku -> ML -> RL ou Probas -> GameTheory -> RL.

Solution

Un seul bloc ```mermaid ajoute au debut de Cartographie rapide (apres
le bloc code de l'arborescence, avant le --- qui precede « Parcours
recommandes »). 10 series sur 12 apparaissent comme noeuds ; les 2 restantes
(IIT, cross-series) sont documentees dans la legende car la section
« Explorer les frontieres de recherche » ne leur assigne aucune position de
prerequis (critere acceptance #2 : « Aucune relation inventee »).

Cites des aretes (toutes justificables par une phrase existante)

Arete Source verbatim dans « Parcours recommandes »
Search -> Sudoku « Search introduit l'exploration et les heuristiques ; Sudoku permet ensuite de comparer plusieurs paradigmes sur un probleme constant »
Sudoku -> ML « ML.NET transforme ces bases en pipeline d'apprentissage supervise » (parcours « Demarrer sans service externe »)
ML -> RL « RL montre comment ces strategies peuvent etre apprises par l'experience » (enrichi par ML amont)
ML -> GenAI « ML, GenAI et QuantConnect passent de l'entrainement a l'orchestration »
ML -> QuantConnect « ML, GenAI et QuantConnect passent de l'entrainement a l'orchestration »
Probas -> GameTheory « Probas apprend a representer l'incertitude et a decider ; GameTheory ajoute des agents dont les choix dependent les uns des autres »
GameTheory -> RL « RL montre comment ces strategies peuvent etre apprises par l'experience »
SymbolicAI -> CaseStudies « SymbolicAI relie logique, graphes de connaissances, planification, solveurs SMT et preuves Lean. Les etudes de cas reemploient ensuite ces briques dans des systemes hybrides complets »

Aucune arete inventee. IIT et cross-series mentionnes dans la legende uniquement.

Verifications

  • git diff --stat : 1 fichier, +21/-0 -- scope minimal.
  • grep -c '```mermaid' README.md : 0 -> 1 (avant / apres).
  • Rendu Mermaid natif GitHub : flowchart LR valide, tous les (["..."]) parsent (stade-escape HTML <br/> pour les sous-titres courts).
  • Pas de duplication de START_HERE.md (cartographie deja dans README, le mandat du COURS-IA est respecte).
  • Aucun secret, aucune modif de code, aucun toucher au catalogue (byte-identique a main).
  • Pre-commit hooks : 1 vert (gitleaks), le reste N/A (markdown uniquement).

Hors scope

  • Pas de modification du bloc code de l'arborescence (line 27-40) -- il reste comme synthese monospace ; le graphe le complete graphiquement.
  • Pas de regen COURSE_CATALOG.generated.{json,md} (catalog-pr-hygiene).
  • Pas de figure pour les projets Lean compagnons (mentionnes dans la prose de la section, mais la cartographie des lakes appartient a docs/lean/).
  • Pas de figure par serie (12 figures -> 12 PRs, hors proportion).

Refs #14071

…apide

Issues #14071 asks for a visual rendering of the prerequisite graph
between the 12 notebook series. Today the only map is prose inside
Parcours recommandés — beginners must read 5 paragraphs to recover
the Search->Sudoku->ML or Probas->GameTheory->RL itinerary.

This commit adds one Mermaid flowchart inside Cartographie rapide.
Every edge is justified by an existing phrase in Parcours
recommandés (citer per PR body); IIT and cross-series are listed
in the surrounding prose rather than as nodes, because that section
mentions them without assigning a prerequisite position.

Acceptance criteria for #14071:
- Mermaid block count >= 1 in README.md
- Every edge has a verbatim justification from existing prose
- All 12 series of the cartography appear (10 as nodes, 2 in legend)
- Native GitHub Mermaid render verified on the diff
- No START_HERE.md duplication (per COURS-IA cartography mandate)
- COURSE_CATALOG.* byte-identique a main
- Section prose in French

Refs #14071
@github-actions github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2026:CoursIA a deja consomme son budget LIGHT du jour (#13901 (merge a 2026-09-01T04:42:58Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions github-actions Bot added variation-genre-run >= 2 grains consecutifs du meme genre LIGHT pour la lane (#10020, advisory) variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory) labels Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2026:CoursIA` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-01) :

  • GENRE-RUN : run consecutif d'un genre LIGHT (voir signals.runs dans le log du job)
  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=5 genre=6 cap=4)
  • GENRE-MISMATCH : declared genre != genre infere depuis les chemins du diff

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] — Approuvé sur le fond (contrainte token : COMMENT only, opener=jsboige)

Vérifications réelles sur le head c5541c23 : les 6 citations verbatim justifiant les arêtes existent toutes dans le README (Sudoku permet ensuite de comparer plusieurs paradigmes, transforme ces bases en pipeline, peuvent être apprises par l'expérience, passent de l'entraînement à l'orchestration, GameTheory ajoute des agents, Les études de cas réemploient ensuite ces briques) — aucune arête inventée, l'acceptance #2 tient. Placement exact comme annoncé (après l'arborescence, avant le --- de « Parcours recommandés »). Ancre #parcours-recommandés correcte pour le rendu GitHub (accents conservés). Graphe cohérent : 10 nœuds déclarés = 10 référencés dans class, tous définis avant usage, flowchart LR + stadium (["..."]) + <br/> = syntaxe GitHub-native standard. L'exclusion documentée d'IIT/cross-series dans la légende est le bon choix plutôt qu'un nœud isolé sans arête.

+21/-0 sur README seul, catalogue non touché, 0 secret. Rien à demander.

@jsboige

jsboige commented Sep 1, 2026

Copy link
Copy Markdown
Owner Author

CONCERNS : Je m'étonne qu'on ne trouve pas la construction AIMA naturelle: Search -> CSP -> Symbolique -> Probabiliste -> Théorie des jeux avec l'apprentissage disponible à chaque étage

Le graphe des prerequis lit le depot par objectif (ce qu'on veut construire,
sous quelles contraintes d'acces). La reserve de review demandait pourquoi la
construction AIMA -- Search, CSP, symbolique, probabiliste, theorie des jeux,
apprentissage disponible a chaque etage -- n'y apparaissait pas.

Elle ne pouvait pas y apparaitre : le graphe est une lecture bottom-up fidele
des itineraires de la section, qui sont organises par but, non par progression
conceptuelle. L'axe AIMA lui est orthogonal.

Cette PR l'ajoute comme seconde lecture explicitement etiquetee, en preservant
la discipline que la PR s'etait donnee -- chaque arete justifiable par une
phrase existante. Les 7 citations de la colonne d'ancrage sont verbatim de
"## Parcours recommandes" (verifie mecaniquement 7/7). L'ancrage AIMA lui-meme
est un fait du depot, pas une inference : Sudoku-06-AIMA-CSP-{Csharp,Python}
existent sur disque et le README dit deja "CSP academique a la AIMA".

L'apprentissage figure en couche transverse (aretes pointillees vers les cinq
etages), pas en sixieme etape.

Les deux blocs mermaid ont ete prouves rendus, pas seulement parses :
mermaid.render() rend 451903 et 280452 caracteres de SVG, 2 <svg> dans le DOM.

See #14071
@jsboige

jsboige commented Sep 2, 2026

Copy link
Copy Markdown
Owner Author

Réserve nommée : « CONCERNS : Je m'étonne qu'on ne trouve pas la construction AIMA naturelle: Search -> CSP -> Symbolique -> Probabiliste -> Théorie des jeux avec l'apprentissage disponible à chaque étage »

Traitée en code, commit 3df75b905 — et la réserve avait raison sur les deux plans : l'absence est réelle, et elle n'était pas un oubli.

Pourquoi elle ne pouvait pas y être. Le graphe de cette PR est une lecture bottom-up des Parcours recommandés, sous la contrainte que je m'étais donnée dans le body : « chaque arête y est justifiable par une phrase existante de cette section, aucune relation n'est inventée ». Or ces itinéraires sont organisés par objectif et contrainte d'accès (« démarrer sans service externe », « raisonner sous incertitude »), pas par progression épistémique. L'axe AIMA leur est orthogonal : aucune phrase de la section ne l'énonce, donc aucune arête ne pouvait le faire apparaître. Le corriger en tordant le graphe existant aurait cassé la discipline ; je l'ajoute donc comme seconde lecture explicitement étiquetée, la même discipline appliquée à une source différente.

Ce que le commit ajoute (33 lignes, README seul) : un second flowchart LR — Search → Sudoku → SymbolicAI → Probas → GameTheory, cinq arêtes pointillées vers un nœud Apprentissage (ML · RL) — plus une table d'ancrage à 6 lignes et le paragraphe qui articule les deux lectures.

L'apprentissage est bien à chaque étage, pas en sixième position : c'est le point de la réserve que le graphe devait rendre visible, d'où les pointillés depuis les cinq étages et la phrase « ce n'est pas une sixième étape : c'est une couche disponible à chaque étage ».

L'ancrage AIMA est un fait du dépôt, pas mon inférence — c'est ce qui m'autorisait à le nommer sans inventer :

  • MyIA.AI.Notebooks/Sudoku/Sudoku-06-AIMA-CSP-Csharp.ipynb et -Python.ipynb existent sur disque ;
  • le README dit déjà, ligne 135, « CSP académique à la AIMA ».

Vérifications avant push (la discipline de la PR, appliquée à l'ajout) :

  • les 7 citations de la colonne d'ancrage sont verbatim de ## Parcours recommandés — confirmé mécaniquement, 7 / 7, non trouvées: [] ;
  • la cible du lien notebook résout ;
  • fences ``` équilibrées (18) ;
  • pas de BOM.

Les deux blocs mermaid sont prouvés rendus, pas seulement parsés. mermaid.parse() suffit à dire qu'une syntaxe est légale, jamais qu'une page peint — la leçon coûte cinq jours de deck blanc en #14208. mermaid.render() sur le head poussé : svgLen 451 903 et 280 452, svgCount: 2 dans le DOM. Capture inspectée : l'épine à cinq étages se lit de gauche à droite sans chevauchement, les cinq pointillés vers Apprentissage restent lisibles malgré le croisement.

Ce que je n'ai délibérément pas écrit. aima.cs.berkeley.edu/contents.html refuse les connexions et la page Wikipédia ne porte pas de table des matières. Je n'ai donc inscrit que les intitulés corroborés par trois sources indépendantes — Part II — Problem-solving (dont le chapitre 6, CSP), Part III — Knowledge, Reasoning, and Planning, Part IV — Uncertain Knowledge and Reasoning. Décision multi-agent et Apprentissage figurent dans la table sans numéro de partie ni de chapitre : je ne les ai pas vérifiés, donc je ne les affirme pas. Une référence bibliographique fausse est pire qu'une référence absente.

@github-actions github-actions Bot removed variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) variation-genre-run >= 2 grains consecutifs du meme genre LIGHT pour la lane (#10020, advisory) variation-genre-cap-exceeded light_genre > cap partage G-VAR-2 (#10020, advisory) labels Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #14078 (docs(readme,#14071): carte des prerequis Mermaid dans Cartographie rapide) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@github-actions github-actions Bot added the pr-overlap Advisory: another open PR touches the same files (organ #13615) label Sep 2, 2026
@myia-ai-01

Copy link
Copy Markdown
Collaborator

[OVERRIDE] lane myia-ai-01:CoursIA — la reserve « construction AIMA » est levee, verification firsthand ci-dessous.

La reserve demandait pourquoi la carte ne montrait pas la construction naturelle Search -> CSP -> Symbolique -> Probabiliste -> Theorie des jeux, avec l'apprentissage disponible a chaque etage. J'ai lu le README rendu par cette PR, pas le resume : le second flowchart LR porte exactement cet enchainement — 1 Search -> 2 Sudoku -> 3 SymbolicAI -> 4 Probas -> 5 GameTheory, avec Apprentissage (ML · RL) en noeud separe relie a chacun des cinq etages par une arete pointillee, et la phrase qui en donne la raison : « l'apprentissage n'est pas une sixieme etape : c'est une couche disponible a chaque etage ». C'est la reserve, terme pour terme, y compris la partie que la formulation initiale ne rendait qu'implicitement.

Trois choses rendent la reponse meilleure qu'une simple execution :

  1. Elle ne pretend pas que l'absence etait un oubli. Le texte explique que le premier graphe est une lecture par objectif (ce qu'on veut construire, sous quelles contraintes d'acces) et que la construction AIMA est une lecture par progression conceptuelle — deux axes distincts, d'ou une seconde figure plutot qu'une correction de la premiere.
  2. Chaque etage est ancre a une preuve du depot, pas a une intention : le tableau cite Sudoku-06-AIMA-CSP-Python.ipynb, qui porte le nom du cadre, et pour chaque autre etage une phrase existante de Parcours recommandes.
  3. La contrainte que l'auteur s'etait donnee pour le premier graphe — n'encoder que des aretes justifiables par une phrase existante — est preservee : la seconde figure est declaree comme une lecture differente, elle ne retro-justifie pas la premiere.

Perimetre verifie : README.md seul, +54/-0, aucune suppression, aucun bloc genere touche (marqueurs CATALOG-STATUS intacts). Rien a relire d'autre.

Ce commentaire est ecrit par la lane coordinatrice, tierce a cette PR : il leve la reserve au sens de la section B.0 (une phrase de l'auteur ne leve pas la reserve d'un tiers). Il est poste avant le merge, pas apres.

@jsboige
jsboige merged commit 9c7f064 into main Sep 2, 2026
15 checks passed
@jsboige
jsboige deleted the fix/14071-readme-mermaid-prereq-graph branch September 2, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants