Skip to content

H06 (P0, vivant sur main) -- le README Image prescrit COMFYUI_BEARER_TOKEN, que zero ligne de code ne lit #15290

Description

@myia-ai-01

Finding H06 de la passe d'audit externe du 2026-09-08 (Audit-CoursIA-Digestion-GenAI-2026-09-08.md), P0. Le bilan de digestion de ce rapport le classe non intégré ; re-vérifié firsthand le 2026-09-09 sur main = 58b92cc26 : le défaut est vivant.

Défaut 1 — le README enseigne un nom de variable que rien ne lit

MyIA.AI.Notebooks/GenAI/Image/README.md dit deux fois à l'étudiant de configurer et de vérifier COMFYUI_BEARER_TOKEN :

  • :171 — # OPENAI_API_KEY et COMFYUI_BEARER_TOKEN sont configurés via .secrets/master.env
  • :266 — cat MyIA.AI.Notebooks/GenAI/.env | grep COMFYUI_BEARER_TOKEN

Mesure du code réel, sur tout MyIA.AI.Notebooks/GenAI/ (*.py et *.ipynb) :

Variable Occurrences dans le code
COMFYUI_API_TOKEN 31
COMFYUI_VIDEO_TOKEN 16
COMFYUI_TOKEN 15
COMFYUI_AUTH_TOKEN 14
COMFYUI_BEARER_TOKEN 0

Le nom que le README prescrit n'est lu par aucune ligne de code. Le grep du point :266 — que l'étudiant lance pour se rassurer — rend le vide, et ce vide est indiscernable d'un secret non configuré. Le gabarit .env.example définit d'ailleurs COMFYUI_API_TOKEN (:67) et COMFYUI_AUTH_TOKEN (:69), soit deux noms de plus, et toujours pas celui du README.

Défaut 2 — le gabarit renvoie deux fois à un notebook qui n'existe pas

MyIA.AI.Notebooks/GenAI/.env.example :

  • :22 — « Suivre le notebook 00-2-Local-Docker-Deployment.ipynb »
  • :40 — « Voir notebook 00-2-Local-Docker-Deployment.ipynb »

find MyIA.AI.Notebooks/GenAI -name "00-2-Local-Docker-Deployment*" rend zéro résultat. Les deux renvois de la procédure de configuration pointent vers rien.

Pourquoi c'est P0

C'est la porte d'entrée de la série Images, et la série Images est une catégorie du catalogue étudiant (catégorie C). Un groupe qui prend un sujet image suit ce README dans les jours qui viennent. Les deux défauts produisent la même expérience : la procédure semble suivie, et rien ne marche, sans message d'erreur qui désigne la cause.

Acceptance (falsifiable)

  1. Établir le nom canonique avant de corriger : lequel des quatre le code doit-il lire ? La mesure ci-dessus dit COMFYUI_API_TOKEN (31 occurrences), mais 14 sites lisent COMFYUI_AUTH_TOKEN et 15 COMFYUI_TOKEN — un alignement du README seul laisserait le code incohérent avec lui-même. Nommer la cible, et dire ce qu'on fait des autres.
  2. Le README et .env.example nomment la même variable que le code lit. grep -c COMFYUI_BEARER_TOKEN sur le dépôt rend 0.
  3. Les deux renvois vers 00-2-Local-Docker-Deployment.ipynb pointent un fichier existant, ou sont remplacés par la procédure réelle. check_docs_links.py est l'organe naturel — vérifier au passage pourquoi il n'a pas rougi sur un lien vers un notebook absent (s'il ne balaye pas les .env.example, c'est un trou nommable).
  4. Aucune valeur de secret dans le diff, .env.example reste un gabarit.

Le point 1 est le vrai travail : les points 2-3 sont mécaniques une fois la cible tranchée. Ne pas renommer les 31 sites sans avoir dit pourquoi.

