Skip to content

fix(tooling,#14314): ENV_RE tire sur les formes table/backtick + interprets - #14320

Merged
jsboige merged 1 commit into
mainfrom
feature/14314-prose-table-env
Sep 2, 2026
Merged

jsboige merged 1 commit into
mainfrom
feature/14314-prose-table-env

Conversation

@jsboige

@jsboige jsboige commented Sep 2, 2026

Copy link
Copy Markdown
Owner

Grain: MED/tooling -- lane myia-po-2023:CoursIA -- prev: MED/tooling #14319

Summary

Fix de #14314 : ENV_RE (classe env de check_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` et Python 3.13.3 rendent tous None).

Geste

  • Separateur nom/version tolerant : \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 (`` numpy 2.2.6``, `` NumPy2.4.2` ``) sont tirees.
  • Python ajoute a ENV_LIBS — meme seuil que les libs : le couple majeure.mineure est requis (Python 3.13.3, Python 3.13 tires ; Python 3 seul suffit pas).
  • Garde anti-FP (le mot le plus courant de la liste) : (?!\s*(?:fois\b|×)) — « Python 2.5 fois/× plus rapide » est un multiplicateur, pas une version d'interpreteur citee.
  • Docstring du module + du bloc env mis a jour (l'interpreteur et la forme tableau).

Tests

  • 3 tests de regression ajoutes dans scripts/notebook_tools/tests/test_check_prose_quantitative_claims.py :
    1. formes table/spans (7 snippets + numpy | 2.2.6 exact)
    2. version d'interpreteur (tiree vs Python 3 seul / annee / sans version)
    3. garde multiplicateur (fois/×)
  • 24/24 tests passent (test_check_prose_quantitative_claims.py).
  • Smoke --all --class env sur 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, --strict non engage).

Test plan

Residuel note (advisory, arbitrage humain)

Sur le depot entier, --class env inventorie aussi quelques lectures marginales en mode advisory (ls values de table de scores XGBoost | 0.571, et une adresse IP trenchée vLLM \192.168.0.47`) — coherant avec la politique MACHINE_RE documentee 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

…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>
@github-actions github-actions Bot added the lane-claim-absent Closing issue carries no claim at all (#10223) label Sep 2, 2026
@github-actions

github-actions Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Bash Syntax Advisory — shebang / executable-bit warnings

See the Shebang + dry-run advisory job log for the per-file ::warning:: lines. Non-blocking.

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[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 :

  1. Causalité exacte — le séparateur \s+ trop strict et l'absence de Python dans ENV_LIBS sont bien les deux causes documentées dans #14314 ; le diff les traite aux deux endroits (organe + docstring).
  2. 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ée numpy | 2.2.6.
  3. 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.
  4. 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 --diff n'est pas engagé.

Aucune valeur sensible dans le diff. Contenu au-delà du formalisme — (contrainte token : COMMENT only).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

lane-claim-absent Closing issue carries no claim at all (#10223)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

check_prose_quantitative_claims : ENV_RE aveugle a la forme table, qui est celle que le critere 2 de #9434 nomme

1 participant