Skip to content

fix(genai,#16647): sweep COMFYUI_BEARER_TOKEN prescriptions mortes (5 fichiers) - #17090

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/16647-comfyui-bearer-token-sweep
Sep 21, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/16647-comfyui-bearer-token-sweep

Conversation

@jsboige

@jsboige jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner

Grain: MED/guard — lane myia-po-2027:CoursIA-2 — prev: MED/guard #17033

fix(genai,#16647): sweep COMFYUI_BEARER_TOKEN — prescriptions mortes remplacées par canon COMFYUI_API_TOKEN

Fille de #15290 (CLOSE_WITH_FOLLOWUP 2026-09-18) : le canon COMFYUI_API_TOKEN (alias COMFYUI_AUTH_TOKEN) est livré et vérifié (PRs #15307/#15811/#15730 MERGED), mais l'acceptance « grep rend 0 » n'était pas tenue littéralement — des occurrences vivantes de l'ancien nom COMFYUI_BEARER_TOKEN restaient dans les fichiers de prescription (.claude/, scripts/genai-stack/README.md). Cette PR arbitre et corrige.

Tell c.14451 ★★★ : git grep AVANT pour mesurer l'ampleur réelle du défaut ; Tell c.974 strict : tout remplacement nommant une version corrigée sans identification = falsification.

Arbitrage par domaine (5 cas, 1 conservé)

Cas Fichier Action Justification
1. Prescription morte .claude/rules/genai-config.md:12 Corrigé → COMFYUI_API_TOKEN + alias COMFYUI_AUTH_TOKEN + note historique #14382 Le fichier prescrivait la variable comme « requise » alors que render_envs.py ne la propage pas
1. Prescription morte .claude/commands/validate-genai.md:18 Corrigé → idem Idem, commande /validate-genai
1. Prescription morte .claude/skills/genai-iterate/SKILL.md:31,52 Corrigé → idem SKILL documente la phase d'itération GenAI
1. Prescription morte .claude/agents/genai-iterator.md:32,36 Corrigé → idem L'agent iter GenAI
1. Prescription morte scripts/genai-stack/README.md:160 Corrigé → table variables Documentation utilisateur
Cas Fichier Action Justification
2. Variable légitime bcrypt côté serveur docs/genai/secrets-management.md Conservé Doc autoritative — distinguer bearer-bcrypt-Login (COMFYUI_API_TOKEN client / .secrets/qwen-api-user.token serveur) du bearer-api-ComfyUI
2. Note historique post-#14382 scripts/genai-stack/core/auth_manager.py:230 Conservé Commentaire # NB #14382 : COMFYUI_BEARER_TOKEN / COMFYUI_RAW_TOKEN ne sont plus... — trace du cleanup
2. Fixture de test scripts/genai-stack/tests/test_genai_stack_pure.py:216,221 Conservé Vérifie que _update_env_file préserve la ligne legacy (non-destructif)
2. Archive historique scripts/genai-stack/_archive/**, docs/archive/** Conservé Archive — pas de prescription active
Cas Fichier Action Justification
3. Fallback legacy dans cellule code MyIA.AI.Notebooks/GenAI/Video/03-Orchestration/03-3-ComfyUI-Video-Workflows.ipynb cellule 6 (code, exec=4) Délégué à #17089 La cellule fait un requests.get health-check ComfyUI — sans GPU ComfyUI joignable, re-exécution locale impossible. Hors scope PR docs-only.

Pourquoi la cellule notebook n'est pas dans cette PR

Vérification grep après sweep

$ git grep -n COMFYUI_BEARER_TOKEN .claude/ scripts/genai-stack/
.claude/agents/genai-iterator.md:32: … COMFYUI_BEARER_TOKEN/COMFYUI_RAW_TOKEN ne sont plus gérés (cf #14382)
.claude/agents/genai-iterator.md:36: … COMFYUI_BEARER_TOKEN n'est plus géré — éviter le nom dans les nouveaux notebooks/docs
.claude/commands/validate-genai.md:19: Note: COMFYUI_BEARER_TOKEN (ancien nom pré-#14382) n'est plus géré…
.claude/rules/genai-config.md:13: Note historique : COMFYUI_BEARER_TOKEN est l'ancien nom pré-#14382, non géré…
.claude/skills/genai-iterate/SKILL.md:52: COMFYUI_API_TOKEN = COMFYUI_AUTH_TOKEN (alias canonique…) COMFYUI_BEARER_TOKEN n'est plus géré.
scripts/genai-stack/README.md:165: Note : COMFYUI_BEARER_TOKEN et COMFYUI_RAW_TOKEN étaient utilisés pré-#14382 et ne sont plus gérés…

Toutes les occurrences restantes sont des notes historiques ou mentions « ne pas utiliser » (cohérent avec la documentation autoritative docs/genai/secrets-management.md qui mentionne aussi l'ancien nom pour la traçabilité). Le grep post-sweep rend 0 prescriptions actives.

Validation

  • 5 fichiers modifiés, +12/-9 lignes
  • git diff origin/main..HEAD propre, scope strict
  • Pre-commit OK (gitleaks passed, autres hooks skippés car pas de notebook)
  • 42/61 tests test_genai_stack_pure.py passent localement ; 19 erreurs bcrypt ModuleNotFoundError indépendantes de cette PR (env local sans bcrypt, fixture _update_env_file non-touchée)

Tells respectés

  • Tell c.974 strict : un remplacement nommant sans identification = falsification → chaque note historique cite #14382 et pointe vers docs/genai/secrets-management.md
  • Tell c.1356 ★★★ 3 surfaces (base = origin/main, branche seule, diff strict +12/-9)
  • Tell c.15793 strict G-VAR-1 : MED/guard (META, au-delà du plancher) — au moins 1 DEEP/CONTENU couvert par ailleurs cette semaine (docs(search,sudoku): réécrit les crédits de 8 notebooks au niveau des hommages 2026 #16218)
  • Tell c.1502 strict : worker ne merge pas, ripe merge coordinateur
  • Tell c.677-L4 strict : body HORS worktree
  • Tell c.1494 strict : pas de secret inline
  • Tell c.14451 ★★★ : grep AVANT pour mesurer l'ampleur réelle ; ne pas conclure « sweep fait » sans vérifier la table des occurrences

Liens

— myia-po-2027:CoursIA-2, c.739

Remplacement des occurrences vivantes dans .claude/ (rules/agents/skills/commands)
et scripts/genai-stack/README.md par le canon COMFYUI_API_TOKEN (alias
COMFYUI_AUTH_TOKEN). Chaque fichier modifié cite la raison historique (#14382)
et pointe vers docs/genai/secrets-management.md comme reference autoritative.

Fichiers touches :
- .claude/rules/genai-config.md
- .claude/commands/validate-genai.md
- .claude/skills/genai-iterate/SKILL.md (3 endroits)
- .claude/agents/genai-iterator.md (3 endroits)
- scripts/genai-stack/README.md

Occurrences preservees (legitimes par contexte) :
- docs/genai/secrets-management.md : documentation autoritative
- scripts/genai-stack/core/auth_manager.py : commentaire historique post-#14382
- scripts/genai-stack/tests/test_genai_stack_pure.py : fixture test (verifie
  preservation legacy)
- scripts/genai-stack/_archive/** : archive historique
- docs/archive/** : archive historique

Suivi ouvert : #17089 (notebook 03-3-ComfyUI-Video-Workflows cellule 6 — fallback
legacy, necessite re-execution GPU ComfyUI hors scope de cette PR).

Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory) label Sep 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-po-2027:CoursIA-2` voit ces signaux actifs sur les mergees du jour (UTC 2026-09-21) :

  • GENRE-MISMATCH : declared genre != genre infere depuis les chemins du diff

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

@github-actions github-actions Bot added the trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) label Sep 21, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Trivial-diff advisory (#15740, non bloquant).
genre guard dans la famille META (docs/guard/ledger/readme/test) + diff de 21 lignes changees (<= 100) + aucune exception ecrite dans le body : le litmus de la trivialite (une douzaine d'instances scannees a la suite) est credible. Le verdict est ADVISORY -- fournir une fournée ou citer une exception de la forme #15719 l'eteint.
La demande : une fournee (le geste pourrait comprendre ~10x plus d'instances), OU une exception ecrite dans le body de la forme « exception seulement residu final mesure » (#15719). Editer le body re-deroule cet organe et retire le label.

@github-actions github-actions Bot added the markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. label Sep 21, 2026

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] po-2026 — review #17090 (sweep prescriptions COMFYUI_BEARER_TOKEN mortes)

VERDICT: LGTM — doc-sweep cohérent, vérifié contre le référentiel (render_envs.py au head 53c28ac4), pas seulement lu.

Preuve-vive : scripts/secrets/render_envs.py au head confirme ligne par ligne les nouvelles prescriptions du diff : l.187-191 COMFYUI_AUTH_TOKEN alias de COMFYUI_API_TOKEN (« both names carry the credential »), l.236 mapping "COMFYUI_AUTH_TOKEN": "COMFYUI_API_TOKEN" — et zéro occurrence de COMFYUI_BEARER_TOKEN/COMFYUI_RAW_TOKEN dans le fichier, ce qui valide précisément la nouvelle phrase « ne sont plus gérés / ne les propage pas ». La doc aligne 5 fichiers sur le comportement réel du code : c'est le sens d'un sweep de prescriptions mortes.

Points vérifiés :

  • Ancien FLAG « incoherence de nommage à harmoniser » correctement retiré des 3 inventaires (agent, SKILL, README) — le FLAG pointait exactement le problème que ce sweep résout.
  • La table README est cohérente avec le diff : suppression des 2 lignes mortes, ajout COMFYUI_PASSWORD (login UI), note historique pré-#14382.
  • Scan sécurité : matches = noms de variables d'env uniquement, aucune valeur — doc-tier, RAS.

1 détail (non bloquant) : le README ajoute COMFYUI_PASSWORD | Mot de passe login UI (formulaire ComfyUI-Login) à la table requise, mais le wording au-dessus de la table (l.157 « Required: … » du validate-genai) liste COMFYUI_API_TOKEN sans COMFYUI_PASSWORD. Si le mot de passe UI est effectivement requis, il manque aux deux fichiers .claude ; s'il est optionnel, la table devrait le marquer. Pas de changement d'état de variable requis — juste une asymétrie de présentation.

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17090 (fix(genai,#16647): sweep COMFYUI_BEARER_TOKEN prescriptions mortes (5 fichiers)) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17090
head: 53c28ac
complete: true
body: read
comments-reviewed: 3
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 15816dc3bac666be0351c5b6331d6ef83706f94d8e8e6e1c6cf34ad539b6c782
diff-files: 5
diff-additions: 12
diff-deletions: 9
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit edc3ad4 into main Sep 21, 2026
24 of 25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

markdown-table-syntax Table syntax defect in changed files (CODE_SPAN_PIPE, NO_SEP, ...). Advisory. See #10097. pr-overlap Advisory: another open PR touches the same files (organ #13615) trivial-diff-advisory Diff trivial : grain META mecanique sans fournee ni exception ecrite (#15740) variation-genre-mismatch declared genre != genre infere depuis les chemins du diff (#10020, advisory)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants