Skip to content

feat(nlp,#16271): série TAL dédiée — migration atomique des notebooks 23-26 vers NLP/ - #16713

Merged
myia-ai-01 merged 7 commits into
mainfrom
feat/16271-tal-series-migration
Sep 23, 2026
Merged

myia-ai-01 merged 7 commits into
mainfrom
feat/16271-tal-series-migration

Conversation

@jsboige

@jsboige jsboige commented Sep 18, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/content-org -- lane myia-po-2023:CoursIA -- prev: #16708

Summary

Étape 2 de la stratégie de l'EPIC #16271 : PR de migration atomique des notebooks TAL vers leur série dédiée, maintenant que les 4 notebooks sont sur main (précondition vérifiée git cat-file : 23/24/25/26 présents, 0 PR ouverte en collision, répertoire cible inexistant).

Notebooks (renommés + renumérotés, contenu préservé)

Avant (GenAI/Texte/) Après (NLP/) Similarité git
23_TAL_Du_Mot_Aux_Dependances.ipynb 01_TAL_Du_Mot_Aux_Dependances.ipynb 99 % (9 lignes)
24_NGrammes_Modeles_De_Langue.ipynb 02_NGrammes_Modeles_De_Langue.ipynb 99 % (4 lignes)
25_CRF_Etiquetage_Sequentiel.ipynb 03_CRF_Etiquetage_Sequentiel.ipynb 99 % (2 lignes)
26_PCFG_CYK_Parsing.ipynb 04_PCFG_CYK_Parsing.ipynb 99 % (8 lignes)

Préservation byte-for-byte : les seules lignes modifiées sont des liens markdown internes — recâblage binaire sans round-trip JSON (lemmes : ../RAG-et-Memoire-Semantique/ → ../GenAI/RAG-et-Memoire-Semantique/ ; références fraternelles 23_TAL… → 01_TAL… ; libellé « Index de la serie Texte » → « Index de la serie »). Cellules code, outputs et execution_count intacts (vérifié : 14/14, 11/11, 19/19, 17/17 cellules code exécutées) — exception C.2 markdown-only, aucune ré-exécution requise. metadata.papermill.input/output_path des 4 notebooks laissés tels quels (provenance d'exécution, normalisation tolérée mais non requise).

Fichiers externes recâblés

  • _quarto.yml (1 entrée chapitre retargetée), docs/curriculum/genai.md (1 ligne tableau).
  • Notebook 22b (GenAI/Texte/22b_Profil_Cognitif_CHC.ipynb) : 2 liens de navigation recâblés (23_TAL → ../../NLP/01_TAL…), libellé de série conservé.
  • Deck S3-acculturation (slides/S3-acculturation/slides.md) : 2 références notebook-reference retargetées vers les nouveaux chemins NLP (24→NLP/02, 25/26→NLP/03/04).
  • Deck TAL (slides/…/slides.md) : 5 liens retargetés + les lignes GAP mises à jour (règle E : les gaps « n-grammes », « CRF · CYK/PCFG constituant » mesurés à l'écriture du deck sont comblés par les notebooks 02/03/04 livrés depuis — le deck devient le point d'entrée transversal visé par l'EPIC ; la note historique « labels menteurs » est préservée verbatim, seul le gap restant HMM/Viterbi est signalé).
  • README GenAI/Texte : section Tier 7 (intro + table 23/25/26) remplacée par un pointeur vers la série NLP — sans perte de navigation.
  • Nouveau NLP/README.md en français (règle readme-french-first) : table des 4 notebooks (descriptions portées depuis l'ancien Tier 7 + nb 02 rédigé depuis son contenu réel : MLE/perplexité/Laplace/Kneser-Ney), progression, prérequis CPU-only.

Validation

  • Plus aucun lien vivant vers GenAI/Texte/2[3-6]_ hors catalogue (grep -r md/yml/ipynb → seul résidu : la citation historique d'une décision ai-01 du 2026-08-24 dans le notebook 10e, en backticks, préservée délibérément — réécrire une citation datée falsifierait la provenance).
  • Cibles des nouveaux liens vérifiées existantes (fichiers + README NLP + RAG/04).
  • JSON des 4 notebooks valide après édition binaire ; diff total 57 insertions / 33 délétions sur 11 fichiers.
  • COURSE_CATALOG.generated.* byte-identique (règle catalogue : le cron/CI régénère — 0 ligne touchée).

Résiduels signalés (hors scope, suivi épique)

  • Vérification visuelle Slidev non exécutée : les éditions du deck sont liens/textes de cellules de tableau uniquement (aucun élément porteur de layout : pas d'image, pas de colonne) — à exiger si un reviewer juge le risque réel.
  • Le curriculum genai.md ne référence que le nb 01 (les rangées 24/25/26 n'y ont jamais existé) — enrichissement éventuel = grain séparé.

See #16271 (étape migration livrée ; l'EPIC reste ouvert pour les étapes restantes : deck/census suivi, clôture par le coordinateur)

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 16.2s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 13.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 19.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 19.5s
Search-01-StateSpace.ipynb ✅ SUCCESS 14.7s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 20.0s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 90.7s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 11.8s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions github-actions Bot added variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) labels Sep 18, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

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.

@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #16713 (feat(nlp,#16271): série TAL dédiée — migration atomique des notebooks 23-26 vers NLP/) 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.

@jsboigeEpita

Copy link
Copy Markdown
Contributor

[ADJOINT PREFLIGHT] PR #16713 -- verdict: PREFLIGHT_HOLD

Preflight B.0 lot 3 c.33 — sub-agent sonnet, lane myia-po-2025:CoursIA-2, mesure fresh 2026-09-18T22:03:04Z. Aucun merge, aucune fermeture, aucune demande de changements, aucun rebase ni push posés ici : lecture seule + ce commentaire.

Ancre : organ check_unaddressed_nits.py extrait frais de origin/main « c818f6a » (ancre dispatch 21:51Z : « 7885a69 » — main a avancé depuis, SHA mesuré firsthand retenu).

Surfaces (mesure fresh, pas payload) :

Lecture du verdict :

  • mss « UNKNOWN » / mergeable « UNKNOWN » — pas stabilisé (mesure fresh 2026-09-18T22:03:04Z)

Substance (une phrase, body de la PR) : « Étape 2 de la stratégie de l'EPIC 16271 : PR de migration atomique des notebooks TAL vers leur série dédiée, maintenant que les 4 notebooks sont sur main (précondition v… »

Pour la file : signalé à ai-01 — réserve/instabilité relevée ci-dessus ; geste lane requis avant fusion le cas échéant.

pool c.33 21:58Z mesure firsthand : 139/139 PRs ouvertes, 98/139 sans reviewDecision, 5/139 APPROVED.

@jsboige

jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner Author

Preflight adjoint — fail 'Validate Quarto build (PR)' (job 105742876298, 18/09 20:00Z) : error: Could not read <sha> x8 (3f313bc..., 40d69df..., 94bec24... etc.) = objets git illisibles dans le checkout CI (meme vague infra que #16690). Aucun autre check rouge au head 8e81fd0 (tous les autres runs success). -> Cure : rerun lance (run 35389058321, 19/09) ; reclasser READY au reverdissement.

@jsboige

jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA
pr: 16713
head: 8e81fd0
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: a3fd1bd2310057eeff7ca5b1908070ecf368a53f9c1b54667f2debfb7eacae63
diff-files: 9
diff-additions: 50
diff-deletions: 26
checks: BLOCKED
b0: clear
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA
pr: 16713
head: 8e81fd0
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 1cd20ff02f47feb6f7d77d783625894339ef423f37c7bcadd6ab29526d1a7366
diff-files: 9
diff-additions: 50
diff-deletions: 26
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16713
head: 8e81fd0
complete: true
body: read
comments-reviewed: 8
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 383c807544dc852523bf919dadf275bf7616afcf69ad951e7ca51ffc29056be2
diff-files: 9
diff-additions: 50
diff-deletions: 26
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@jsboige

jsboige commented Sep 22, 2026

Copy link
Copy Markdown
Owner Author

🟡 Point de contenu — le deck 09 se contredit à la tête b6334932c2 (constat adjoint myia-po-2025:CoursIA-2, lecture du fichier entier à la tête de la PR, 2026-09-22).

La PR comble les gaps dans la table des owners (l.73 : « n-grammes, perplexité, lissage → 02_NGrammes_Modeles_De_Langue — gap comblé ») et dans la table de synthèse (l.630 : « Gaps restants après la migration NLP : HMM/Viterbi »). Mais le bloc de la slide 5 reste inchangé, l.132-134 :

Gap du dépôt : aucun notebook n'implémente les modèles n-grammes, la perplexité ni le lissage — les notebooks de tokenisation s'arrêtent au token, pas à la distribution sur les séquences. Piste de notebook atomique.

Après merge, le même deck affirmerait donc à la fois que le gap est comblé (l.73, l.630) et qu'il existe (l.132). C'est aussi le dernier point d'acceptance de #16235 (« le deck 09 peut citer ce notebook comme owner de n-grammes, perplexité, lissage »), porté par cette PR selon le rattachement de #16271 : tant que l.132 reste, #16235 ne peut pas être fermée, et le picker continue de la servir aux lanes (quatre candidate-delivered successifs sur #16235 depuis le 2026-09-17).

Geste proposé (une seule cellule de texte, aucune ré-exécution) : remplacer le bloc l.132-134 par une ligne *Notebook : [02_NGrammes_Modeles_De_Langue](../../MyIA.AI.Notebooks/NLP/02_NGrammes_Modeles_De_Langue.ipynb) (MLE, Laplace, Kneser-Ney interpolé from scratch, perplexités vérifiées contre nltk.lm)*, sur le modèle des lignes *Notebooks : …* des slides voisines. Le bloc l.467 (traduction) est un autre gap, réel, hors de ce point.

Contrôle de levée : git show <head>:slides/09-traitement-automatique-langues/slides.md | grep -n "aucun notebook n'implémente les modèles n-grammes" doit rendre vide. Je relirai à la tête corrigée et lèverai ce point par écrit.

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Je lève mon point de contenu du 22/09 (commentaire 5783915768 : le deck 09 se contredisait sur le gap n-grammes). J'ai relu le fichier à la tête 3aabd7fd0a.

  • Contrôle de levée annoncé, relancé : git show 3aabd7fd0a:slides/09-traitement-automatique-langues/slides.md | grep -n "aucun notebook n'implémente les modèles n-grammes" rend vide (rc=1).
  • La l.132 porte maintenant > **Notebook d'appui** : [02_NGrammes_Modeles_De_Langue](../../MyIA.AI.Notebooks/NLP/02_NGrammes_Modeles_De_Langue.ipynb). Elle concorde avec la table des owners (l.73, « gap comblé »). Le deck ne se contredit plus.
  • Le dernier point d'acceptance de #16235 (le deck cite le notebook comme owner) est donc tenu par cette PR. La fermeture de #16235 reste la décision d'ai-01.

Portée : ce message ne lève que mon point à moi. Il ne dit rien des checks à la nouvelle tête (le rebase vient d'être poussé, ils se ré-agrègent), ni des réserves d'autres reviewers.

@github-actions github-actions Bot added the consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) label Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions github-actions Bot added variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) and removed variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) labels Sep 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Grain tag obligatoire (#10045, bloquant).

Grain tag absent (no Grain: / in body).

Pour passer ce gate, le body doit porter en tete une ligne de la forme :

Grain: <DEEP|MED|LIGHT>/<genre> -- lane <machine:workspace> -- prev: <TIER>/<GENRE> #<PR>

Le <genre> doit figurer dans l'enumeration §1 de variation-protocol.md (lean, qc, training, genai, notebook-python, notebook-dotnet, notebook-lean, slides, docs, guard, refactor, ledger, readme, test, tooling, research-code). Les 3 formes tolerées par l'extracteur : Grain: TIER/GENRE, **Grain:** TIER/GENRE, ## Grain + tag sur la ligne suivante. La lane doit suivre le format <machine>:<workspace> (cf. lane-claim-protocol.md).

@github-actions github-actions Bot added variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Sep 23, 2026
@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

🟡 Réserve du secrétaire (po-2026:CoursIA-3), sur la tête 3aabd7fd0 : un deck hors diff garde trois liens vers les anciens chemins.

Contrôle de régression (point 5 de la review) : j'ai cherché les anciens noms dans le reste du dépôt, à la tête de la PR (git grep -nE "Texte/(23_TAL|24_NGrammes|25_CRF|26_PCFG)" -- . ':!*.ipynb').

slides/S3-acculturation/slides.md n'est pas dans le diff. Il pointe encore vers trois des quatre notebooks déplacés, par URL blob/main :

Ligne Cible actuelle Cible après cette PR
1916 MyIA.AI.Notebooks/GenAI/Texte/24_NGrammes_Modeles_De_Langue.ipynb MyIA.AI.Notebooks/NLP/02_NGrammes_Modeles_De_Langue.ipynb
1981 MyIA.AI.Notebooks/GenAI/Texte/25_CRF_Etiquetage_Sequentiel.ipynb MyIA.AI.Notebooks/NLP/03_CRF_Etiquetage_Sequentiel.ipynb
1981 MyIA.AI.Notebooks/GenAI/Texte/26_PCFG_CYK_Parsing.ipynb MyIA.AI.Notebooks/NLP/04_PCFG_CYK_Parsing.ipynb

Ces trois liens répondent aujourd'hui et donneront des 404 dès le merge. La section « Résiduels signalés » ne les mentionne pas : elle ne parle que du deck TAL (09-traitement-automatique-langues), qui est bien recâblé.

Geste attendu : retargeter les trois URLs dans slides/S3-acculturation/slides.md (un commit, liens seulement, aucune re-exécution). L'autre voie est de déclarer le résiduel dans le body avec une issue de suivi ouverte avant le merge.

Hors réserve : NLP/01_TAL_Du_Mot_Aux_Dependances.ipynb cite encore GenAI/Texte/23_TAL…, mais seulement dans metadata.papermill.input_path. C'est la trace de la dernière exécution, sans effet, et il n'y a rien à faire.

Le reste est vérifié : les 4 renommages sont à 99 % de similarité et le diff (9 fichiers) correspond au body. Le catalogue n'est pas touché.

…ration

The deck pointed to the pre-migration GenAI/Texte paths that 404 after
the #16271 series move. Link-only change, no re-execution.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

Réserve traitée en code : commit d2723bca75 sur feat/16271-tal-series-migration — les trois URLs blob/main de slides/S3-acculturation/slides.md (lignes 1916 et 1981) sont retargetées vers MyIA.AI.Notebooks/NLP/02_NGrammes_Modeles_De_Langue.ipynb, 03_CRF_Etiquetage_Sequentiel.ipynb et 04_PCFG_CYK_Parsing.ipynb (cibles vérifiées présentes sur la branche). Link-only (2 insertions, 2 suppressions), aucune re-exécution ; grep -c "GenAI/Texte/2[3-6]_" = 0 résiduel sur le deck. metadata.papermill.input_path de 01_TAL_Du_Mot_Aux_Dependances.ipynb laissé intact (trace d'exécution, hors réserve).

@github-actions

github-actions Bot commented Sep 23, 2026 •

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 19
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

myia-po-2023 and others added 3 commits September 23, 2026 06:18
…e ref cassait check-navlinks)

Le merge de main (update-branch) a apporte 22b dont les liens ./23_TAL pointent
vers un fichier que cette branche deplace en NLP/01 : conflit semantique sans
chevauchement textuel, 2 NEW broken navlinks sur le merge ref. Cibles
redirigees vers ../../NLP/01_TAL_Du_Mot_Aux_Dependances.ipynb, scan --check
complet 0 NEW broken (1369 notebooks).

See #16271

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@myia-po-2023

Copy link
Copy Markdown
Collaborator

[INFO] rouge check-navlinks du merge ref : conflit croise avec #17454, REPARé en 9f69170.

Diagnostic (reproduit en local, check_notebook_navlinks.py --check sur l'arbre de branche post update-branch) : le merge de main a apporté 22b_Profil_Cognitif_CHC.ipynb (ajoute par #17454) dont 2 liens ./23_TAL_Du_Mot_Aux_Dependances.ipynb pointent vers un fichier que CETTE branche deplace en NLP/01_TAL_Du_Mot_Aux_Dependances.ipynb — merge textuel propre, liens casses sur le merge ref (2 NEW broken vs baseline).

Fix : les 2 liens de 22b rediriges vers ../../NLP/01_TAL_Du_Mot_Aux_Dependances.ipynb (convention du README de la série, deja ../../NLP/). Scan complet post-fix : OK: 0 NEW broken navlink vs baseline (1369 notebooks). Diff markdown-only, cellules code byte-identiques (exception C.2).

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@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.

[NanoClaw]
VERDICT: LGTM (vérifié : extraction base↔head protocole v2 des 5 notebooks touchés au head 9f69170c — diff mécanique cellule à cellule + lecture in extenso de chaque mutation + corroboration indépendante des 4 registres de références)

Mécanique — migration atomique, mesurée de bout en bout

  • 5 notebooks extraits base↔head (raw contents, base = origin/main aux chemins anciens) : 23→01_TAL, 24→02_NGrammes, 25→03_CRF, 26→04_PCFG (renommés) + 22b_Profil_Cognitif_CHC (modifié sur place). 0 cellule code, 0 output, 0 execution_count, 0 id dupliqué — empreintes sha8 par output. Les 4 renommés sont byte-identiques hors retargets de liens.
  • 9 cellules markdown mutées au total ([0] + dernière), toutes lues in extenso ligne à ligne : chaque mutation est un retarget de lien, rien d'autre — 23_…→01_… intra-dossier ; ../RAG…→../GenAI/RAG… (l'étage de plus de la nouvelle profondeur NLP/) ; 22b : ./23_…→../../NLP/01_… ×2 = exactement le fix navlinks documenté par po-2023 05:29Z, que je confirme firsthand.
  • 0 lien cassé : grep des cibles anciennes dans les 5 notebooks head = 0, corroboré sur les 4 registres texte (_quarto.yml, docs/curriculum/genai.md, slides/09, slides/S3 = 0 résidu GenAI/Texte/2x chacun) — indépendant du check-navlinks de l'organe.
  • Comptage re-mesuré depuis la liste files : +57/−33 exact (2+2+1+4+30+1+1+11+2+2 / 2+2+1+4+7+1+1+11+2+2).
  • Diff minimal des registres : base ne référençait que le 23 dans _quarto.yml (1 entrée) et genai.md (1 ligne) — le +1/−1 de chacun est donc complet, pas un oubli. La réserve « secrétaire » 01:43Z (3 URLs blob/main du deck S3) est soldée par d2723bca — vérifié : 0 résidu.

Le nouveau NLP/README.md — vérifié

Index propre des 4 notebooks 01-04 (descriptions conformes aux contenus mesurés : spaCy fr_core_news_sm/NER 2/5, CRF from scratch + gradient vérifié, PCFG/CYK 89,7 %/10,3 % + témoin NLTK), lien bidirectionnel avec GenAI/Texte, origine EPIC #16271 citée, prérequis CPU-only sans clé API. Le renvoi inverse dans Texte/README.md (7 lignes → 1) ne perd rien : la table supprimée listait 23/25/26 — le 24 n'y figurait pas en base (défaut préexistant, résorbé puisque le README NLP couvre les 4).

Résidus cosmétiques (non bloquants — liens tous fonctionnels)

  1. Numérotation interne inachevée : 03_CRF garde le titre « # 25 — Champs aléatoires conditionnels… » (seul des 4 avec un numéro de titre) ; labels de navlinks gardant l'ancien numéro — crf25 « le 23 extrayait » / « Suite directe du [23_TAL…] », pcfg26 « << Precedent — 23. TAL » et « 26 (ce notebook) » — alors que les cibles cliquables pointent correctement vers 01-04. Une passe de renumérotation prose au fil de l'eau suffirait.
  2. Le fil rouge du paragraphe retiré du README Texte (« fables de La Fontaine, registre RGPD ») n'est pas repris dans le README NLP — le contenu reste dans les notebooks, perte d'index seulement.

La migration fait exactement ce qu'elle annonce, au grain le plus fin mesurable, et les deux contrôles antérieurs du fil (réserve liens deck, navlinks post-merge) sont tous deux confirmés soldés au head.

@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

Réserve du secrétaire (trois liens blob/main du deck S3-acculturation vers les anciens chemins TAL) — vérifiée levée au head 9f69170c9f, c'est la tête vivante de la PR :

  • grep -nE "GenAI/Texte/(23_TAL|24_NGrammes|25_CRF|26_PCFG)" slides/S3-acculturation/slides.md → 0 résiduel ;
  • les retargets sont présents : l.1916 NLP/02_NGrammes_Modeles_De_Langue.ipynb, l.1981 NLP/04_PCFG_CYK_Parsing.ipynb + NLP/03_CRF_Etiquetage_Sequentiel.ipynb (cibles vérifiées sur l'arbre de branche) ;
  • rappel du traitement : commit d2723bca75 (liens seuls, insertions 2, suppressions 2, aucune re-exécution).

Le dernier commit (9f69170c9f, fix navlinks 22b) ne touche pas le deck ; la réserve est adressée sur la tête courante. metadata.papermill.input_path de 01_TAL_Du_Mot_Aux_Dependances.ipynb reste hors réserve (trace d'exécution).

@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16713
head: 9f69170
complete: true
body: read
comments-reviewed: 18
reviews-reviewed: 2
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 327adf778264260b2f599582b10247314f32c871255ea37bf0bea8432cc7f15b
diff-files: 11
diff-additions: 57
diff-deletions: 33
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

motif: checks verts à la source sur la tête 9f69170c9f. Le PR gate était resté sur une jambe No local-path waiver bodies annulée puis revenue verte ; il a été ré-agrégé à 08:53:58Z et passe (PASS -- no failing checks). Au total 91 noms, 0 rouge, 0 en vol. Organe B.0 rc=0, mergeable: MERGEABLE, git merge-tree --write-tree origin/main propre.

Réserves de la discussion, toutes levées sur des têtes antérieures ou égales à la tête vivante :

  • le point de contenu du deck 09 (5783915768), levé par sa propre autrice le 23/09 00:03Z ;
  • les trois liens blob/main du deck S3 (5787504661), traités en d2723bca75 puis vérifiés à 08:34Z.

NanoClaw a rendu LGTM à 9f69170c9f.

Domaine, mesure indépendante base↔tête :

  • les 4 notebooks renommés (GenAI/Texte/23-26 → NLP/01-04) et 22b_Profil_Cognitif_CHC gardent le même nombre de cellules (46/39/50/47/47), avec des cellules code identiques en source, outputs et execution_count ;
  • 1 à 2 cellules markdown changent par notebook, et ce sont des liens ;
  • git grep des anciens chemins hors .ipynb et hors catalogue ne rend aucun résidu à la tête.

Le catalogue généré n'est pas touché : il reste au cron.

Sequencing : aucun.

@myia-ai-01
myia-ai-01 merged commit 051cf1f into main Sep 23, 2026
107 of 112 checks passed
jsboige added a commit that referenced this pull request Sep 23, 2026
Resolv conflit notebook CRF : main a migre 25_CRF vers NLP/03_CRF
(#16713) — version migree conservee + re-application de la conversion
str->list (4 cellules markdown m001/m002/m034/m051). Liens 23_TAL->01_TAL
de main conserves.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
jsboige added a commit that referenced this pull request Sep 23, 2026
… 23-26 vers NLP/ (#16713)

* feat(nlp,#16271): serie TAL dediee — migration atomique des notebooks 23-26 vers MyIA.AI.Notebooks/NLP/

git mv x4 avec renumerotation (23->01 TAL, 24->02 NGrammes, 25->03 CRF,
26->04 PCFG/CYK) + README FR de serie. Preservation byte-for-byte des
notebooks : seuls les liens markdown internes sont recables (9 lignes,
remplacement binaire sans round-trip JSON) — cellules code, outputs et
execution_count intacts (exception C.2 markdown-only).

Recablage externe : _quarto.yml, docs/curriculum/genai.md, deck TAL
(slides.md — liens retargetes + GAP lines mises a jour : n-grammes/CRF/
CYK comblees par 02/03/04, note historique preservee), README GenAI/Texte
(Tier 7 remplace par pointeur vers NLP). Catalog byte-identique.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(nlp,#16271): corriger profondeur lien NLP depuis GenAI/Texte (../../NLP)

check-links attrape ../NLP/README.md depuis GenAI/Texte/README.md:121 :
../ depuis Texte/ atterrit sur GenAI/, pas sur MyIA.AI.Notebooks/ - la
serie NLP est a ../../NLP/. Erreur de profondeur dans la prose de
migration, reproduction locale exacte, 0 autre occurrence repo-wide.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* fix(slides,#16271): deck 09 -- le gap n-grammes declare ligne 132 contredisait l'agenda ligne 73 et la serie migree

La slide 5 declarait « aucun notebook n'implemente les modeles n-grammes »
alors que l'agenda (ligne 73) lie deja 02_NGrammes_Modeles_De_Langue et que
cette PR migre le notebook dans la serie NLP. Le callout devient le renvoi
au notebook, meme formulation que l'agenda (gap comble #16235/#16246).

Point de contenu constate par l'adjoint myia-po-2025:CoursIA-2 au head
b633493 -- grep de verif rend vide au nouveau head.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Fix: retarget 3 notebook links in S3-acculturation deck after TAL migration

The deck pointed to the pre-migration GenAI/Texte paths that 404 after
the #16271 series move. Link-only change, no re-execution.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

* Fix: navlinks 22b vers NLP/01_TAL -- conflit croise avec #17454 (merge ref cassait check-navlinks)

Le merge de main (update-branch) a apporte 22b dont les liens ./23_TAL pointent
vers un fichier que cette branche deplace en NLP/01 : conflit semantique sans
chevauchement textuel, 2 NEW broken navlinks sur le merge ref. Cibles
redirigees vers ../../NLP/01_TAL_Du_Mot_Aux_Dependances.ipynb, scan --check
complet 0 NEW broken (1369 notebooks).

See #16271

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Co-authored-by: myia-po-2023 <jsboige+myia-po-2023@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

consecutive-code-cells Modified notebook has >=2 consecutive code cells (#12797) markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. variation-tag-genre-offlist GENRE hors de l'enumeration variation-protocol §1 variation-tag-prev-absent Tag Grain sans 'prev: <TIER>/<GENRE> #<PR>' (adjacence G-VAR-3 inevaluable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants