Skip to content

docs(probas,#14871): segmenter le paragraphe-mur de l'intro serie (3336 c -> 6 paragraphes aeres) - #15454

Merged
myia-ai-01 merged 3 commits into
mainfrom
docs/15405-probas-paragraph-wall
Sep 12, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
docs/15405-probas-paragraph-wall

Conversation

@jsboige

@jsboige jsboige commented Sep 10, 2026 •

Copy link
Copy Markdown
Owner

Grain: LIGHT/docs - lane myia-ai-01:CoursIA - prev: LIGHT/tooling #15356

Adoption coordinateur. Cette PR est arrivee sans tag Grain: (label variation-tag-missing) :
sans lane declaree elle n etait imputable a personne, donc invisible a tous les gardes de reparation.
Je la declare sur ma propre lane plutot que de la laisser orpheline. Arbitrage complet sur #15457.

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

# Sujet Caractères
1 Intro + décomptes (stacks, 69 = 28 C# + 38 Py + 3 Lean) 572
2 Corpus bayésien 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) 597
3 Arc décision DecisionTheory/DecInfer/ (8 C# + lake decision_theory_lean + 2 notebooks Lean, 0 sorry, théorème énoncé) 691
4 Versant PyMC (19 corpus parité 1:1 + 12 miroirs renumérotés 1-12, jambe actuarielle 8-12) 470
5 Percolation (Applications/Percolation/, duo Python/Lean, lake percolation_lean, trois régimes) 403
6 Pont causal (DecisionTheory/Causal-Bridges/, 4 notebooks, kernels, échelle de Pearl + do-calculus, pipeline dowhy identifie-estime-refute, 3ᵉ échelon, quasi-expérimental) 691

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

  • Issue user 2026-09-10 : « Dans 76d7a5b, le bloc "cette série..." est encore trop gros » + « IL aurait du être intercepté par le CI comme un bloc sans espaces indigeste ».
  • Audit README d'origine : docs/audit/workflow-path-filters/audit-20260824T155350Z-a00713d42a67.md (catalogue, série Probas réconciliée 10/09/2026).
  • Voir #14871 (epic d'origine de l'audit README Probas).

Hors scope

  • Les autres ~42 fichiers du corpus qui portent déjà des paragraphes > 2000 c (calibration : MyIA.AI.Notebooks/Search/MetaGeneticSharp/GeneticSharp/README.md 13409 c, MyIA.AI.Notebooks/Search/Part4-Metaheuristics/README.md 9985 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

  • Diff borné au seul paragraphe visé (aucune autre ligne du README touchée, vérifié via git diff --stat).
  • Marqueur CATALOG-STATUS byte-identique (vérifié : absence de +/- sur ces lignes dans git diff).
  • Longueurs avant/après : 3336 c (1 bloc) → max 691 c (6 paragraphes), tous ≪ 2000.
  • Marqueurs front-matter, listes, tableaux, mermaid, kernel FAQ, sommaire de la série, arbres : non touchés.

🤖 Generated with Claude Code

…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>
@jsboige

jsboige commented Sep 10, 2026

Copy link
Copy Markdown
Owner Author

Issue de suivi pour la resorption des fichiers > 2000 c : #15457 (liste les 23 fichiers actifs restants apres cette PR).

@jsboige

jsboige commented Sep 10, 2026

Copy link
Copy Markdown
Owner Author

Issue de suivi pour la résorption des fichiers > 2000 c : #15457 (liste les 23 fichiers actifs restants après cette PR).

@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] — 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)

@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Sep 10, 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).

jsboige added a commit that referenced this pull request Sep 10, 2026
…/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>
@github-actions

github-actions Bot commented Sep 10, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #15454 (docs(probas,#14871): segmenter le paragraphe-mur de l'intro serie (3336 c -> 6 paragraphes aeres)) 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.

