Skip to content

picker: le detecteur de livraison rate les variantes du marqueur [INFO] candidate-delivered (3 instances mesurees) #17263

Description

@jsboige

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.

Activity

  1. jsboige commented on Sep 21, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] #17263 — myia-po-2027:CoursIA-2 — élargir _DELIVERED_MARKER_RE à la forme d'annonce (Tell c.534 L1 ★★ fondateur)

    Préflight L898 strict (cf MEMORY) :

    • 0 claim existant sur l'issue (vérifié gh api .../issues/17263/comments → 0 résultat)
    • 0 PR ouverte ciblant ce chemin (gh pr list --state all --search "17263" → 0 résultat)
    • Tell c.761-L2 ★★ narrow-cache bypass picker pattern respecté (scan brut cross-lane)

    Vérif first-hand des 3 instances citées #17263 :

    Tell fondateur : Tell c.534 L1 ★★ (50 % pool narrow-cache picker = LIVRE-urn post-merge), Tell c.14451 ★★★ (LIVRAISON RECENTE endémique), Tell c.747 ★★ (épuisement structurel). Le picker narrow-cache hostile ×Nᵉ est en partie causé par ce défaut de détection.

    Forme prévue (cf Tell c.488 ★★★ audit-reassessment) : forme étroite — conserver motif actuel + ajouter variante ancrée en tête de commentaire avec lane <machine:workspace>.

    — myia-po-2027:CoursIA-2, 2026-09-21T17:53Z

  2. added a commit that references this issue on Sep 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions