Skip to content

check_output_failure_text : le bandeau « generation non executee ... indisponible » passe le ratchet bloquant (faux negatif mesure) #24780

Open

Description

@jsboige

Le défaut

Le ratchet bloquant scripts/notebook_tools/check_output_failure_text.py ne voit pas un bandeau de repli très courant en français : la forme GENERATION NON EXECUTEE - stack <service> indisponible (...).

Deux raisons, dans le jeu de motifs actuel :

  • le motif doux DEGRADED_HINT_PATTERNS ne retient que non\s+disponible — la forme indisponible, avec son préfixe in, ne passe pas ;
  • le motif dur épinglé à l'instance est illustration indisponible — un seul libellé de service, pas la forme.

Résultat : une sortie de repli qui a remplacé un rendu passe le ratchet sans que rien ne rougisse.

Mesure (rejouée ici, sur la mutation)

Cellule source qui porte le bandeau : MyIA.AI.Notebooks/GenAI/Video/02-Advanced/02-5-LTX2-Audiovisual.ipynb, cellule 13, print(f"GENERATION NON EXECUTEE - stack ComfyUI indisponible ({...}).").

Mutation : la sortie de cette cellule est remplacée par le seul bandeau, tous les autres outputs du carnet étant vidés ; la base reste le carnet de main.

classe sortie reelle du head PR mutant (bandeau)
TOOL_FAILURE 0 0
DECLARED_FALLBACK 0 0
MACHINE_PATH 1 0
PROGRAM_LITERAL 0 0

La mutation ameliore le score : le bandeau fait disparaitre le chemin machine que la sortie reelle portait, et n'ajoute aucune classe. Un ratchet qui s'ameliore quand on remplace un rendu par un repli est aveugle au dommage qu'il existe pour voir.

Pourquoi cela compte

C.2 exige que le carnet committé porte la sortie reellement produite. Un carnet GenAI re-execute sur une machine ou le service est absent commite le bandeau a la place du rendu ; le garde qui existe pour le voir (#21816 a ajoute workflow execution failed, erreur generation image, illustration indisponible pour le meme dommage) laisse passer.

Precedent dans l'organe

Les trois motifs ComfyUI ont ete ajoutes avec des temoins : des chaines reellement vues dans des sorties commitees, et le self-test (_PATTERN_WITNESSES) verifie que chaque motif en attrape au moins un. C'est la regle du fichier : adding one without its witness is how a pattern set starts lying. Un motif ajoute ici doit donc etre accompagne de son temoin et d'un temoin negatif.

Criteres d'acceptation

  1. la forme generation non executee / <service> indisponible est attrapee par une classe existante (TOOL_FAILURE ou DECLARED_FALLBACK) quand elle figure dans une sortie ;
  2. le motif ajoute a un temoin dans _PATTERN_WITNESSES, et le self-test passe ;
  3. un test porte le mutant ci-dessus et rend TOOL_FAILURE >= 1 ou DECLARED_FALLBACK >= 1 ;
  4. temoin negatif : le motif ne fait rougir aucune sortie deja commitee sur main (le corpus contient des replis declarés legitimes — formes non configuree, non disponible — qui ne doivent pas devenir du bruit) ;
  5. la forme francaise indisponible est couverte explicitement, ou l'ecart est trace et assume dans le corps du motif.

Part of #21424

Activity

  1. added a commit that references this issue on Nov 5, 2026
  2. jsboige commented on Nov 5, 2026

    @jsboige
    OwnerAuthor

    [INFO] L'implantation est dans #24785 (fix/24490-comfyui-banner-organ), un motif dur sur le marqueur GENERATION NON EXECUTEE, avec temoin, cas de --self-test et deux tests pytest.

    Les cinq criteres sont traites dans le corps de la PR :

    1. la forme est attrapee par une classe existante : TOOL_FAILURE (motif dur, hors DEGRADED_HINT_PATTERNS) ;
    2. temoin dans _PATTERN_WITNESSES + --self-test : SELF-TEST OK ;
    3. le mutant est rejoue sur la tete de Fix(video,#24490): 02-5 LTX-2 — la prose annonce un run que la sortie committée ne porte pas #24645 : TOOL_FAILURE 0 → 10 (le test pytest fige la forme du mutant) ;
    4. temoin negatif : la chaine n'apparait dans aucun carnet du depot (grep -rl = 0 ; sweep --all : aucune occurrence nouvelle) ;
    5. la forme generale <service> indisponible n'est pas couverte — l'ecart est trace et assume dans le corps du motif (le mot apparait dans 125 carnets, dont des replis declares legitimes). La voie complementaire, un jeton porte par le carnet, est suivie dans [Audit #17073] 02-5 LTX2 — la sortie de la cellule de parametres annonce un drapeau que la source commitee ne pose plus, et le bandeau de repli ne porte aucun marqueur #24786.

    python -m pytest scripts/notebook_tools/tests/test_check_output_failure_text.py -q : 67 passed.

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