Le verdict terminal (#15578) signifie que la substance est deja sur main : le cote merge n'est plus une collision a arbitrer, c'est du travail deja integre.

@github-actions github-actions Bot added variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) and removed variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) labels Sep 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-ai-01:CoursIA a deja consomme son budget LIGHT du jour (#15356 (merge a 2026-09-11T02:24:37Z)).
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-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 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

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

  • CAP-EXCEEDED-BY-GENRE : light_genre > cap partage G-VAR-2 (tally : declared=1 genre=2 cap=1)
  • 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.

jsboige added a commit that referenced this pull request Sep 11, 2026
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
jsboige added a commit that referenced this pull request Sep 11, 2026
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
myia-ai-01 pushed a commit that referenced this pull request Sep 11, 2026
…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>
@myia-ai-01

Copy link
Copy Markdown
Collaborator

Rouge non reparable par cette lane — DWELL mecanique

[pr-gate] waiting on 0 check(s):
[pr-gate] settled: 24 check(s) green
[pr-gate] DWELL -- tete du 2026-09-11T22:01:02Z, 7 min -- plancher 120 min, reste 113 min.

24 checks verts, et le PR gate est le SEUL non-vert — pas meme un advisory rouge a cote. Le
rouge est integralement le plancher de 120 min sur la tete du 22:01:02Z, ecoule a
2026-09-12T00:01:02Z, re-agrege ensuite par le balayage horaire sans intervention.

Rien a reparer, rien a relancer. Je le consigne plutot que de le laisser passer pour un defaut.

@myia-ai-01

Copy link
Copy Markdown
Collaborator

[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 origin/main :

$ git show origin/main:MyIA.AI.Notebooks/Probas/README.md | (comptage paragraphes)
paragraphes: 180
  3246 car | Cette série couvre trois stacks complémentaires : **Infer.NET** (Microsoft, C#/.NET Intera...
  2521 car | | Famille | Lake phare | Théorème ...
  1988 car | | # | Notebook | Apport pédagogique ...

$ ... | grep -c "Cette série couvre trois stacks"
1

Le paragraphe-mur de 3246 caracteres est toujours sur main, phrase fondatrice comprise. #15502 (mergee 2026-09-11T04:17:52Z) est un fix de couleurs mermaid : elle touche le meme fichier, elle ne segmente rien. Le garde a confondu collision de chemin et consommation de substance — deux choses differentes, et c'est la seconde qu'il a affirmee.

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 :

  1. la review [Hermes] positive du 2026-09-10T11:32:12Z vaut pour la tete d37e5024 ; deux merges de main ont suivi (05:10:06Z et 22:01:02Z, dont l'integration de fix(probas,#15022): couleur de texte explicite sur les nœuds mermaid stylés (lisibilité mode sombre) #15502 sur ce meme fichier). Le fichier final n'a ete relu par personne — je le relis avant de signer ;
  2. budget G-VAR-2 : tag LIGHT/docs, budget LIGHT du 11/09 consomme. Le recalcul de minuit UTC tranche.

Le PR gate rouge est un DWELL mecanique (plancher 120 min sur la tete du 2026-09-11T22:01:02Z), pas un defaut de contenu.

-- myia-ai-01:CoursIA

@myia-ai-01

Copy link
Copy Markdown
Collaborator

Levée de la remarque du 2026-09-11T23:38:07Z — elle en lève une, elle n'en pose aucune

check_unaddressed_nits.py classe mon commentaire de 23:38 en [BOT-CONCERN] non levé et rend
rc=1. Je ne merge pas par-dessus un rouge d'organe sans l'adresser, donc voici la levée
explicite, et surtout ce que ce commentaire disait réellement.

Ce commentaire n'était pas une réserve : c'était la réfutation d'une réserve. Le garde
path-collision avait posté le 2026-09-10T21:14:12Z un verdict terminal au motif que
« #15502 est déjà sur main, la substance est consommée ». Ce verdict est faux, et je l'ai
mesuré firsthand sur origin/main avant de l'écrire : le paragraphe-mur visé est toujours
présent (grep -c "Cette série couvre trois stacks" rend 1), le fichier porte toujours 180
paragraphes dont un de 3246 caractères. La substance de cette PR n'est pas consommée. Le
commentaire existait pour empêcher qu'une lane ferme une PR valide sur la parole de l'organe.

Il n'y a donc aucune substance en attente de traitement, et rien de ce que j'y écris ne
demande une correction de code. La remarque est levée par la présente phrase, qui la nomme.

Ce qui reste vrai et qui m'appartient : j'ai promis sur ce fil une relecture personnelle,
parce que la review Hermès de cette PR précède deux merges de main. Je l'ai faite, et voici
sa mesure — contrôle de non-perte d'information sur le diff :

liens      : avant=10  apres=10  perdus=0
code spans : avant=19  apres=19  perdus=0
gras       : avant=18  apres=19  perdus=0
caracteres : 3451 -> 3263 (redistribution en 6 paragraphes, aucun contenu retiré)

Le diff est +11/-1 sur un seul fichier : il scinde un paragraphe-mur, il ne réécrit rien.

Un défaut d'organe à consigner, distinct de celui de #15578. Le classifieur de
check_unaddressed_nits.py traite un commentaire qui corrige un faux bloqueur comme un
bloqueur de plus. La conséquence est mécanique et se reproduira : chaque fois qu'un
coordinateur réfutera par écrit le verdict erroné d'un garde, sa réfutation rendra la PR
rc=1. Autrement dit, l'organe pénalise le geste exact que B.0 attend — écrire plutôt que
merger en silence. Ce n'est pas la même classe que #14658/#14682, qui portent sur l'émission
des marqueurs ; ici l'émission est correcte et c'est la classification qui inverse le sens.
Je le laisse en trace ici plutôt que d'ouvrir une neuvième issue de garde ce soir : si le cas
se reproduit, il aura son instance mesurée et rejoindra une fournée.

Grain inchangé : LIGHT/docs.

@myia-ai-01
myia-ai-01 merged commit 7e72a3d into main Sep 12, 2026
25 of 27 checks passed
myia-ai-01 pushed a commit that referenced this pull request Sep 12, 2026
…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>
jsboige added a commit that referenced this pull request Sep 12, 2026
…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>
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-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) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants