Constat mesuré (2026-09-24, cycle adjoint c.64, origin/main à d762eb527a)
L'advisory CI Markdown deaccent advisory (.github/workflows/markdown-deaccent-advisory.yml, fast-lane) repose sur scripts/notebook_tools/detect_markdown_deaccent.py. Ce détecteur ne signale un mot non accentué que si son jumeau accentué apparaît ailleurs dans le même notebook (« internal positive control », docstring l. 4-6). Or le pire cas, un notebook dont la prose est entièrement désaccentuée, n'a aucun jumeau. L'advisory le déclare alors propre : c'est un faux négatif structurel, pas un défaut de réglage.
Le dépôt a déjà l'instrument qui voit ce cas : scripts/notebook_tools/detect_accent_stripping.py, avec son dictionnaire conservateur ACCENT_PAIRS (paires dont la forme sans accent n'est pas un mot français). Il n'est câblé à aucun workflow.
| Notebook |
Lettres accentuées / 1000 (markdown, hors code et maths) |
detect_markdown_deaccent (câblé) |
detect_accent_stripping (non câblé), lignes markdown touchées |
PR #17618 : ML/DataScienceWithAgents/03-DeepLearning/3.9g-Compression-Comparatif-A-vs-B.ipynb (nouveau) |
0,6 |
1 |
65 (90 hits) |
PR #17609 : QuantConnect/research/research_iv_rank_strike_clusters.ipynb (nouveau) |
0,0 |
0 |
53 (55 hits) |
témoin 3.9a-Compression-Quantization-INT8.ipynb (main) |
30,1 |
— |
0 |
témoin 3.9f-Compression-Pruning-SOTA.ipynb (main) |
44,5 |
— |
4 |
témoin 3.9e-Compression-Quantization-SOTA.ipynb (main) |
28,9 |
— |
16 (vrais positifs lus : remplacee, entrainement, meme, modele) |
Les deux PR ont tous leurs checks verts. La prose désaccentuée de deux notebooks neufs passerait donc sur main sans qu'aucun organe ne rougisse ni ne signale.
Reproduction (depuis un checkout de main) :
git fetch origin +pull/17618/head:pr17618
git show pr17618:"MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-DeepLearning/3.9g-Compression-Comparatif-A-vs-B.ipynb" > /tmp/n.ipynb
python scripts/notebook_tools/detect_markdown_deaccent.py /tmp/n.ipynb # 1 TOTAL
python scripts/notebook_tools/detect_accent_stripping.py /tmp/n.ipynb # 90 hits
Ce qui est demandé
Fermer le faux négatif dans l'organe câblé, sans ressusciter les faux positifs que #14064/#14248 ont éliminés.
Deux voies. La lane tranche et écrit son choix dans le body :
- Repli lexical sans jumeau : quand un notebook FR n'a pas de jumeau pour une forme, consulter le dictionnaire conservateur
ACCENT_PAIRS de detect_accent_stripping.py (import, jamais copie : cf. organ-first-implementation.md), et rapporter ces hits dans un bucket distinct (lexicon).
- Plancher de ratio : signaler un notebook FR (gate FR/EN existant) dont le taux de lettres accentuées en markdown est sous un seuil mesuré sur le corpus de
main, jamais choisi à l'œil.
Acceptance (validée par les faux négatifs, jamais par le compte de hits)
Portée
See #16638 · See #14064 · See #14248
Constat mesuré (2026-09-24, cycle adjoint c.64,
origin/mainàd762eb527a)L'advisory CI
Markdown deaccent advisory(.github/workflows/markdown-deaccent-advisory.yml, fast-lane) repose surscripts/notebook_tools/detect_markdown_deaccent.py. Ce détecteur ne signale un mot non accentué que si son jumeau accentué apparaît ailleurs dans le même notebook (« internal positive control », docstring l. 4-6). Or le pire cas, un notebook dont la prose est entièrement désaccentuée, n'a aucun jumeau. L'advisory le déclare alors propre : c'est un faux négatif structurel, pas un défaut de réglage.Le dépôt a déjà l'instrument qui voit ce cas :
scripts/notebook_tools/detect_accent_stripping.py, avec son dictionnaire conservateurACCENT_PAIRS(paires dont la forme sans accent n'est pas un mot français). Il n'est câblé à aucun workflow.detect_markdown_deaccent(câblé)detect_accent_stripping(non câblé), lignes markdown touchéesML/DataScienceWithAgents/03-DeepLearning/3.9g-Compression-Comparatif-A-vs-B.ipynb(nouveau)QuantConnect/research/research_iv_rank_strike_clusters.ipynb(nouveau)3.9a-Compression-Quantization-INT8.ipynb(main)3.9f-Compression-Pruning-SOTA.ipynb(main)3.9e-Compression-Quantization-SOTA.ipynb(main)remplacee,entrainement,meme,modele)Les deux PR ont tous leurs checks verts. La prose désaccentuée de deux notebooks neufs passerait donc sur
mainsans qu'aucun organe ne rougisse ni ne signale.Reproduction (depuis un checkout de
main) :Ce qui est demandé
Fermer le faux négatif dans l'organe câblé, sans ressusciter les faux positifs que #14064/#14248 ont éliminés.
Deux voies. La lane tranche et écrit son choix dans le body :
ACCENT_PAIRSdedetect_accent_stripping.py(import, jamais copie : cf.organ-first-implementation.md), et rapporter ces hits dans un bucket distinct (lexicon).main, jamais choisi à l'œil.Acceptance (validée par les faux négatifs, jamais par le compte de hits)
language=enconservé).des,sur,mesure,cote,tache…) ne sont pas signalés par la nouvelle voie.mainqui passent de 0 à au moins 1 signalement, pour mesurer l'effet sur le rollout Rollout deaccent repo-wide : piloter les tranches par serie (~946 notebooks candidats) #16638.Portée
See #16638 · See #14064 · See #14248