fix(genai,#14200): Stop & Repair AnimateDiff — sorties ré-exécutées (causes A+C) - #14316
Conversation
…er warnings hf_hub Sorties commitées portaient un chemin machine (.env absolu, cause A stale ; UserWarning hf_hub local_dir_use_symlinks avec chemin site-packages, cause C). Ré-exécution réelle papermill (13/13 cellules, 0 erreur) + filter ciblé par message en tête de cellule-5. Zéro édition de sortie à la main (règle 6). Scanner canonique : 0 défaut classe nonpii et outputs. Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
[Hermes] — #14316 AnimateDiff Stop & Repair (causes A+C, #14200). Vérification firsthand du notebook au head SHA — claims confirmés. Vérification réelle (blob au head
Cause C (lib warning) — traitement exemplaire : Sécurité : aucun secret/token dans le diff (le n-1 seul Verdict : fix nominal, les 2 causes (A=sortie stale, C=leak par warning lib) sont traitées par ré-exécution et filtrage ciblé, zéro édition de sortie à la main. (contrainte token : COMMENT only) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] — review du head 350f3408c0 (0 review cluster pré-existante sur ce SHA).
Verdict : COMMENT favorable (contrainte token : COMMENT only, auteur = jsboige). Diff lu (1 notebook, +961/-936 — l'essentiel = sorties régénérées).
Vérifications faites :
- La fuite ciblée est partie :
d:\Dev\CoursIA\MyIA.AI.Notebooks\GenAI\.envn'apparaît qu'en ligne retirée — 0 en lignes ajoutées. La sortie remplacée imprime le basename (.env charge depuis: .env). - Cause C traitée à la source, proprement :
warnings.filterwarnings(..., message=".*local_dir_use_symlinks.*")— filtrage ciblé par message, pas unignore-allqui masquerait d'autres warnings. C'est la bonne granularité pour un UserWarning de dépréciation non-actionnable dont l'en-tête embarque le chemin du module. - Une seule cellule source modifiée (cell-5) + Parameters restaurée byte-identique après l'injection papermill — le diff cellule-à-cellule est la bonne preuve, et elle est donnée.
- Re-exécution réelle : timestamps 2026-09-02T12:59Z,
execution_count1..2 visibles sur les cellules modifiées, génération vidéo AnimateDiff réelle sur GPU (pas de sortie statique). - Security scan : les 2 matches
HF_TOKENsont des warnings de librairie huggingface_hub dans les outputs (Classe 1 du false-positive tri) — 0 valeur littérale, 0 assignment.PASSWORD|SECRET|API_KEY: 0 match.
1 observation (non bloquante) : la restauration byte-identique de la cellule Parameters est vérifiée par l'auteur via diff vs origin/main — je n'ai pas re-vérifié ce point indépendamment (diff vs main à travers le PR-diff rend l'opération coûteuse) ; le scanner canonique --nonpii 0 défaut couvre le résultat.
Bonne hygiène : zéro édition de sortie à la main, causes nommées, résiduel #14200 documenté (Lean PARK po-2023, FLUX-1 laissé libre).
|
Solution-leak HIGH delta (advisory #8053) — analyse ecrite : les 2 HIGH sont un artefact de staleness, pas des fuites introduites par cette PR. Update-branch effectue. Verifie firsthand en local (audit_solution_leaks sur origin/main vs branche + solution_leak_delta) : le delta listait 2 nouveaux HIGH sur ICT-15e-Bridge2 ( Cause : la branche portait l'etat ANCIEN de ces notebooks. Main les a enrichis depuis (App-7-Wordle : 8 lectures ancrees #14009 ; ICT-15e : densite #14350) — le diff two-dot montrait 68/107 lignes d'enrichissement presentes sur main et absentes de la branche. Dans l'etat ancien, le detecteur classe encore ces fonctions en HIGH sous marqueur Exercice ; sur main (etat enrichi), non. Les findings n'ont donc ete introduits par personne : ils sont l'ombre d'un retard de branche. Geste : |
…EAN 1..13 Le run precedent n'avait execute que la cellule injected-parameters dans un kernel frais (ec=1 doublonne la native non re-executee) -> Exec-sequence ratchet CLEAN->DUPLICATE. Re-exec papermill complete in-order (25/25 cellules, 3:12, GPU RTX 3090, BATCH_MODE True) : native parameters ec=1, injected ec=2, sequence 1..13 = etat CLEAN de main. 0 erreur, 42 outputs reels, aucun chemin machine dans les sorties (filtre hf_hub conserve). Co-Authored-By: Claude-Code <noreply@anthropic.com>
|
Re-exec complete — Exec-sequence ratchet réparable par exécution, pas par métadonnée (dispatch ai-01 msg-20260902T222146). Cause mesurée : le run précédent (350f340) n'avait exécuté que la cellule Geste : papermill complet in-order sur GPU RTX 3090 (kernel python3, 25/25 cellules, 3:12, Preuves :
|
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] — #14316 follow-up sur le delta 92b5a70e (depuis ma vérification du 350f3408 à 13:31Z). Le problème de ratchet identifié dans le message de commit (état DUPLICATE : ec=1 doublonné par la native non ré-exécutée) est résolu :
- Séquence
execution_count= 1..13 strictement croissante sur les 13 cellules code (25 cellules totales) — plus aucun doublon, état CLEAN confirmé au head. - 42 outputs réels, 0 output
error, aucunexecution_countnull — ré-exécution authentique (timestamps kernel 2026-09-03T00:56Z, cohérents avec le run 3:12 annoncé). - Scan leak au head : 0 hit — aucun chemin absolu (
[A-Z]:\Dev,\Users,/home/,site-packages\huggingface_hub) dans l'ensemble des sorties commitées. Le défaut d'origine (output_text_abs_path_nonpiicells[4]) est bien éteint. - Filtre ciblé vérifié (cell 8) :
warnings.filterwarnings(message=".*local_dir_use_symlinks.*")— matching par message, pas de suppression globale, commenté règle 6 secrets-hygiene. Conforme au geste annoncé. - Nit d'observation : la sortie de la cellule 3 ne contient pas la ligne
.env charge depuis: ...(le print est conditionné àenv_path.exists(), faux sur la machine de re-run BATCH_MODE) — comportement honnête, pas un défaut, juste un delta visible vs l'ancienne sortie.
Prior concern closed, rien de nouveau bloquant. (contrainte token : COMMENT only)
Grain: MED/notebook-python -- lane myia-po-2023:CoursIA -- prev: MED/notebook-python #14312
Summary
Tranche famille GenAI/Video de #14200 (Stop & Repair — classe #6342 vivante) :
01-5-AnimateDiff-Introduction.ipynbportait un chemin machine dans une sortie commitée détecté par le scanner canonique (detect_papermill_path_leak.py --nonpii→ 1 défautoutput_text_abs_path_nonpii, cells[4].outputs[1] :d:\Dev\CoursIA\MyIA.AI.Notebooks\GenAI\.env).Deux causes nommées, zéro édition de sortie à la main (règle 6 secrets-hygiene) :
.env charge depuis: {env_path.name}(basename) — la sortie commitée datait d'un run antérieur qui imprimait{env_path}. Fix = ré-exécution réelle de la cellule.huggingface_hubémet un UserWarning de deprecation (local_dir_use_symlinks) dont l'en-tête embarque le chemin machine du module (...\site-packages\huggingface_hub\utils\_validators.py:205). Non-actionnable (l'option est ignorée parhf_hub_downloaddepuis les versions récentes) et inhérent à l'import lib : filter ciblé par message en tête de cellule (warnings.filterwarnings, pas de suppression globale), documenté en commentaire — jamais d'édition de l'output.Geste
--cwd= dossier notebook, GPU RTX 3090 po-2023) : 13/13 cellules code, 0 erreur,execution_countnon nulsmetadata.papermill.input/output_path= basename--nonpii0 défaut,--outputs0 défautBATCH_MODEa été restaurée byte-identique (papermill-pl'avait injectée en chaîne) — vérifié par diff de source cellule-à-cellule vsorigin/mainTest plan
detect_papermill_path_leak.py --scan <nb> --nonpii: 0 défaut (avant : 1)detect_papermill_path_leak.py --scan <nb> --outputs: 0 défautnotebook_tools.py validate: OK, 0 erreurraise NotImplementedError/assert False; 13/13execution_countnon nulsRésiduel #14200
Lean-1-Setup) : PARK sur po-2023 (stop user 2026-08-30 — aucune commande WSL ; le notebook installe/teste un kernel Lean4-WSL, cells 17/19)02-2-FLUX-1, cause C — path build pytorch dans un UserWarningexpandable_segments, non nommé ici) : laissé libre (claim paths: précis requis par l'issue)See #14200