Activity

  1. myia-ai-01 commented on Sep 9, 2026

    @myia-ai-01
    CollaboratorAuthor

    [CLAIMED] lane myia-po-2025:CoursIA -- trancher le nom canonique du token ComfyUI puis aligner README et gabarit -- paths: MyIA.AI.Notebooks/GenAI/Image/**, MyIA.AI.Notebooks/GenAI/.env.example

  2. jsboige commented on Sep 9, 2026

    @jsboige
    Owner

    [CLAIMED-AMEND] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Image/**, MyIA.AI.Notebooks/GenAI/.env.example, scripts/genai-stack/core/auth_manager.py

  3. jsboige commented on Sep 9, 2026

    @jsboige
    Owner

    [CLAIMED-AMEND] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Image/**, MyIA.AI.Notebooks/GenAI/.env.example, scripts/genai-stack/core/auth_manager.py, scripts/genai-stack/tests/test_genai_stack_pure.py

  4. added a commit that references this issue on Sep 9, 2026
  5. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    and removed
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 10, 2026
  6. jsboige commented on Sep 12, 2026

    @jsboige
    Owner

    [CLAIMED] lane myia-po-2024:CoursIA -- residuel H06 non suivi ni par #15307 ni par #15673 : aligner 00-GenAI-Environment/README.md (L41, L55) et Audio/README.md (L288) sur COMFYUI_API_TOKEN, decision canonique #15307 -- paths: MyIA.AI.Notebooks/GenAI/00-GenAI-Environment/README.md, MyIA.AI.Notebooks/GenAI/Audio/README.md

  7. jsboige commented on Sep 12, 2026

    @jsboige
    Owner

    [DELIVERED] lane myia-po-2024:CoursIA — PR #15811

    Residuel H06 non suivi — deux sites omis par l'enumeration des residus de #15307 et par #15673 : 00-GenAI-Environment/README.md (L41 table prerequis + L55 bloc FAQ .env) et Audio/README.md (L288 grep de depannage) prescrivaient encore COMFYUI_BEARER_TOKEN, lu par zero ligne de code. Alignes sur la decision canonique #15307 (COMFYUI_API_TOKEN maitre + COMFYUI_AUTH_TOKEN alias synchronise), meme motif que le README Image. Preuves : grep = 0/0 sur les deux fichiers ; check_docs_links.py : 0 regression introduite. Le lecteur fallback legacy du notebook Video 03-3 reste hors grain, comme #15307 l'a explicitement laisse. Je ne ferme pas l'issue (regle worker).

  8. added a commit that references this issue on Sep 12, 2026
  9. added a commit that references this issue on Sep 12, 2026
  10. jsboige commented on Sep 14, 2026

    @jsboige
    Owner

    [RELEASED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/GenAI/Image/**, MyIA.AI.Notebooks/GenAI/.env.example, scripts/genai-stack/core/auth_manager.py, scripts/genai-stack/tests/test_genai_stack_pure.py

    Notre tranche est livrée sur main par PR #15307 (merge commit 7a00591) : canon COMFYUI_API_TOKEN, alias COMFYUI_AUTH_TOKEN, renvois du gabarit corrigés et tests adaptés. Les résidus ultérieurs sont disjoints : #15811 est mergée sur Environment/Audio et #15730 appartient à myia-po-2023:CoursIA sur le README racine. Libération du verrou historique uniquement ; aucune fermeture de l’issue revendiquée.

  11. added a commit that references this issue on Sep 15, 2026
  12. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 15, 2026
  13. jsboige commented on Sep 18, 2026

    @jsboige
    Owner

    [ADJOINT CLOSE] Adjugée CLOSE_WITH_FOLLOWUP — campagne de consolidation du 2026-09-18 (mandat ai-01 2026-09-18T03:12Z, fermeture déléguée, fille ouverte AVANT fermeture).

    Canon livré et vérifié :

    Acceptance « grep rend 0 » non tenue littéralement : ~28 occurrences vivantes de COMFYUI_BEARER_TOKEN restent hors archive → fille #16647 (sweep avec arbitrage par domaine : prescription morte à corriger vs variable légitime compose/secrets — bearer bcrypt ComfyUI-Login, cf docs/genai/secrets-management.md:70-83 ; fichiers nommés : .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, lecteur fallback legacy Video 03-3, translations/genai/video.csv).

    Réouvrir en citant le critère manquant si contestation.

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

    auditAutomated quality audit findingscandidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions