Repository navigation
Description
Part of #22910
Constat
Le durcissement des clauses (a) et (c) de _fuzzy_present (scripts/check_markdown_claims_output.py, PR #24609) fait remonter des constats que l'ancien laxisme masquait. La mesure avant/apres sur le meme arbre :
| carnets | constats | FABRICATION | CLEAN | |
|---|---|---|---|---|
| avant | 1751 | 10758 | 1244 | 507 |
| apres | 1751 | 11197 | 1258 | 493 |
Delta : 227 carnets touches, 422 claims ajoutes, 0 retire ; 12 a 14 carnets passent de CLEAN a FABRICATION_DETECTED.
Classification a la main d'un echantillon de 14 nouveaux constats :
- ~9 : constantes et parametres d'entree — le carnet annonce une constante de configuration (un seuil, une taille de grille, une valeur par defaut) que la sortie ne reproduit pas. Ce n'est pas une fabrication de resultat : la valeur n'est pas un resultat, elle n'a pas a etre dans la sortie.
- ~4 : valeurs derivees — differences, pourcentages, series que la sortie presente sous une forme agregee (
... sur 5 essais) ou avec une autre granularite. - ~1 : vrai positif (
4,267annonce, sortie4.26) — la fabrication que l'organe cherche.
Deux familles de faux positifs dominent donc la hausse : l'organe confond « une valeur citee » et « un resultat affiche ».
Ce qui est demande
Deux choses, dans cet ordre :
-
Discriminer la nature de la revendication avant de la confronter a la sortie. Un constat ne devrait etre FABRICATION que si la revendication presuppose une sortie (un resultat, une mesure, un chiffre calcule par le carnet). Une constante d'entree, un parametre de configuration, un seuil, une valeur de depart : la confrontation a la sortie n'a pas de sens.
Une voie possible : un predicat de nature sur le contexte markdown (la cellule annonce-t-elle un resultat ?) plutot qu'une liste de valeurs. Un detecteur de la forme « la revendication est-elle un hyperparametre ? » serait fragile (une liste de noms n'echoue pas) — la regle de ce depot (organ-first) impose de nommer l'organe existant si un autre series le possede.
-
Traiter les valeurs derivees : une revendication « X vaut 12 % » face a une sortie qui affiche la serie dont 12 % est issu n'est pas une fabrication ; c'est une derivation. Le predicat de derive est plus dur que celui du prefixe (il n'a pas de forme fixe) : d'ou une issue de mesure a part plutot qu'un patch dans le meme PR.
Contraintes
- L'organe est consultatif (
markdown-claims-output-advisory.yml: « Never block merge on this signal alone »). La hausse de 439 constats ne casse rien — mais le bruit de fond d'un organe consultatif est ce qui le fait ignorer, c'est ce qui rend le vrai positif invisible. - Toute modification de
_fuzzy_presentdoit re-mesurer le corpus avant/apres sur le meme arbre (la mesure de Fix(guard,#22910): la clause (c) et la clause (a) n'acceptent plus une valeur voisine -- 5 lignes du tableau en tests + effet mesure sur le corpus #24609 est le gabarit) et rediger le resultat ici. - Ne pas reduire le nombre de constats en supprimant des classes de revendication au hasard : chaque famille de faux positif merite son predicat, name et argumente.
Preuve de depart
- PR Fix(guard,#22910): la clause (c) et la clause (a) n'acceptent plus une valeur voisine -- 5 lignes du tableau en tests + effet mesure sur le corpus #24609 (le durcissement + les 8 tests) : Fix(guard,#22910): la clause (c) et la clause (a) n'acceptent plus une valeur voisine -- 5 lignes du tableau en tests + effet mesure sur le corpus #24609
- Issue mere Organe #11435 : la clause (c) accepte une valeur voisine ou plus grossiere — faux positif residuel apres #22826 #22910 : Organe #11435 : la clause (c) accepte une valeur voisine ou plus grossiere — faux positif residuel apres #22826 #22910
- Organe :
scripts/check_markdown_claims_output.py, testsscripts/tests/test_check_markdown_claims_output.py(167 passed sur la branche de Fix(guard,#22910): la clause (c) et la clause (a) n'acceptent plus une valeur voisine -- 5 lignes du tableau en tests + effet mesure sur le corpus #24609).
Activity
Fix(tooling,#24635): la filiation confirmee est un troisieme etat ; l…