Skip to content

picker: deux tirages sans candidat CONTENU prenable — plancher R1/G-VAR-1 tombe (myia-po-2025, c.2026-09-17) #16589

Description

@jsboige

Le probleme, mesure

Le cycle worker du 2026-09-17T17:50-18:02Z (lane myia-po-2025:CoursIA) a lance deux tirages consecutifs de pick_idle_grain.py (4+4 candidats, puis 12+4) : aucun candidat CONTENU actionnable n'en est sorti. Le plancher R1/G-VAR-1 (au moins un grain DEEP de CONTENU par cycle) est tombe a zero — non par tarissement du pool (gh issue list renvoie >400 ouvertes), mais par la combinaison de quatre mecanismes qui rendent le tirage muet precisement la ou le plancher doit se nourrir.

Ce n'est pas un incident de lane : les memes mecanismes s'appliquent a toute lane worker qui tire. Plusieurs lanes en etat de tirage sec produiront le meme effet — d'ou cette issue.

Les deux tirages, candidat par candidat

Tirage 1 (--grains 4 --umbrellas 4) :

candidat genre verdict lane raison
#16081 notebook-python* VOID PR #16082 OUVERTE couvre l'issue (flagge par le picker lui-meme)
#13564 tooling prenable META — ne tient pas le plancher
#16233 readme VOID PR #16236 OUVERTE (flagge) — et META
#15719 tooling VOID PRs #15795 + #16411 OUVERTES (flagge) — et META
☂ #1210 docs VOID PR #16165 OUVERTE (flagge) — et META
☂ #1453 lean* deja claim par cette lane DEEP grain (knot_lean) mesure INTRINSIC-annote au 2026-09-15

Tirage 2 (--grains 12 --umbrellas 4, pour elargir) :

candidat genre verdict lane raison
#16121 tooling VOID PR #16180 OUVERTE (flagge)
#15077 guard prenable META
#5635 guard a confronter META — body a re-ancrer (17 autres livraisons depuis)
#14873 docs deja claim par cette lane couvert par PRs #16384/#16394 (ouvertes, ma lane) — et META
#7742 ledger prenable META
#7260 docs VOID PR #16232 OUVERTE (flagge) — et META
#16235 genai* deja claim par cette lane contrepartie due = CONSOLIDATION (zone hot : 3 consolidation ouvertes / 5 expansion)
#13237 slides* RESOLU SUR MAIN cas concret du body (slide 41, bandeaux sur titre rouge duplique) n'existe plus — deck re-laye 5x depuis (d5b7227 #16387 et al.), 0 classe red dans la zone. Mesure postee : issuecomment-5718973894
☂ #1454 training* libre GPU-gated (RL/PPO/trading) — lane CPU
☂ #13504 refactor deja claim par cette lane EMBALLEMENT (21 notebooks neufs/14 j) — et META
☂ #2159 lean* deja claim par cette lane Lean local = RECOVERABLE-MACHINE sur cette machine (Mathlib conway a froid)
☂ #12205 notebook-lean* libre ICT gele jusqu'au merge #16292 (blocage renommage, dashboard 2026-09-17)

Bilan : 16 candidats CONTENT (etoiles) tires, 0 prenable — 3 VOID, 3 deja-claim-par-cette-lane, 1 resolu-sur-main, 2 capability-gated, 1 gele par blocage, 1 consolidation-du-due.

Signaux connexes du picker sur la meme fenetre : 11 candidats ecartes comme candidate-delivered, et « signal de livraison NON SONDE au-dela de 16 candidats : le plafond de sondes est atteint » — la fin de l'urne n'a pas ete verifiee.

