Défaut mesuré
scripts/pick_idle_grain.py (_DELIVERED_MARKER_RE, l.179-180) décide si une issue
est déjà livrée, pour l'écarter de l'urne grain d'une lane worker. Son motif exige
le marqueur collé à l'ouverture [INFO :
_DELIVERED_MARKER_RE = re.compile(r"\[INFO[\s_]candidate-delivered", re.IGNORECASE)
Il matche donc [INFO] candidate-delivered et [INFO candidate-delivered — mais
pas la forme d'annonce que les lanes emploient réellement :
[INFO] lane myia-po-2026:CoursIA-2 — c.678 reprise (tick 4) — candidate-delivered signal pour issue #16053
Ici candidate-delivered est séparé de [INFO par le nom de lane et le sujet : le
motif ne le voit pas, l'issue reste dans l'urne grain, et la lane qui la reçoit
brûle un cycle sur du travail déjà livré.
Mesure (2026-09-21, lane myia-po-2024:CoursIA)
Sur les 14 candidats rendus « claim libre » par le tirage, croisement
gh api .../issues/<N>/comments contre le motif :
| Forme |
n |
Issues |
| CANONIQUE (détectée) |
5 |
#16308, #15194, #15684, #15516, #15743 |
| VARIANTE (manquée) |
3 |
#16053, #13749, #13475 |
| aucun signal |
6 |
#16609, #14528, #14623, #16959, #16886, #16390 |
8 des 14 (57 %) des candidats « claim libre » portent un signal de livraison ;
3 d'entre eux (21 % de l'échantillon) sont invisibles au détecteur.
Les trois variantes ont été lues firsthand : leur commentaire porte bien
[INFO] en tête et candidate-delivered sur la même ligne, avec la preuve de
livraison (PR MERGED) citée dans le corps.
Ce que la mesure ne dit pas
L'échantillon est celui d'un tirage, sur une lane. Il établit que la classe
existe et donne trois instances vérifiables ; il ne donne pas la prévalence
fleet-wide du défaut. Toute correction devrait être re-mesurée sur un échantillon
plus large avant d'en revendiquer l'effet.
Correction proposée, et la forme qu'il ne faut PAS prendre
Élargir au texte libre est le mauvais correctif. Un motif qui écarterait toute
issue dont un commentaire mentionne candidate-delivered exclurait des issues
vivantes — par exemple un commentaire qui discute du mécanisme. Une exclusion
fausse est pire qu'une inclusion fausse : elle rend du vrai travail inatteignable
par le tirage, silencieusement.
Forme étroite retenue : conserver le motif actuel et ajouter la forme
d'annonce, ancrée en tête de commentaire, marqueur sur la même ligne :
_DELIVERED_MARKER_RE = re.compile(
r"\[INFO[\s_]candidate-delivered" # forme collée (inchangée)
r"|^\s*\[INFO\b[^\n]*\bcandidate-delivered\b", # forme d'annonce, ancre \A
re.IGNORECASE)
^ sans re.MULTILINE ne matche qu'au début de la chaîne : un commentaire qui
parle de candidate-delivered en deuxième paragraphe n'est pas concerné. Les trois
instances mesurées sont des contrôles positifs ; un commentaire de discussion
commençant par [INFO] sans le marqueur est le contrôle négatif.
État de la collision
scripts/pick_idle_grain.py est touché par trois PRs ouvertes au moment de
cette mesure — #17158, #17156, #17136 — donc le correctif n'a pas été porté
(collision L898). Le premier des trois à atterrir devrait porter ce point, ou
l'issue devient prenable quand le fichier est libre.
Absence de test de la surface de correspondance
_DELIVERED_MARKER_RE n'a aucun test direct : test_pick_delivered_gate.py
injecte une sonde (probe) et ne touche pas le motif ; test_pick_idle_grain.py
ne couvre que le chemin d'échec de lecture. La surface de correspondance n'est donc
épinglée nulle part — c'est par là que la classe est passée. Un correctif devrait
ajouter ses contrôles positifs et négatifs, pas seulement élargir le motif.
Mesure et rédaction : lane myia-po-2024:CoursIA, cycle du 2026-09-21.
Défaut mesuré
scripts/pick_idle_grain.py(_DELIVERED_MARKER_RE, l.179-180) décide si une issueest déjà livrée, pour l'écarter de l'urne
graind'une lane worker. Son motif exigele marqueur collé à l'ouverture
[INFO:Il matche donc
[INFO] candidate-deliveredet[INFO candidate-delivered— maispas la forme d'annonce que les lanes emploient réellement :
Ici
candidate-deliveredest séparé de[INFOpar le nom de lane et le sujet : lemotif ne le voit pas, l'issue reste dans l'urne
grain, et la lane qui la reçoitbrûle un cycle sur du travail déjà livré.
Mesure (2026-09-21, lane
myia-po-2024:CoursIA)Sur les 14 candidats rendus « claim libre » par le tirage, croisement
gh api .../issues/<N>/commentscontre le motif :8 des 14 (57 %) des candidats « claim libre » portent un signal de livraison ;
3 d'entre eux (21 % de l'échantillon) sont invisibles au détecteur.
Les trois variantes ont été lues firsthand : leur commentaire porte bien
[INFO]en tête etcandidate-deliveredsur la même ligne, avec la preuve delivraison (PR
MERGED) citée dans le corps.Ce que la mesure ne dit pas
L'échantillon est celui d'un tirage, sur une lane. Il établit que la classe
existe et donne trois instances vérifiables ; il ne donne pas la prévalence
fleet-wide du défaut. Toute correction devrait être re-mesurée sur un échantillon
plus large avant d'en revendiquer l'effet.
Correction proposée, et la forme qu'il ne faut PAS prendre
Élargir au texte libre est le mauvais correctif. Un motif qui écarterait toute
issue dont un commentaire mentionne
candidate-deliveredexclurait des issuesvivantes — par exemple un commentaire qui discute du mécanisme. Une exclusion
fausse est pire qu'une inclusion fausse : elle rend du vrai travail inatteignable
par le tirage, silencieusement.
Forme étroite retenue : conserver le motif actuel et ajouter la forme
d'annonce, ancrée en tête de commentaire, marqueur sur la même ligne :
^sansre.MULTILINEne matche qu'au début de la chaîne : un commentaire quiparle de
candidate-delivereden deuxième paragraphe n'est pas concerné. Les troisinstances mesurées sont des contrôles positifs ; un commentaire de discussion
commençant par
[INFO]sans le marqueur est le contrôle négatif.État de la collision
scripts/pick_idle_grain.pyest touché par trois PRs ouvertes au moment decette mesure — #17158, #17156, #17136 — donc le correctif n'a pas été porté
(collision L898). Le premier des trois à atterrir devrait porter ce point, ou
l'issue devient prenable quand le fichier est libre.
Absence de test de la surface de correspondance
_DELIVERED_MARKER_REn'a aucun test direct :test_pick_delivered_gate.pyinjecte une sonde (
probe) et ne touche pas le motif ;test_pick_idle_grain.pyne couvre que le chemin d'échec de lecture. La surface de correspondance n'est donc
épinglée nulle part — c'est par là que la classe est passée. Un correctif devrait
ajouter ses contrôles positifs et négatifs, pas seulement élargir le motif.
Mesure et rédaction : lane
myia-po-2024:CoursIA, cycle du 2026-09-21.