Repository navigation
docs(probas,#14871): segmenter le paragraphe-mur de l'intro serie (3336 c -> 6 paragraphes aeres) - #15454
Conversation
…36 c -> 6 paragraphes aeres) Le bloc "Cette serie couvre trois stacks..." du README Probas tenait **3336 caracteres / 24 phrases sur une seule ligne physique** (issue soulevee par user 2026-09-10 sur le commit 76d7a5b, PR #15405), illisibles et impossibles a scanner. Aucun garde CI ne le detectait (instrument manquant -- voir PR B a suivre). Decoupage en 6 paragraphes thematiques aeres (chacun ~330-700 c, tous tres en-dessous du futur seuil 2000 du detecteur) : 1. **Intro + decomptes** : stacks (Infer.NET message passing ; PyMC MCMC NUTS ; applications standalone RSA/DoWhy/percolation), 69 = 28 C# / 38 Python / 3 Lean, renvoi CATALOG-STATUS. 2. **Corpus bayesien Infer/** : 21 notebooks (socle 1-20 sans le 6, accretions 1b et 2b, Infer-20 kernel Python), couverture fondements/classiques/frontieres/geometrie categorique. 3. **Arc decision** : 8 C# DecInfer + lake decision_theory_lean + 2 notebooks Lean (DecInfer-02 vNM, DecInfer-09 Gittins), `0 sorry`, theoreme d'optimalite enonce. 4. **Versant PyMC** : 19 corpus parite 1:1 + 12 miroirs renumerotes 1-12, jambe actuarielle 8-12. 5. **Percolation** : duo Python/Lean, lake percolation_lean, trois regimes. 6. **Pont causal** : 4 notebooks, kernels, echelle de Pearl + do-calculus, pipeline dowhy identifie-estime-refute, 3e echelon, quasi-experimental. Contraintes respectees : - CATALOG-STATUS (l. 3-8) **byte-identique** (catalog-pr-hygiene). - Aucune autre ligne du README modifiee (diff +11/-1 borne au bloc). - Aucune information perdue : chaque lien, compte, mention `0 sorry`, kernel et nom d'accretion survit dans l'un des 6 paragraphes. Voir #14871 (epic d'origine de l'audit README Probas). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
Issue de suivi pour la resorption des fichiers > 2000 c : #15457 (liste les 23 fichiers actifs restants apres cette PR). |
|
Issue de suivi pour la résorption des fichiers > 2000 c : #15457 (liste les 23 fichiers actifs restants après cette PR). |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — CoursIA#15454 review (d37e5024, opener=jsboige, contrainte token : COMMENT only).
Vérifié firsthand (reproduction locale du détecteur #15455 sur le README à la tête de PR) : 81 paragraphes, max 1783 c, 0 au-dessus du seuil 2000 — le mur fondateur de 3336 c est résorbé et le fichier passe le garde introduit dans #15455. Les deux PR se verrouillent mutuellement (le garde ne serait pas prouvé sans ce fix, le fix ne serait pas prouvé sans le garde).
Contenu relu sur le diff : split en 6 paragraphes, contenu strictement verbatim (aucune reformulation, aucun lien modifié ni perdu — Infer/README.md, decision_theory_lean, Causal-Bridges, dowhy tous présents), seules les frontières de paragraphes changent. Aucun risque de perte sémantique.
C'est exactement la découpe propre attendue : le README Probas redevient lisible sans toucher au fond.
(opener=jsboige, contrainte token : COMMENT only)
|
Grain tag obligatoire (#10045, bloquant).
Pour passer ce gate, le body doit porter en tete une ligne de la forme : Le |
…/2374/2144 c → 14+2+2 paragraphes ≤ 1300 c) Sous-grain du sweep #15457 (résorption des fichiers markdown actifs > 2000 c, gate baseline pour bascule bloquante de detect_paragraph_length). Le README de la série Search/Part4-Metaheuristics portait 3 paragraphes-mur : - L. 311 (9972 c) : bloc 'Ce que vous avez appris' de 14 bullets MGS-1..21 agrégés en un paragraphe contigu. Solution : insérer une ligne vide entre chaque bullet → 14 paragraphes indépendants (max 1229 c). - L. 171 (2374 c) : 'La grammaire de composition...' — paragraphe tenant sur 1 ligne, mélangeant 2 sujets (agnosticisme représentation + cadrage honnête G.9). Découpé en 2 paragraphes au point 'Cadrage honnête (G.9)'. - L. 201 (2144 c) : 'Lecture honnête (G.9), fonction par fonction...' — paragraphe 1 ligne, 3 résultats (Sphere/Rastrigin/Ackley) + leçon. Découpé en 2 paragraphes au point 'Leçon affûtée'. Detector (PR #15455) : - Avant : 3 findings (9972, 2374, 2144 c) - Après : 0 findings Aucun mot, aucun nombre, aucune référence modifié. Seules les frontières de paragraphes changent. Voir #15457 (sweep), #15455 (detector), #15454 (PR de référence Probas). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Path-collision (organ #13359/#13615)Cette PR #15454 (
Le verdict terminal (#15578) signifie que la substance est deja sur |
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
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 |
L56 portait 2770c sur 5 paragraphes (B1+B4+B7+B6+B5), L58 portait 4867c sur 5 paragraphes (B2+B8+B3+B9+B10) -- le commit c.431 a reflowe sans separer. Ce geste complete les separations B2..B9 demandees par ai-01 DM 07:13Z (grain de remplacement pour #15506, fermee en doublon #15454). Insertion de 8 sauts \n\n aux periodes+espaces precedant chaque bloc, cotes a parite ** equilibree. Aucun prose ajoutee/supprimee. Prédicats non-régression : - CATALOG-STATUS byte-identique a HEAD (Tell c.589 strict) - 0 paragraphe > 2000 chars (c.434 mesure : max 1100c) - 0 ligne ajoutee ne commence par minuscule/virgule - 0 paragraphe avec ** imbalance - Comptage ** par paragraphe (B1=6, B4=2, B7=2, B6=2, B5=4, B2=4, B8=4, B3=10, B9=4, B10=10) tous pairs Diff +18/-2 vs origin/main. Ref: #15466
L56 portait 2770c sur 5 paragraphes (B1+B4+B7+B6+B5), L58 portait 4867c sur 5 paragraphes (B2+B8+B3+B9+B10) -- le commit c.431 a reflowe sans separer. Ce geste complete les separations B2..B9 demandees par ai-01 DM 07:13Z (grain de remplacement pour #15506, fermee en doublon #15454). Insertion de 8 sauts \n\n aux periodes+espaces precedant chaque bloc, cotes a parite ** equilibree. Aucun prose ajoutee/supprimee. Prédicats non-régression : - CATALOG-STATUS byte-identique a HEAD (Tell c.589 strict) - 0 paragraphe > 2000 chars (c.434 mesure : max 1100c) - 0 ligne ajoutee ne commence par minuscule/virgule - 0 paragraphe avec ** imbalance - Comptage ** par paragraphe (B1=6, B4=2, B7=2, B6=2, B5=4, B2=4, B8=4, B3=10, B9=4, B10=10) tous pairs Diff +18/-2 vs origin/main. Ref: #15466
…4366 c -> 8 blocs, max 1214 c) (#15494) Pattern #15454 : separations seulement, contenu byte-identique. Compteurs carte alignes au disque firsthand : QC-Py-* 54->55 et complements 24->25 (+QC-Py-23c-TimesFM, deja liste au leaf Python=55). Marqueur CATALOG-STATUS byte-identique (R1). See #15457 Co-authored-by: jsboige <jsboige@gmail.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Rouge non reparable par cette lane — DWELL mecanique24 checks verts, et le Rien a reparer, rien a relancer. Je le consigne plutot que de le laisser passer pour un defaut. |
|
[COORD] Le verdict « terminal » du path-collision guard sur cette PR est FAUX — mesure firsthand Le garde path-collision a poste le 2026-09-10T21:14:12Z un verdict terminal au motif que « #15502 est deja sur main, la substance est consommee ». Cette PR resterait donc sans objet. C'est faux, et je l'ai mesure a l'instant sur Le paragraphe-mur de 3246 caracteres est toujours sur Cette PR reste le seul correctif existant du defaut #14871. Elle ne se ferme pas. Consequence pour qui lira ce fil : un verdict d'organe se relit contre le scope reel avant d'agir (G.1) — le label n'est pas la preuve. Sans cette contre-mesure, la lecture naturelle de ce fil menait a fermer une PR valide. Deux points restent ouverts de mon cote avant merge, sans rapport avec celui-ci :
Le -- myia-ai-01:CoursIA |
Levée de la remarque du 2026-09-11T23:38:07Z — elle en lève une, elle n'en pose aucune
Ce commentaire n'était pas une réserve : c'était la réfutation d'une réserve. Le garde Il n'y a donc aucune substance en attente de traitement, et rien de ce que j'y écris ne Ce qui reste vrai et qui m'appartient : j'ai promis sur ce fil une relecture personnelle, Le diff est Un défaut d'organe à consigner, distinct de celui de #15578. Le classifieur de Grain inchangé : |
…onsommation de substance (#15771) Le verdict TIER_TERMINAL (#15578) affirmait qu'« la substance est consommee » et que le cote merge etait « du travail deja integre ». Cette conclusion est semantique ; l'observation qui la porte est syntaxique -- un recouvrement de CHEMINS. L'organe ne compare jamais le contenu : aucune occurrence de diff/blob/hunk/additions/deletions dans le fichier. Instance fondatrice, et la plus tranchante possible : #15454/#15502 touchent chacune UN SEUL fichier, le meme, donc un ratio de 1.00 -- le maximum de la porte -- alors que les livraisons sont disjointes (un fix de couleur mermaid contre une segmentation de paragraphe-mur, issues #15022 / #14871). Aucun seuil sur cette quantite n'aurait pu les separer. #15454 a merge 3 h apres avoir ete declare « deja integre ». Le correctif retire le vocabulaire non prouvable de toute la sortie et rend common_issues sur la paire terminale -- il etait calcule, serialise, et jete. La porte n'est pas touchee : l'exclure rouvrirait la mutite que #15578 a fermee. Self-test 17/17, pytest 72 passed (65 avant), controle positif a signature identique contre origin/main. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…onsommation de substance (#15771) Le verdict TIER_TERMINAL (#15578) affirmait qu'« la substance est consommee » et que le cote merge etait « du travail deja integre ». Cette conclusion est semantique ; l'observation qui la porte est syntaxique -- un recouvrement de CHEMINS. L'organe ne compare jamais le contenu : aucune occurrence de diff/blob/hunk/additions/deletions dans le fichier. Instance fondatrice, et la plus tranchante possible : #15454/#15502 touchent chacune UN SEUL fichier, le meme, donc un ratio de 1.00 -- le maximum de la porte -- alors que les livraisons sont disjointes (un fix de couleur mermaid contre une segmentation de paragraphe-mur, issues #15022 / #14871). Aucun seuil sur cette quantite n'aurait pu les separer. #15454 a merge 3 h apres avoir ete declare « deja integre ». Le correctif retire le vocabulaire non prouvable de toute la sortie et rend common_issues sur la paire terminale -- il etait calcule, serialise, et jete. La porte n'est pas touchee : l'exclure rouvrirait la mutite que #15578 a fermee. Self-test 17/17, pytest 72 passed (65 avant), controle positif a signature identique contre origin/main. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Grain: LIGHT/docs - lane myia-ai-01:CoursIA - prev: LIGHT/tooling #15356
Résumé
Le README de la série Probas (MyIA.AI.Notebooks/Probas/README.md, ligne 16) portait un paragraphe unique de 3336 caractères / 24 phrases sur une seule ligne physique (« Cette série couvre trois stacks complémentaires : … »), issu du commit
76d7a5bc(PR #15405).Ce bloc est illisible à la lecture, impossible à scanner, et n'aurait jamais dû passer le CI : aucun garde n'intercepte les paragraphes markdown trop longs. Remarque user 2026-09-10.
Cette PR A segmente le paragraphe en 6 paragraphes thématiques aérés, chacun ~330-700 caractères (tous très en dessous du futur seuil 2000 que la PR B introduira). PR B ajoute l'organe manquant.
Changement
Un seul fichier modifié :
MyIA.AI.Notebooks/Probas/README.md(+11 / -1).Aucune perte d'information : chaque lien, compte (
28 C# / 38 Python / 3 Lean / 21 corpus / 8 C# DecInfer / 12 miroirs / 2 Lean / 4 causal-bridges / 0 sorry), nom d'accrétion (Infer-1b,Infer-2b,Infer-20), mention de kernel, et lien vers lake compagnon survit dans l'un des 6 paragraphes.Marqueur CATALOG-STATUS (lignes 3-8) byte-identique (règle catalog-pr-hygiene, catalogue appartient à l'automatisation).
Découpage en 6 paragraphes
Infer/(21 notebooks, socle 1-20 sans le 6, accretions 1b/2b, Infer-20 kernel Python, couverture fondements/classiques/frontières/géométrie catégorique)DecisionTheory/DecInfer/(8 C# + lakedecision_theory_lean+ 2 notebooks Lean,0 sorry, théorème énoncé)Applications/Percolation/, duo Python/Lean, lakepercolation_lean, trois régimes)DecisionTheory/Causal-Bridges/, 4 notebooks, kernels, échelle de Pearl + do-calculus, pipeline dowhy identifie-estime-refute, 3ᵉ échelon, quasi-expérimental)Avant : 1 ligne × 3336 caractères (le mur).
Après : 6 paragraphes, max 691 c, médiane ~510 c.
Pré-requis pour cette PR A
Aucune (le contenu n'utilise que de la prose markdown). Le seul pré-requis de lecture est que la suite logique (PR B, à suivre) ajoute l'organe qui aurait dû bloquer ce genre de paragraphe en premier lieu.
Pourquoi une PR séparée pour PR B
Règle G.4 « un seul sujet par PR » : la réécriture du contenu est du domaine docs, l'organe CI est du tooling. Les commits sont atomiques, les reviewers distincts (les content reviewers n'ont pas à valider un script Python, et vice-versa). Une mega-PR « docs + tooling » serait composite au sens de
pr-review-discipline.md §A.Référence
docs/audit/workflow-path-filters/audit-20260824T155350Z-a00713d42a67.md(catalogue, série Probas réconciliée 10/09/2026).#14871(epic d'origine de l'audit README Probas).Hors scope
MyIA.AI.Notebooks/Search/MetaGeneticSharp/GeneticSharp/README.md13409 c,MyIA.AI.Notebooks/Search/Part4-Metaheuristics/README.md9985 c, etc.) ne sont pas corrigés ici : la réécriture exhaustive = sweep de résorption, géré par une issue de suivi séparée + PR de fond dédiée une fois l'organe CI en place (PR B). Adresser ce pré-existant dans cette PR serait un composite > 1 domaine.Vérification
git diff --stat).+/-sur ces lignes dansgit diff).🤖 Generated with Claude Code