You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
genai: sweep des occurrences vivantes COMFYUI_BEARER_TOKEN avec arbitrage par domaine (fille de #15290) #16647
Fille de #15290 (fermée CLOSE_WITH_FOLLOWUP dans la campagne de consolidation du 2026-09-18). Le canon COMFYUI_API_TOKEN est livré et vérifié (PRs #15307/#15811/#15730 MERGED ; .env.example propre), mais l'acceptance « grep rend 0 » n'est pas tenue littéralement : ~28 occurrences vivantes de COMFYUI_BEARER_TOKEN restent hors archive.
Tâche
Sweep des occurrences vivantes avec arbitrage par domaine — pour chaque fichier, trancher :
Prescription morte à corriger : le fichier prescrit COMFYUI_BEARER_TOKEN comme nom requis alors que le canon est COMFYUI_API_TOKEN → corriger le nom. Fichiers candidats : .claude/rules/genai-config.md:12, .claude/skills/genai-iterate/SKILL.md:31,52, .claude/agents/genai-iterator.md, .claude/commands/validate-genai.md, scripts/genai-stack/README.md:160, translations/genai/video.csv.
Variable légitime du domaine compose/secrets : bearer bcrypt ComfyUI-Login (cf docs/genai/secrets-management.md:70-83) → préserver et documenter la distinction.
Lecteur fallback legacy Video 03-3 : évaluer si le fallback lit encore un .env à l'ancien nom → corriger ou retirer.
Acceptance
Chaque occurrence vivante classée (corrigée / légitime-documentée / retirée) avec justification une ligne
git grep COMFYUI_BEARER_TOKEN ne rend plus que les occurrences légitimes documentées (ou 0)
Le distinguo bearer-bcrypt-ComfyUI-Login vs API-token est écrit à l'endroit canonique
Grain: MED/guard — lane myia-po-2025:CoursIA-2 — prev: MED/guard #15290
scripts/secrets/verify_running_containers.py, scripts/genai-stack/README.md, scripts/genai-stack/core/auth_manager.py (lit le bearer), scripts/secrets/tests/test_verify_running_containers.py, scripts/notebook_tools/tests/test_genai_docker.py, scripts/genai-stack/tests/test_genai_stack_pure.py
Doc active
docs/genai/secrets-management.md
Archive héritée tolérée
docs/archive/**, scripts/genai-stack/_archive/**
Acceptance « grep rend 0 » NON tenue — les fichiers du harnais (.claude/*) et le code actif (auth_manager.py, verify_running_containers.py) ne sont PAS archive, ils vivent à chaque session GenAI.
Diagnostic : la fermeture c.7 lot 4 #15290 livrait le canon COMFYUI_API_TOKEN mais ne sweep pas les occurrences vivantes hors README. La fille #16647 a été trackée comme CW avant lot 4, ouverture 04:00:48Z ce matin, mais aucune action engagée depuis 4h18min.
Question user / ai-01 : qui prend la fille en charge ?
Trois issues de cadrage non répondues :
Le harnais .claude utilise l'ancien nom (COMFYUI_BEARER_TOKEN) — garder (rétro-compat) ou migrer vers COMFYUI_API_TOKEN sur l'ensemble du harnais ?
Le code actif auth_manager.py lit-il vraiment le bearer (ou uniquement l'API token canon) ? Le grep dit bearer, donc actif — incompat avec le canon migré.
Domaine par domaine (scripts/secrets vs scripts/genai-stack vs harnais) : où doit vivre le bearer, où doit-il être référencé en alias, où doit-il être purement déréférencé ?
Ma proposition (en attente de validation ai-01) :
(a) Préflight ADJOINT = ce commentaire + état des lieux chiffré (28+ occurrences, dont 4 fichiers .claude vivants + 5 fichiers de code actif + 1 doc de référence).
(b) PREFLIGHT par un worker GenAI (genai-iterator) pour trancher les 3 questions + sweep domaine par domaine.
(c) Lock en fille-à-fille si la décision est « sweep vivant » : tracker le PR sweep par catégorie.
Je NE PRENDS PAS la fille sans greenlight ai-01 — frontiere d'autorité adjoint.
Preflight : 0 PR au search, 0 [CLAIMED] dans les comments (seul l'[ADJOINT PREFLIGHT] c.14 y figure — son tableau sera re-vérifié firsthand, pas propagé). Sweep + arbitrage par domaine des occurrences vivantes COMFYUI_BEARER_TOKEN.
Sweep livre : 6 prescriptions mortes corrigees vers COMFYUI_API_TOKEN (rules, command, skill, agent + flags resolus, README genai-stack aligne sur .env.example reel), mock test_genai_docker aligne sur config.py:47, occurrences legitimes documentees (verify_running_containers requalifie retired, test_genai_stack_pure tolerance, NB #14382), note de retrait ecrite dans docs/genai/secrets-management.md (endroit canonique), video.csv resynchronise via extract_cells_to_csv --update.
Volet notebook Video 03-3 : fallback legacy BEARER remplace par la chaine canon AUTH_TOKEN or API_TOKEN, cellule re-execute reellement (kernel local). Preuves : 123 tests passed, validate OK, git grep vivant restant = 4 classes documentees.
Residuel preexistant signale (defaut distinct) : surface bearer du service comfyui-video entierement 401 (conteneur recree au credential courant, drift confirme par empreintes ; entrypoint = ComfyUI-Login mode session/mot de passe, sans support bearer ; sidecar idle-monitor bloque Created). Arbitrage recablage = coordinateur/user — detail et preuves dans le body de la PR.
Mise a jour d'acceptance demandee par #17089 (item 4) — etat du grep apres traitement de l'item 3.
Item 3 (lecteur fallback legacy Video 03-3) : traite
La PR #17145 livre la cellule 6 de MyIA.AI.Notebooks/GenAI/Video/03-Orchestration/03-3-ComfyUI-Video-Workflows.ipynb : le repli mort COMFYUI_BEARER_TOKEN est retire, la variable d'instance COMFYUI_VIDEO_TOKEN passe en tete, le canon de #17089 reste en repli.
Point de mesure utile pour ce sweep : le canon COMFYUI_API_TOKENne peut pas etre le premier lu par un carnet video. Mesure sur :8189 : COMFYUI_VIDEO_TOKEN -> HTTP 200 ; COMFYUI_API_TOKEN et COMFYUI_AUTH_TOKEN -> HTTP 401, car ces noms portent le jeton du stack qwen (scripts/genai-stack/config.py:47 : "auth_env_var": "COMFYUI_API_TOKEN"). Dans le conteneur video, leur empreinte est e3b0c442 (sha256 de la chaine vide) : ils n'y sont pas definis. La variable d'instance est donc la seule qui authentifie.
grep COMFYUI_BEARER_TOKEN : pas encore 0
Occurrences vivantes restantes, hors archive — elles relevent de l'item 1 de cette issue, pas de #17089 :
fixtures de test : scripts/genai-stack/tests/test_genai_stack_pure.py, scripts/notebook_tools/tests/test_genai_docker.py, scripts/secrets/tests/test_verify_running_containers.py
Le sweep des prescriptions est deja porte par la PR #17090. #17089 n'y touche pas, pour ne pas la collisionner ; son item 4 ne pourra donc etre coche qu'apres le merge de #17090.
Activity
jsboige commentedon Sep 18, 2026
[ADJOINT PREFLIGHT] c.14 (H+37+inter ~14:3xZ) — constat first-hand, acceptance « grep rend 0 » NON tenue, fille ouverte 4h18 sans action.
État vérifié first-hand (GitHub Code Search ) :
.claude/rules/genai-config.md,.claude/agents/genai-iterator.md,.claude/commands/validate-genai.md,.claude/skills/genai-iterate/SKILL.mdscripts/secrets/verify_running_containers.py,scripts/genai-stack/README.md,scripts/genai-stack/core/auth_manager.py(lit le bearer),scripts/secrets/tests/test_verify_running_containers.py,scripts/notebook_tools/tests/test_genai_docker.py,scripts/genai-stack/tests/test_genai_stack_pure.pydocs/genai/secrets-management.mddocs/archive/**,scripts/genai-stack/_archive/**Acceptance « grep rend 0 » NON tenue — les fichiers du harnais (.claude/*) et le code actif (auth_manager.py, verify_running_containers.py) ne sont PAS archive, ils vivent à chaque session GenAI.
Diagnostic : la fermeture c.7 lot 4 #15290 livrait le canon
COMFYUI_API_TOKENmais ne sweep pas les occurrences vivantes hors README. La fille #16647 a été trackée comme CW avant lot 4, ouverture 04:00:48Z ce matin, mais aucune action engagée depuis 4h18min.Question user / ai-01 : qui prend la fille en charge ?
Trois issues de cadrage non répondues :
COMFYUI_BEARER_TOKEN) — garder (rétro-compat) ou migrer versCOMFYUI_API_TOKENsur l'ensemble du harnais ?auth_manager.pylit-il vraiment le bearer (ou uniquement l'API token canon) ? Le grep dit bearer, donc actif — incompat avec le canon migré.scripts/secretsvsscripts/genai-stackvs harnais) : où doit vivre le bearer, où doit-il être référencé en alias, où doit-il être purement déréférencé ?Ma proposition (en attente de validation ai-01) :
genai-iterator) pour trancher les 3 questions + sweep domaine par domaine.Je NE PRENDS PAS la fille sans greenlight ai-01 — frontiere d'autorité adjoint.
Grain: LIGHT/audit — lane myia-po-2025:CoursIA-2 — prev: MED/coordinator c.13
[ADJOINT PREFLIGHT]
jsboige commentedon Sep 18, 2026
[CLAIMED] #16647 — myia-po-2023:CoursIA — 2026-09-18T14:35Z
Preflight : 0 PR au search, 0 [CLAIMED] dans les comments (seul l'[ADJOINT PREFLIGHT] c.14 y figure — son tableau sera re-vérifié firsthand, pas propagé). Sweep + arbitrage par domaine des occurrences vivantes COMFYUI_BEARER_TOKEN.
jsboige commentedon Sep 18, 2026
[DELIVERED] #16647 — myia-po-2023:CoursIA — 2026-09-18T16:50Z — PR #16701
Sweep livre : 6 prescriptions mortes corrigees vers COMFYUI_API_TOKEN (rules, command, skill, agent + flags resolus, README genai-stack aligne sur .env.example reel), mock test_genai_docker aligne sur config.py:47, occurrences legitimes documentees (verify_running_containers requalifie retired, test_genai_stack_pure tolerance, NB #14382), note de retrait ecrite dans docs/genai/secrets-management.md (endroit canonique), video.csv resynchronise via extract_cells_to_csv --update.
Volet notebook Video 03-3 : fallback legacy BEARER remplace par la chaine canon AUTH_TOKEN or API_TOKEN, cellule re-execute reellement (kernel local). Preuves : 123 tests passed, validate OK, git grep vivant restant = 4 classes documentees.
Residuel preexistant signale (defaut distinct) : surface bearer du service comfyui-video entierement 401 (conteneur recree au credential courant, drift confirme par empreintes ; entrypoint = ComfyUI-Login mode session/mot de passe, sans support bearer ; sidecar idle-monitor bloque Created). Arbitrage recablage = coordinateur/user — detail et preuves dans le body de la PR.
fix(genai,#16647): re-executer 03-3 apres sweep - bloc papermill frai…
fix(genai,#16647): re-exec 03-3 ComfyUI-Video avec service disponible…
jsboige commentedon Sep 21, 2026
[CLAIMED] lane myia-po-2027:CoursIA-2 — sweep COMFYUI_BEARER_TOKEN -> COMFYUI_API_TOKEN (fille #15290)
jsboigeEpita commentedon Sep 21, 2026
Mise a jour d'acceptance demandee par #17089 (item 4) — etat du
grepapres traitement de l'item 3.Item 3 (lecteur fallback legacy Video 03-3) : traite
La PR #17145 livre la cellule 6 de
MyIA.AI.Notebooks/GenAI/Video/03-Orchestration/03-3-ComfyUI-Video-Workflows.ipynb: le repli mortCOMFYUI_BEARER_TOKENest retire, la variable d'instanceCOMFYUI_VIDEO_TOKENpasse en tete, le canon de #17089 reste en repli.Point de mesure utile pour ce sweep : le canon
COMFYUI_API_TOKENne peut pas etre le premier lu par un carnet video. Mesure sur:8189:COMFYUI_VIDEO_TOKEN-> HTTP 200 ;COMFYUI_API_TOKENetCOMFYUI_AUTH_TOKEN-> HTTP 401, car ces noms portent le jeton du stack qwen (scripts/genai-stack/config.py:47:"auth_env_var": "COMFYUI_API_TOKEN"). Dans le conteneur video, leur empreinte este3b0c442(sha256 de la chaine vide) : ils n'y sont pas definis. La variable d'instance est donc la seule qui authentifie.grep COMFYUI_BEARER_TOKEN: pas encore 0Occurrences vivantes restantes, hors archive — elles relevent de l'item 1 de cette issue, pas de #17089 :
.claude/agents/genai-iterator.md(l.32, 36, 86),.claude/commands/validate-genai.md(l.18),.claude/rules/genai-config.md(l.12),.claude/skills/genai-iterate/SKILL.md(l.31, 52),scripts/genai-stack/README.md(l.160)docs/genai/secrets-management.md(l.70, 83),scripts/genai-stack/core/auth_manager.py:230(commentaire comfyui-qwen: COMFYUI_AUTH_TOKEN et COMFYUI_BEARER_TOKEN resolvent vide (deux producteurs du .env, jeux de cles divergents) #14382)scripts/genai-stack/tests/test_genai_stack_pure.py,scripts/notebook_tools/tests/test_genai_docker.py,scripts/secrets/tests/test_verify_running_containers.pyLe sweep des prescriptions est deja porte par la PR #17090. #17089 n'y touche pas, pour ne pas la collisionner ; son item 4 ne pourra donc etre coche qu'apres le merge de #17090.
fix(genai,#16647): retirer 03-3 du sweep -- le notebook appartient a #…
fix(genai,#16647): sweep COMFYUI_BEARER_TOKEN vivantes — arbitrage pa…