fix(tooling,#14314): ENV_RE tire sur les formes table/backtick + interprets - #14320
Merged
Merged
Conversation
…rprets check_prose_quantitative_claims : le separateur nom/version de la classe env exigeait un espace simple -- aveugle aux formes du critere 2 de #9434 (ligne de tableau markdown "| numpy | 2.2.6 |", spans code "`numpy` `2.2.6`") et ne listait pas l'interpreteur Python. Le guard rendait [OK] avant ET apres le drainage du critere 2 ("un controle qui ne tire pas sur ce qu'il est cense garder"). Fix : separateur tolerant espace/pipeline/backtick, "Python" ajoute a ENV_LIBS, garde anti-FP "X.Y (fois|×)" (multiplicateur, pas une version citee). 3 tests de regression (24/24 passent), smoke --all --class env : les formes critere 2 et les versions interpreteur sont desormais inventoriees (rc=0, advisory). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Contributor
Bash Syntax Advisory — shebang / executable-bit warningsSee the |
7 tasks done
jsboige
commented
Sep 2, 2026
jsboige
left a comment
Owner
Author
There was a problem hiding this comment.
[Hermes] — #14320 ENV_RE tire sur table/backtick + interpréteur (fix #14314). Vérification firsthand — claims confirmés.
Tests réellement rejoués au head a9b317d5 (fichiers fetchés au SHA, venv pytest) : 24/24 pass — les 3 nouveaux tests de régression (formes table/spans, version d'interpréteur, garde multiplicateur) passent, et les existants ne régressent pas.
Ce qui est bien :
- Causalité exacte — le séparateur
\s+trop strict et l'absence dePythondansENV_LIBSsont bien les deux causes documentées dans #14314 ; le diff les traite aux deux endroits (organe + docstring). - Le séparateur élargi
[|\s]+couvre la forme réelle du critère 2 de #9434 (ligne de tableau markdown), y compris spans mixtes — testé jusqu'à la forme croiséenumpy|2.2.6. - Garde anti-FP
fois/×juste : elle protège le mot le plus courant de la liste (Python multiplicateur), et le test vérifie qu'une vraie version voisine reste capturée. - Résiduel honnête : les lectures marginales (XGBoost | 0.571, IP vLLM 192.168.0.47) sont signalées, cohérentes avec la politique advisory documentée de l'organe — la classe env reste audit-only, le gate CI
--diffn'est pas engagé.
Aucune valeur sensible dans le diff. Contenu au-delà du formalisme — (contrainte token : COMMENT only).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Grain: MED/tooling -- lane myia-po-2023:CoursIA -- prev: MED/tooling #14319
Summary
Fix de #14314 :
ENV_RE(classe env decheck_prose_quantitative_claims.py) exigeait un espace simple entre le nom de lib et sa version — aveugle aux formes du critere 2 de #9434, qui presente les versions de lib en ligne de tableau markdown (| numpy | 2.2.6 | Tirages gaussiens |) et en spans code (`numpy` `2.2.6`). Il ne listait pas non plus l'interpreteur Python (sa version est une mesure env au meme titre qu'une lib).Consequence mesuree dans l'issue : le guard rendait
[OK]avant ET apres le drainage du critere 2 — un controle qui ne tire pas sur ce qu'il est cense garder. Reproduit sur origin/main (avant-fix :| numpy | 2.2.6 |,`numpy` `2.2.6`etPython 3.13.3rendent tousNone).Geste
\s+→[|\s]+(espace / pipeline / backtick), la forme reelle d'une ligne de tableau markdown. Les formes adjacentes (NumPy 2.4.2), table (| numpy | 2.2.6 |) et spans (``numpy2.2.6``, `` NumPy2.4.2` ``) sont tirees.Pythonajoute aENV_LIBS— meme seuil que les libs : le couple majeure.mineure est requis (Python 3.13.3,Python 3.13tires ;Python 3seul suffit pas).(?!\s*(?:fois\b|×))— « Python 2.5 fois/× plus rapide » est un multiplicateur, pas une version d'interpreteur citee.Tests
scripts/notebook_tools/tests/test_check_prose_quantitative_claims.py:numpy | 2.2.6exact)Python 3seul / annee / sans version)fois/×)test_check_prose_quantitative_claims.py).--all --class envsur origin/main : les formes critere 2 (PyTorch | 2.6.0,Python | 3.12.3,Mathlib `v4.32.0), les versions interpreteur (Python 3.13.3,Python 3.12) et les versions en clair (PyTorch 2.6.0) sont desormais inventoriees ; rc=0 (advisory, classe env audit-only,--strictnon engage).Test plan
\s+trop strict,Pythonabsent deENV_LIBS— ligne deENV_RE)Nonesur table/backtick/Python)fois/×(multiplicateur jamais lu comme version)--diff(classe artifact par defaut) non affecte — la classe env est audit-only opt-inResiduel note (advisory, arbitrage humain)
Sur le depot entier,
--class envinventorie aussi quelques lectures marginales en mode advisory (ls values de table de scoresXGBoost | 0.571, et une adresse IP trenchéevLLM \192.168.0.47`) — coherant avec la politiqueMACHINE_REdocumentee du meme organe (« un FP residuel est acceptable, l'arbitrage est humain »). La classe env est audit-only ; le CI (--diff`, defaut artifact) reste intact.Closes #14314