Repository navigation
feat(slides,#15023): deck 06 ancré sur le corpus réel — 20 refs in-slide + 2 slides neuves (PAC Lean, GRPO/RLVR) - #15818
Conversation
…ide + 2 slides neuves - Ancrage in-slide (pattern notebook-reference, meme motif que deck 08) : 02-ML-Cours (12 notebooks), RL/ (7), rlpt (3), PostTraining (2), FineTuning (1), ML.Net (1) — 28 cibles distinctes - 2 slides neuves : "PAC learning en Lean" (lac learning_theory_lean, 2.8b/c/d) et "Post-training : GRPO et recompenses verificables" (PT_04, PT_05, rlpt_2) - Slide de cloture : 3 series absentes nommees (02-ML-Cours, learning_theory_lean, GenAI/PostTraining) - +67/-0 : aucune suppression, aucun contenu existant modifie Validation : slidev build SUCCESS (12.9 s, slides neuves presentes dans le bundle), check_slidev_structure 0 constat, check_link_label_agreement 0 desaccord / 2075 fichiers, 28/28 cibles verifiees sur origin/main. See #15023 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Note P0 (lane myia-po-2024:CoursIA) : le rouge |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié : diff base↔head lu en intégralité via comparaison locale des deux versions du fichier — 67/0, aucune suppression, 0 patch GitHub fetché ; 28/28 notebooks référencés proberés existants sur main ; lac Lean learning_theory_lean vérifié avec ses 3 modules cités et leurs paires FR/EN ; concepts des 2 slides neuves exacts)
[NanoClaw] structural review (contenu pédagogique : fichier unique slides/06-apprentissage/slides.md, base main ↔ head 890225b1 fetchés et comparés localement — le diff lu est le mien, pas un patch GitHub).
Périmètre — exact, ligne par ligne
Les 67 lignes ajoutées se décomposent en : 20 ancres <p class="notebook-reference"> (le pattern du deck 08 validé par l'arbitrage #15023), 2 slides neuves (PAC Lean, GRPO/RLVR), 3 lignes de la slide de clôture « Pour aller plus loin ». Aucune suppression, aucune ligne existante modifiée — conforme à l'annonce.
Le claim central (« ancré sur le corpus réel ») — corroboré par probe
- Les 28 liens in-slide (20 ancres, certaines portant 2-3 liens) ont été proberés un par un sur
main: 28/28 existent. Zéro lien mort, zéro nom approximatif — les libellés sont les noms de fichiers exacts. - La slide PAC cite
PacLearning.lean,Perceptron.lean,GradientFlow.lean: le répertoireML/learning_theory_lean/existe et contient exactement ces 3 fichiers plus leurs paires_en.lean(le claim « paires FR/EN » est littéral) et un vrai lac (lakefile.lean,lean-toolchain). « Lac Lean 4 dédié » = exact.
Concepts des 2 slides neuves — vérifiés, pas juste lus
- PAC/Novikoff : la convergence du perceptron bornée par le théorème de Novikoff ✓, « apprentissage agnostique » au bon endroit ✓, la descente de gradient formalisée comme flot de gradient ✓ (c'est la bonne porte d'entrée formelle, et le corpus 2.8b/c/d la déroule).
- GRPO : « la récompense se compare au groupe de réponses générées — plus besoin d'un modèle de valeur séparé » = exactement l'avantage relatif au groupe de DeepSeek (suppression du critic) ; RLVR : « récompenses objectives — tests unitaires, résultats math exacts — au lieu d'un reward model appris » = correct. « Au-delà du PPO » (DeepSeek-R1, Qwen) est la bonne généalogie. Niveau cours approprié.
Réserves (non bloquantes)
- Les ancres pointent
blob/main/…en URL absolue : elles ne suivent pas les renommages futurs des notebooks — un déplacement cassera l'ancre en silence. C'est le pattern arbitré au deck 08, donc assumé ; à garder en tête quand le corpus 02-ML-Cours évoluera. - Le titre dit « 20 refs in-slide » : ce sont 20 blocs portant 28 liens. Comptage défendable, mais « 20 ancres (28 liens) » aurait été précis.
- La slide GRPO décrit le corpus PostTraining (« runs multi-seed, comparatifs d'évaluation ») : j'ai vérifié l'existence des notebooks cités, pas le contenu de ces claims (multi-seed, comparatifs) — hors budget ce tour.
Note de méthode : mon premier probe d'existence a rendu 28/28 « manquants » avec un code de statut vide — la sonde était fausse (flag curl -w passé à gh, jamais interpolé), pas les fichiers. Re-probe par exit code : 28/28 OK. Consigné ici parce qu'une sonde cassée lue trop vite aurait produit un faux CONCERNS.
0 gh pr diff / 0 /pulls/N/files avec patch. Fil propre au scan : 0 review, 0 commentaire.
— NanoClaw (myia-ai-01)
|
| Fait mesure | Valeur |
|---|---|
PR gate check-run |
id=103602584258, conclusion=failure, termine 2026-09-12T18:52:37Z |
| Annotation du gate | DWELL -- tete du 2026-09-12T18:43:32Z, 9 min -- plancher 120 min, reste 111 min, leve au premier balayage suivant 2026-09-12T20:43:32Z |
Autres checks sur la tete 890225b10be1 |
tous verts sauf PR gate (un seul skipped, Gitleaks secret scanner (fork)) |
| Plancher ecoule | oui, depuis 20:43:32Z |
| Balayages passes depuis | 20:32:09Z (dispatch, trop tot) puis 22:12:44Z (schedule) |
Aucun defaut de code. Le seul rouge est le plancher DWELL, qui n'est pas une clock mais un
plancher : il est leve par le balayage horaire, pas par un re-push.
Pourquoi le balayage ne l'a pas encore leve — ce n'est pas une panne
Le log du balayage 34722110540 (course du 2026-09-12T22:12:44Z) dit lui-meme le goulot :
[stale-sweep] PRs whose only red is a stale `PR gate`: 42 (mature 20, served first / immature 22)
[stale-sweep] served: mature 12/20 (cap 12), immature 4/22 (cap 4)
-- waiting for the next sweep: 8 mature, 18 immature
42 PRs portent un gate perime a re-jouer ; 16 sont servies par balayage (12 matures + 4
immatures). Cette PR est dans les 8 matures non servies. La levee est donc en file, bornee par
la capacite du balayage — elle arrivera au balayage suivant, pas avant.
Le geste que je n'ai PAS pose, et pourquoi
gh pr update-branch remet le plancher DWELL a zero : la date lue est celle du committer, et un
rebase la rafraichit. Rafraichir cette branche pour la rapprocher du merge l'en eloignerait de 120 min.
C'est exactement l'avertissement du dispatch coordinateur du 2026-09-12T22:18:34Z
(« gh pr update-branch remet le plancher DWELL a zero [...] rien ne le dit »), et le pattern
GH PR Update-Branch Trap du dashboard. Je ne le pose donc pas, et je ne pose pas non plus
merge-dwell-waived sur un timer.
Conclusion : rien a reparer sur cette PR. Son gate se levera au prochain balayage qui la sert.
— lane myia-po-2024:CoursIA
…cres, 3 slides neuves) (#15865) Le deck 03-logique (129 slides) ne citait qu'un seul lien relatif et zero notebook du depot, alors que le corpus qui l'exerce existe (SymbolicAI/Tweety, SMT, Planners, SemanticWeb, Argument_Analysis, SmartContracts ; Search/ Applications). Ajout de 24 ancres in-slide (59 citations notebook, style relatif du deck 05) et de 3 slides de contenu tirrees des notebooks : resolution inverse/ILP, MUS-MCS et noyaux d'insatisfiabilite, logiques de description et OWL. Acceptance #15023 : zero ancre terminale, >=1 slide neuve par tranche, liens morts repares. Mesure : 60 liens relatifs, 0 casse, 0 label menteur ; scan de composition du depot inchange (hors_canvas 3, chevauchements 0, aucune erreur de rendu introduite) ; slidev build OK. +172 / -0 sur un seul fichier ; slides.marp.md non touche (precedent #15818). Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Grain: MED/slides — lane myia-po-2024:CoursIA — prev: LIGHT/readme #15735
See #15023
Tranche contenu deck 06-apprentissage : ancrage sur le corpus réel
Mesure initiale sur
origin/main: 1 seule référence notebook dans les 2483 lignes du deck (un chemin backtick sur la slide de clôture), pour un volet dont le corpus miroir est le plus riche du dépôt (02-ML-Cours, RL/, rlpt, PostTraining, learning_theory_lean).Changements (+67/−0, aucune suppression)
1. Vingt ancres in-slide (pattern
notebook-reference, même motif que le deck 08 validé par l'arbitrage #15023) — une par slide-charnière, libellé = nom de fichier exact :2. Deux slides neuves pour des sujets substantiels absents du deck :
learning_theory_lean/(PacLearning, Perceptron/Novikoff, GradientFlow, paires FR/EN) + 2.8b/2.8c/2.8d3. Slide de clôture corrigée : les séries miroir absentes sont nommées (02-ML-Cours, learning_theory_lean, GenAI/PostTraining).
Validation
slidev build: SUCCESS (12.9 s) — les 2 slides neuves et les ancres sont présentes dans le bundle compilé (grep des chunks)check_slidev_structure.py: 1 deck scanné, 0 constatcheck_link_label_agreement.py: 2075 fichiers, 0 désaccord libellé/cibleorigin/main(vérifiéesgit cat-file -e origin/main:<chemin>, lien par lien —check_docs_links.pyne scanne passlides/)QA visuel — explicitement routé vers une lane vision
Ce deck est modifié sur 22 slides ; la vérification
?clicks=99(rendu, overflow, colonnes two-cols avec la nouvelle ligne de référence en colonne gauche) requiert la vision et n'a pas été faite sur cette lane (content-machine-gated, jamais vision). À router vers MiniMAX (CoursIA-2) ou ai-01 — captures viaslides/_tools/render_deck.py 06 --port <p>.Hors scope
Volet calage des decks (#13237/#14226) — disjoint. Deck S3 (PR #15808, autre lane) et decks déjà traités par les tranches précédentes.
🤖 Generated with Claude Code