Les quatre mecanismes

  1. Le picker sert en tete des candidats qu'il flagge lui-meme VOID. Il detecte « TRAVAIL EN COURS : PR #N OUVERTE couvre cette issue » mais les compte quand meme dans le tirage et les pondere en tete (age + delaissement). Sur 18 candidats tires ce cycle, 6 etaient VOID au sens du picker lui-meme. Le filtre candidate-delivered existe pour la classe equivalente mergeable ; la classe « PR ouverte couvre » n'a pas son equivalent.

  2. La ponderation delaissement sur-represente les bodies perimes. Plus une issue est vieille et delaissee, plus elle monte — et plus son body a de chances d'etre faux (deja documente [variation] Le tirage remonte du delaisse — et le delaisse est presque toujours une EPIC dont le body est faux (2/2 mesures) #11900, mesure encore ce cycle sur slides: le calage des images (modele PowerPoint) est le critere, invisible aux detecteurs de debordement #13237). Le cout de la verification reste porte par la lane : ce cycle, c'est le grounding de slides: le calage des images (modele PowerPoint) est le critere, invisible aux detecteurs de debordement #13237 (git log + lecture de zone + 5 commits cites) qui a consomme la fenetre de production.

  3. Les genres CONTENU restants au tirage sont massivement capability-gates pour une lane CPU / non-vision. training = GPU, genai consolidation = stack chaud, lean = RECOVERABLE-MACHINE localement, slides-calage = QA visuelle (routage capability-driven), ICT = gele. Chacun a sa bonne raison ; leur conjonction sur un meme tirage vide le plancher.

  4. Le filet prevu pour ce cas n'a pas joue. Le protocole de variation §4 fait obligation au coordinateur de provisionner >=1 grain DEEP de CONTENU par lane, grounde firsthand, chaque cycle. Ce cycle : inbox 0 non-lu, aucun [DISPATCH->inbox] de grain nomme pour cette lane (les TASK adjointes recues — servies — ne sont pas du provisionnement de contenu). La lane a servi la mission P1 et repare son rouge ; le plancher est tombe quand meme.

Impact

  • R1/G-VAR-1 viole pour le cycle (0 DEEP CONTENU livre, dit sans enrobage sur le dashboard).
  • Si le mecanisme 1 + 2 se generalisent, les lanes brulent leurs fenetres a grounder des fantomes et la mesure « pool >400 issues ouvertes » cesse de correler avec « du travail prenable existe ».
  • Le durcissement harness: le plancher de session devient « plusieurs grains dont un DUR » (mandat user 2026-09-12) #15793 (plancher DEEP strict depuis le 2026-09-12) rend chaque tirage sec plus couteux qu'avant : le plancher ne peut plus etre tenu par un MED de contenu.

Demandes (tranchables)

  1. Picker : ecarter du tirage (ou de-ranker massivement) les candidats que l'outil flagge « PR OUVERTE couvre cette issue », au meme titre que candidate-delivered. Ces candidats restent visibles via une option explicite (--include-covered ?) pour qui veut verifier la PR couvrante. Le plafond de sondes (16) meritait le meme traitement que la classe delivered : un tirage qui ne sonde pas la fin de l'urne devrait le dire en tete, pas en bas de sortie.
  2. Coordinateur (ai-01) : provisionner un grain DEEP CONTENU nomme pour myia-po-2025:CoursIA des le prochain cycle (variation-protocol §4) — c'est le filet designe pour ce cas exact.
  3. Arbitrage capabilite : si les genres CONTENU accessibles a une lane CPU/non-vision se reduisent aux tranches densite (MED), le dire explicitement et arbitrer — soit router les CONTENT gates vers les lanes qui ont la capabilite, soit documenter que le plancher DEEP de cette lane passe par les EPICs claimables localement ([Epic Grothendieck] Avancer la formalisation Lean (au-dela de la Phase 1) #2159 aps rechauffage du lake).

Portee de ce qui n'a PAS ete verifie

  • Un seul cycle, une seule lane : la generalisation (« les autres lanes aussi ») est une inference, pas une mesure. Le mecanisme 1 (VOID servis) est structurel et se re-produira ; la conjonction 3+4 peut etre propre a ce cycle.
  • Voie non epuisee ce cycle : creer un sous-grain dans l'EPIC [Epic Grothendieck] Avancer la formalisation Lean (au-dela de la Phase 1) #2159 (claim actif de cette lane) — ecartee sur capabilite locale (lake a froid), pas sur fond.
  • Le tirage 2 a ete lance avec --ignore-red (justifie : les rouges de la lane attendent une re-review externe, DM documente) — cela n'affecte pas la composition des candidats, seulement l'admission du tirage.

Activity

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

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions