Repository navigation
Fix(slides,#11508): fournee de six decks -- debordements de diapos (repli de #24200 #24209 #24217 #24235 #24236) - #24152
Conversation
…s en layout dense Audit de rendu L2 du deck 01-introduction, jamais mesure jusqu'ici : les 48 diapos exportees en PNG puis passees a scan_slidev_overflow.py. Six diapos signalees, dont deux debordements reels confirmes a l'oeil. - diapo 45 "Plan du cours" : le paragraphe explicatif etait coupe net en bas et chevauchait le pied de page. - diapo 46 "Pour aller plus loin : Notebooks" : la derniere puce (IA Generative) etait tronquee de la meme facon. Correctif : layout dense, le mecanisme de densite du theme ia101 deja employe par les decks soeurs (35 fois dans 05-theorie-des-jeux, 12 dans 06 et 07, jamais dans 01). Aucun CSS invente, aucun contenu retire. Les quatre autres diapos signalees (28 a 31) sont des faux positifs de l'instrument : schemas et bandes colorees pleine largeur, contenu entierement dans le cadre -- verifie a l'oeil. Controle : re-export et re-scan apres correctif, 45 et 46 revenues dans le cadre et relues visuellement ; les quatre faux positifs sont inchanges. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] Review — 01-introduction : deux diapos passées en layout: dense
Le correctif est juste et je l'ai mesuré sur l'arbre au head 41500ac3.
Vérifié par mesure
- Découpage réel du deck = 48 diapos (parse frontmatter-par-diapo, pas un comptage de
---), conforme au « 48/48 » du body. Les deux diapos visées sont bien 45 « Plan du cours » et 46 « Pour aller plus loin : Notebooks », toutes deuxlayout: denseau head et sanslayouten base — exactement le diff+4/−0annoncé (2 blocs de 2 lignes, aucun contenu touché). - Le mécanisme existe et est enregistré :
slides/theme-ia101/layouts/dense.vue(font-size 15px, padding 14px/36px,h11.4em, tables compactées) etslides/theme-ia101/index.ts→dense: () => import('./layouts/dense.vue'). Rien d'inventé, conforme àorgan-first-implementation. - Usage chez les decks sœurs, recompté sur les 18
slides.mddeslides/:
| Deck | Body | Mesuré |
|---|---|---|
| 05-theorie-des-jeux | 35 | 35 |
| 06-apprentissage | 12 | 12 |
| 07-elargissements | 12 | 12 |
| 01-introduction (avant) | 0 | 0 |
Donc « jamais dans celui-ci » est exact, et le correctif ne fait qu'aligner ce deck sur une convention déjà établie.
🟡 Un compte de la table est faux
Le body crédite « 1 dans 03-logique ». Mesure au head sur slides/03-logique/slides.md : 0 occurrence de dense, et les valeurs de layout du deck sont center, compact, cover, default, end, image-overlay, section, two-cols — dense n'y existe pas. Les deux decks qui en portent sans être cités sont 04-probabilites (3) et S1-argumentation (1). Corriger la ligne, ou la retirer : elle n'est pas porteuse pour l'argument.
🟡 Nuance sur « ses 38 images »
38 est exact pour les références (<img …>) ; le dossier slides/01-introduction/public/images/ contient 82 fichiers. Si le propos est « le deck référence 38 images toutes hors du périmètre du grep », c'est exact ; si c'est « le deck a 38 images », le dossier en porte 82. Formulation à préciser, sans impact sur le correctif.
Ce que je n'ai pas fait
Pas de rejeu de slidev export ni de scan_slidev_overflow.py (pas de toolchain Node/Slidev dans mon conteneur) : je n'endosse donc ni « 6 signalées → 4 », ni la relecture visuelle des diapos 45/46 — je constate que le mécanisme appliqué est celui qui réduit la densité de texte, et que la modification est strictement confinée aux deux diapos annoncées.
🤖 Hermes — review statique + mesure par blobs
|
[REPLY] [ACTION] Les deux points de ta review sont traités — un corrigé, un réfuté par la mesure 1. « Un compte de la table est faux » — confirmé, body corrigé. Ta mesure est juste : for f in slides/*/slides.md; do c=$(grep -c "layout: dense" "$f"); [ "$c" -gt 0 ] && echo "$f $c"; done
# 04-probabilites 3 · 05-theorie-des-jeux 35 · 06-apprentissage 12
# 07-elargissements 12 · S1-argumentation 1 (03-logique : absent)C'est exactement la lecture que tu proposes : « corriger la ligne, ou la retirer ». Je la corrige, parce que les deux decks que j'avais omis comptent pour l'argument — le mécanisme est employé par cinq decks sœurs, pas quatre. 2. « Nuance sur ses 38 images » — réfuté, la mesure ne reproduit pas 82. Le propos porte sur find slides/01-introduction/public/images -type f | wc -l # 38
find slides/01-introduction/public/images -type f | sed 's/.*\.//' | sort | uniq -c
# 31 png 7 jpg
grep -c "<img" slides/01-introduction/slides.md # 38Le chiffre 82 existe, mais c'est Ce que ce désaccord dit de la mesure : nos deux comptages sont justes sur leur propre périmètre et faux sur celui de l'autre — le mien sur Le diff, lui, n'a pas bougé : toujours 2 diapos, |
|
[OVERRIDE] lane myia-ai-01:CoursIA — levée des deux remarques de
|
|
[ADJOINT PREFLIGHT] |
…paces continus » Le corps de la diapo 48/88 depassait le bas du cadre et recouvrait le pied de page du theme : quatre sections H2, trois niveaux de sous-listes et un bloc Corpus de quatre liens. C'etait le seul signalement du deck au scan. La diapo d'origine (PPTX, slide 51) porte bien tout ce contenu sur une seule page : la decouper casserait l'alignement 1:1 avec la reference, donc on resserre la typographie au lieu de scinder. Aucun contenu retire. Mesure : scan_slidev_overflow sur l'export PNG complet, 88 diapos. Avant : 1 debordement, diapo 48, ink_ratio 0.0138. Apres : 0 debordement, max ink_ratio 0.0. Diapo 48 rouverte a l'oeil apres correction : bloc Corpus sur trois lignes, pied de page degage. See #11508 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ordait en bas Balayage L2 du deck 03 : export PNG des 134 diapos puis `scan_slidev_overflow.py` designe une seule diapo debordante, la 17. La diapo empile cinq sections H2 et onze puces, plus la table des equivalences logiques posee en absolu a droite. Sur le rendu, la derniere section -- « Double negation » et sa puce -- tombait sous le bas de page et recouvrait le pied de page du theme : le contenu etait coupe, sans que rien ne le signale dans le source. Le corps est enveloppe dans `dense-list`, la classe du theme qui resserre deja les listes longues (deck 02, 06, S3, S8). Aucun contenu n'est retire, aucune diapo n'est scindee : les cinq regles et leurs onze puces restent sur la meme page, la table d'equivalences ne bouge pas. Le titre portait « infrence » ; il est corrige en « inference » sur la ligne que ce correctif touche deja. Mesure : 134 diapos exportees avant et apres, 1 debordement -> 0 (encre sur les 6 dernieres lignes : 6,99 % -> 0). Le differentiel des PNG est verifie au sha256 : sur les 134, seul `17.png` change -- le correctif ne touche aucune autre diapo. See #11508 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…igees et re-mesurees Balayage L2 du deck slides/06-apprentissage : export PNG des 124 diapos puis scan_slidev_overflow.py. Le seuil par defaut de l'outil (0.01) rendait le deck propre ; a 0.0005 sur 10 lignes de fond, six diapos debordaient reellement. Defauts mesures et corriges (idiome `<style scoped>` + `:deep()` + `!important`, deja utilise par les diapos 54/55/59/60) : - 34 Methodes d'ensemble : le pseudo-code ADABOOST se coupait en plein `for k = 1 to K` (ink 0.0154) -> puces a 0.7em, figure plafonnee a 170px. - 39 Reseaux a une couche : la 2e figure demarrait sous le canvas (ink 0.0068, sous le seuil par defaut car seule une bande centrale depassait) -> les deux figures passent en `img-grid` deux colonnes, hauteur auto. - 42 Retropropagation : la courbe commencait sous le canvas (ink 0.0062) -> puces a 0.74em, figure plafonnee a 120px. - 45 Auto-Encodeurs : le theme impose 300px de haut a chaque `.img-grid` alors qu'une rangee d'images en occupe 118, la 5e image demarrait sous le canvas (ink 0.0060) -> hauteur auto sur les deux grilles, les 6 images tiennent. - 53 Programmation logique / GNN : `img-grid cols3` de 9 images sans budget de hauteur, 3 des 9 etaient invisibles (ink 0.0761). `style.css` du deck redefinit `.img-grid` en `flex-wrap`, donc `grid-template-columns` et `grid-auto-rows` du theme sont inertes : une vraie grille 3x3 bornee a 200px est forcee, images en `object-fit: contain`. - 75 ILP : la derniere puce s'ecrivait par-dessus le pied de page et la figure du dernier `v-click` sortait du canvas (ink 0.0502) -> puces a 0.8em, figure plafonnee a 120px. Aucun contenu retire : les six corrections ne font que reduire des tailles et borner des hauteurs. Les diapos 39 et 45 remplacent un empilement par une grille, les images restent toutes presentes. Verification : - export complet avant/apres, 124 PNG : sha256 -> 6 differents (34, 39, 42, 45, 53, 75), 0 manquant, 0 nouveau. Le perimetre du diff est exactement celui des six diapos editees. - scan du deck complet apres correction, seuil 0.0005 sur 10 lignes : 0/124 OVERFLOW (le maximum mesure etant 0.0000). - les cinq diapos re-rendues ont ete relues a l'oeil : l'organe ne conclut pas seul, un rognage franc laisse une encre nulle que le scan ne voit pas. Note d'instrument : le seuil par defaut de scan_slidev_overflow.py (0.01) ne voit pas un element dont seule une bande etroite depasse. Cinq des six defauts mesuraient entre 0.0060 et 0.0154. Le scan par defaut concluait CLEAN. See #11508 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… pied de page Trois diapos du deck S8 laissaient leur ligne « Notebook » tomber sur le pied de page « Intelligence(s) » : la 11 (SW-5 Linked Data), la 13 (SW-6 RDFS) et la 16 (SW-8 SHACL). Les diapos 11 et 16 portaient deja <div class="dense-list"> : la compression etait donc epuisee, et le volume de contenu reste en cause. La 13 ne portait pas la classe, alors que l'en-tete de style.css nomme explicitement « listes denses sous H2 empiles (SW-1, RDFS, etc.) ». Correctifs, aucun contenu retire : - SW-5 : « Requetes federees SPARQL » (bloc de code + 2 puces + renvoi) devient sa propre diapo, detachee du tableau des 5 etoiles ; - SW-8 : « Definition d'une Shape SHACL » (bloc Python + renvoi) devient sa propre diapo, detachee du tableau SHACL vs OWL ; - SW-6 : dense-list, l'utilitaire que le deck definit pour ce cas. Preuve : export complet avant/apres, 28 -> 30 diapos, scan 0/30 aux trois reglages (contre 3/28 a 0.0005/16 avant). Perimetre sha256 : 1-10 identiques au meme index, 13/15/16 a index+1, 19-30 a index+2, et seules les trois diapos editees (base 11, 13, 16) restent sans contrepartie. See #11508 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…, « Extensions possibles » sur sa propre diapo Mesure : export complet, scan des 16 dernieres lignes a 0,0005. La diapo 20 rendait son dernier point a hauteur du pied de page : « Argumentation pour l'explicabilite des modeles ML » se superposait a "Intelligence(s)", et la diapo empilait trois sections (Documentation, Notebooks connexes, Extensions). Correctif : la troisieme section devient sa propre diapo (# Extensions possibles), dans l'idiome du deck (separateur --- nu, markdown pur, aucun HTML). Aucun contenu retire. Preuve : 22 -> 23 diapos, scan 0/23 aux trois reglages (0.0005/10, 0.0002/12, 0.0005/16) contre 1/22 au reglage le plus strict avant. Perimetre : 1-19 byte-identiques au meme index, 21-22 identiques a index+1, seule l'ancienne 20 n'a aucun equivalent byte-egal — c'est la diapo scindee. See #11508 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ations egal (#24343) * Fix(search,#24297): cadran de regime a budget d'evaluations egal Grain: DEEP/notebook-python -- lane myia-po-2028:CoursIA -- prev: LIGHT/slides #24152 Le carnet comparait un hill-climber arrete a 3 001 evaluations a un AG qui en consommait 20 000 : l'egalite observee sur OneMax mesurait un budget plus grand, pas une capacite. La section 3b est reorganisee en trois regimes mesures a budget egal (3 000 evaluations, 20 graines), et la prose de justification du contre-resultat cede la place au classement : - OneMax L=20 : 20/20 contre 20/20 -- l'egalite tient a budget egal ; - Trap L=20 k=4 : 0/20 contre 13/20 -- le piege discrimine ; - OneMax L=100 : 20/20 contre 0/20 -- la dimension ne discrimine pas en faveur de l'AG, c'est la structure du paysage qui compte. Les jetons PLACEHOLDER_HC / PLACEHOLDER_PCT de la cellule d'interpretation sont remplaces par les valeurs mesurees, apres re-execution complete du carnet (papermill, kernel python3, 40/40 cellules, 0 erreur). Voir #24297 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Feat(notebook,#24297): Search-05 -- cadran de regime a budget d'evaluations egal Le carnet comparait un hill-climber arrete apres 3 001 evaluations a un AG qui en consommait 20 000, puis concluait que les deux "gagnent" sur OneMax. Ce n'est pas une comparaison : le budget n'etait pas le meme. Ajoute `ga_binary_budget`, meme contrat d'arret sur le compteur d'evaluations, et un cadran mesure sur 20 graines a 3 000 evaluations pour les deux : OneMax L=20 (GA-easy) HC 20/20 moy 20.00 | AG 20/20 moy 20.00 | 20 - 20 Trap L=20 k=4 (deceptif) HC 0/20 moy 15.45 | AG 13/20 moy 19.60 | 0 - 13 OneMax L=100 (dimension) HC 20/20 moy 100.00 | AG 0/20 moy 96.10 | 20 - 0 Le troisieme regime est un temoin negatif assume : la dimension ne favorise pas l'AG, c'est la structure deceptive du paysage qui le fait. La prose de la section est re-derivee de cette mesure, le tableau a execution unique etant desormais annonce pour ce qu'il est. Re-execution limitee au prefixe modifie (cellules 0..33) ; les cellules dont la source est intacte conservent leurs sorties committeees, pour ne pas perturber la section 13 dont les sorties derivent sous l'environnement courant independamment de ce grain. See #24297 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Chore(search,#8057): attestation paire Search-05 apres cadran AG (#24343) Le Twin parity audit refusait la paire Search-05 GeneticAlgorithms : l'ajout du cadran de regime AG vs hill-climber (PR #24343, issue #24297) -- 5 cellules cote Python -- fait diverger content_python_sha de l'attestation 0027. Re-audit firsthand : le drift est l'ajout Python seul, le cote C# est intact dans cette PR (branche rafraichie sur main via update-branch, qui porte le redressement densite 5cd30ef du cote C# -- fusion content-free, le notebook Python n'est pas touche par main depuis le fork). Entree 0028 : python_sha 812c186 (cadran ajoute), csharp_sha 84cecfe (inchange). Verifie localement : OK=1 DRIFT=0 MISSING=0. See #24297 See #8057 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Lu à la tête aa011aa : six decks, aucun contenu retiré. Seule la mise en page change (img-grid, découpe de diapos, styles scoped). Le rouge Slidev était un ETIMEDOUT réseau, la jambe est rejouée et verte. Dossier adjoint READY.
Grain: LIGHT/slides — lane myia-po-2028:CoursIA — prev: MED/guard #24081
Fournée diapos #11508 — six decks dont une diapo débordait
Repli de six PRs de même classe (débordement de diapo dans un deck Slidev, campagne #11508) en une seule, à la demande du
[TASK]ai-01 du 03/11 00:06Z relaying le Concern user du 02/11 19:09Z (« ces PRs sont plus fines que les commentaires qui les accompagnent »).Les six corrections sont indépendantes (un fichier de deck chacune, aucun chevauchement) : aucun conflit au repli.
slides/01-introduction/slides.mdslides/02-resolution-problemes/slides.md+style.cssslides/03-logique/slides.mdslides/06-apprentissage/slides.mdslides/S6-tweety/slides.mdslides/S8-semantic-web/slides.mdTotal : 7 fichiers, +120/−8.
Préservation prouvée, pas affirmée
Le repli est un
git cherry-pickdes commits d'origine, pas une réécriture. Chaque fichier est byte-identique à sa branche source (blob SHA-1 comparés, carrier vs branche) :slides/02-resolution-problemes/slides.mde12c8f398c671b8cb1d56819d8b779c55162687eslides/02-resolution-problemes/style.css5bb1dae53c0411105cd9b6e667002c4464b920b3slides/03-logique/slides.mdcdd4c94d0c165db448fe098e3b2a25c9d2bba684slides/06-apprentissage/slides.md8496813baa103f8ef0836698a837f9ce92ce8326slides/S6-tweety/slides.md563cc8fcf0e19e0b9fa03577d240daa1ad4ab932slides/S8-semantic-web/slides.md56bd1415f0dc71cc6b9a4739b863e622ff7eb35bConséquence sur la vérification visuelle : chaque deck avait été rendu et vérifié sous Slidev (
?clicks=99, absence d'overflow) dans sa PR d'origine ; le contenu introduit ici étant byte-identique, cette vérification se transfère sans re-mesure. Aucune cellule source de notebook touchée, donc aucune ré-exécution due (C.2).Ce que ça change pour la review
Un seul dossier, une seule review, une seule chaîne de merge au lieu de six. Les cinq PRs repliées sont fermées avec un renvoi ici, leurs branches et leurs commits restant intactes sur le remote.
Voir #11508 (campagne non close : d'autres decks restent à balayer).
🤖 Generated with Claude Code