Skip to content

pick_idle_grain : sous restriction de secheresse, le genre CONTENU est infere du CHEMIN — 2 des 3 candidats tires etaient META #13972

Closed

Description

@myia-ai-01

Grain: MED/guard — lane myia-ai-01:CoursIA — prev: MED/ledger #13956

Le defaut

Quand pick_idle_grain.py detecte une secheresse de substance (G-VAR-1, organe livre par #13884), il « RESTREINT le tirage aux genres CONTENU » et l'annonce en ces termes :

Le tirage ci-dessous est RESTREINT aux genres CONTENU (69 candidats). Ce n'est pas un refus : la lane recoit un grain, et ce grain tient le plancher.

La derniere clause n'est pas garantie. Le genre affiche dans la colonne genre et marque * (= CONTENU) est infere, et au moins pour une classe d'issues il est infere du chemin des fichiers, pas du type de travail. C'est exactement l'inference que variation-protocol.md §1 interdit :

Le GENRE est le TYPE DE TRAVAIL, jamais la famille ou vivent les fichiers. Test : si le prochain grain de ce rollout tombait dans une autre famille, changerais-je le GENRE ? Si oui, le genre decrit le repertoire — reprendre celui du travail.

Mesure — 2026-09-01, lane myia-ai-01:CoursIA, secheresse a 9

Trois tirages consecutifs sous restriction CONTENU. Chaque candidat a ete grounde firsthand avant claim (ce qui est la regle) ; deux des trois n'etaient pas du CONTENU :

issue genre affiche par le picker ce que dit son corps verdict
#10475 notebook-dotnet* premiere ligne du body : Grain: MED/docs — et le corps ecrit noir sur blanc « Ce grain ne compte pas comme le plat principal d'un cycle (G-VAR-1 : docs est un genre META) — il se fait en plus, jamais a la place » META, auto-declare
#13745 notebook-python* « [consolidation] notebook_tools/ : 92 orphelins sur 152 + fusions selectives » — consolidation de scripts, acceptance = « chaque orphelin cable / documente / archive » META (tooling/refactor), infere du prefixe notebook_
#12422 notebook-python* genre correct, mais premier critere d'acceptance : « Decision user enregistree sur ce depot d'issue avant tout travail » CONTENU, mais non prenable

#10475 est le cas le plus net : l'issue porte deja son propre tag Grain:, en toute premiere ligne du body, et il dit docs. L'information exacte etait disponible sans aucune inference — elle n'a pas ete lue.

Pourquoi ca compte plus qu'un affichage inexact

L'organe de secheresse existe pour empecher qu'une lane enchaine les grains META. S'il peut proposer un META etiquete CONTENU, alors une lane de bonne foi qui suit sa recommandation :

  1. croit tenir G-VAR-1 (« le picker me l'a donne comme CONTENU sous restriction ») ;
  2. livre un grain META de plus ;
  3. voit son compteur de secheresse ne pas redescendre au cycle suivant, sans comprendre pourquoi.

Autrement dit le garde peut certifier la sortie de la secheresse tout en la prolongeant. C'est le motif « un organe qui certifie ce qu'il ne teste pas » : le picker mesure la secheresse correctement (le compte des 9 merges META est juste, verifie), mais son remede n'est pas cable a la meme definition de genre que sa mesure.

Seule la discipline de grounding firsthand avant claim l'a attrape ici — trois fois de suite. Une lane qui ferait confiance a la colonne genre ne le verrait jamais.

Piste (non prescriptive)

  1. Lire le tag Grain: du body quand il existe — il est deja normalise, deja parse ailleurs dans le harnais (variation_light_cap.py, variation_adjacency_guard.py), et il est autoritatif : c'est le genre que l'auteur de l'issue a declare. Cela reglait Veille série *The Unexpected AI Stack: C#/.NET* — registre des parutions et distillation en grains #10475 seul.
  2. Ne pas inferer notebook-* d'un chemin contenant notebook — scripts/notebook_tools/ est de l'outillage sur des notebooks, pas un notebook. Le discriminant est MyIA.AI.Notebooks/**/*.ipynb touche ou non.
  3. Optionnel — quand un corps d'issue contient une clause d'auto-exclusion explicite (« ne compte pas comme le plat principal », « ne pas lancer avant decision user »), la remonter en annotation a cote du candidat, comme le picker le fait deja pour LIVRAISON RECENTE et TRAVAIL EN COURS. Ces deux annotations existantes sont exactement du meme genre : « lis avant de claimer ».

Le point 3 aurait aussi couvert #12422, dont le blocage n'est pas le genre mais l'acceptance.

Acceptance

See #13086

Activity

  1. added a commit that references this issue on Sep 1, 2026
  2. jsboige commented on Sep 30, 2026

    @jsboige
    Owner

    Verification G.9 de fermeture (tranche 8 de #15258, lane myia-po-2024:CoursIA) : fermeture legitime, aucune reouverture.

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