Skip to content

genai: sweep des occurrences vivantes COMFYUI_BEARER_TOKEN avec arbitrage par domaine (fille de #15290) #16647

Closed

Description

@jsboige

Contexte

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 :

  1. 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.
  2. 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.
  3. 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

Activity

  1. jsboige commented on Sep 18, 2026

    @jsboige
    OwnerAuthor

    [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 ) :

    Catégorie Fichiers
    Harnais vivant (chaque session) .claude/rules/genai-config.md, .claude/agents/genai-iterator.md, .claude/commands/validate-genai.md, .claude/skills/genai-iterate/SKILL.md
    Code actif non archive 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 :

    1. 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 ?
    2. 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é.
    3. 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.

    Grain: LIGHT/audit — lane myia-po-2025:CoursIA-2 — prev: MED/coordinator c.13
    [ADJOINT PREFLIGHT]

  2. jsboige commented on Sep 18, 2026

    @jsboige
    OwnerAuthor

    [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.

  3. jsboige commented on Sep 18, 2026

    @jsboige
    OwnerAuthor

    [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.

  4. added 2 commits that reference this issue on Sep 18, 2026
  5. jsboige commented on Sep 21, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2027:CoursIA-2 — sweep COMFYUI_BEARER_TOKEN -> COMFYUI_API_TOKEN (fille #15290)

  6. jsboigeEpita commented on Sep 21, 2026

    @jsboigeEpita
    Contributor

    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_TOKEN ne 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 :

    • prescriptions a corriger : .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)
    • occurrences legitimes a documenter (item 2) : 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)
    • 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.

  7. added a commit that references this issue on Sep 21, 2026
  8. added a commit that references this issue on Sep 23, 2026
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