Skip to content

DOC

Audit pré-release complet avec Black Emperor

Lancer un audit exhaustif de code, performance et accessibilité avant release

Audit pré-release complet avec Black Emperor

Contexte

Vous êtes prêt à shipper mais vous voulez une garantie : audit complet du code, performance web et accessibilité WCAG 2.1 AA. Black Emperor en mode pre-release lance trois audits en parallèle (code-auditor, perf-auditor, a11y-auditor), consolide les résultats et génère un GO/NO-GO explicite.

Prérequis

  • Projet compilé et testable (npm run build doit fonctionner)
  • Tous les fichiers .md critiques doivent exister : docs/spec.md, docs/todo.md
  • Accès aux outils : gh CLI (GitHub), optionnel mais recommandé
  • État du git propre (pas de changements non stashés) ou acceptez la vérification

Étapes

1. Invoquer Black Emperor en mode pré-release

/ulk:blackemperor mode=release
# ou
pre-release
# ou
/ulk:pre-release

2. Phase 1 : Vérification du contexte

Black Emperor vérifie :

  • L’existence et le format de docs/todo.md
  • L’état du répertoire (git clean ou dirty)
  • La présence des dépendances d’audit

Affichage attendu :

🎬 Black Emperor — Mode PRE-RELEASE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Todo        : ✅ docs/todo.md (Kanban, 47 items)
Git state   : ✅ clean (main, a3f8c2d)
Dependencies: ✅ (code-auditor, perf-auditor, a11y-auditor détectés)

Audit cible : Violations WCAG 2.1 AA + Core Web Vitals + sécurité code
Durée estimée : 90–120 min
Parallélisme : code + perf + a11y simultanément

3. Phase 2 : Audits parallèles

Black Emperor lance trois sous-agents :

Code Auditor :

  • Scan des vulnérabilités (OWASP)
  • Qualité du code (complexity, dead code)
  • Types TypeScript (coverage, any leaks)
  • Patterns potentiellement dangereux

Perf Auditor :

  • Bundle size vs budget cible
  • Core Web Vitals (LCP, INP, CLS)
  • Requests N+1 et lazy loading
  • Temps de réponse API

A11y Auditor :

  • WCAG 2.1 AA criteria (keyboard, aria, color contrast)
  • Automatisé (axe-core) + manuel
  • Critères critiques vs recommandations

Chaque agent retourne un rapport structuré.

4. Phase 3 : Consolidation et scoring

Black Emperor produit une matrice de complétude :

╔════════════════════════════════════════════════════════════╗
║ AUDIT PRE-RELEASE — Résumé Exécutif                       ║
╠════════════════════════════════════════════════════════════╣
║                                                            ║
║ Code Audit              : 8/10  (2 critiques détectées)   ║
║ Performance             : 7/10  (LCP 3.2s → objectif 2.5s)║
║ Accessibility (WCAG AA) : 9/10  (1 contraste insuffisant) ║
║                                                            ║
║ Score global            : 8/10  (Bon, 1 blocker)         ║
║                                                            ║
╠════════════════════════════════════════════════════════════╣
║ GO/NO-GO                : 🟡 CONDITIONAL GO               ║
║ Raison : 2 critiques code (auth bypass risk) à fixer       ║
╚════════════════════════════════════════════════════════════╝

5. Phase 4 : Création des tâches

Black Emperor ajoute automatiquement à docs/todo.md :

  • Todos pour les violations critiques (blocked state)
  • Recommandations pour les améliorations (todo state)
  • Lien vers le rapport détaillé docs/reports/audit-pre-release-YYYYMMDD.md

Exemple de sortie

📊 Rapport d'Audit — pre-release-20260414

Code Security
  ❌ [CRITICAL] SQL injection possible dans lib/db.ts:42
  ❌ [CRITICAL] Exposed API key in env.example
  ⚠️  [WARNING] Unused dependency: lodash (70KB unused)

Performance
  ✅ Bundle size : 145 KB (budget: 200 KB) → OK
  ⚠️  LCP : 3.2 s (target: 2.5 s) → Optimize image loading
  ✅ CLS : 0.08 (target: <0.1) → OK
  ⚠️  INP : 150 ms (target: 200 ms) → borderline

Accessibility (WCAG 2.1 AA)
  ✅ Keyboard navigation
  ✅ Screen reader support
  ⚠️  Color contrast (button-danger): 3.5:1 (target: 4.5:1)
  ✅ Form labels

Go/No-Go Decision
  → 2 CRITICAL fixes required before ship
  → 3 RECOMMENDED improvements (post-release OK)
  → Add 2–3 hours to fix critiques et redéployer

Variantes

  • Variante A : Focus uniquement critiques (Mode Rapide) — Ajoutez --critical-only pour skipper les recommandations et réduire le temps à ~45 min
  • Variante B : Audit sans modification des docs — Ajoutez --no-todo-update si vous voulez les rapports sans modifier docs/todo.md
  • Variante C : Comparaison pré/post (Regression Testing) — Si un audit antérieur existe, Black Emperor compare et reporte l’évolution des scores

Agents enchaînés

Flux linéaire mais avec parallélisme interne :

blackemperor (18) mode=release
  ├─ code-auditor (02)      → Phase parallèle
  ├─ perf-auditor (07)      → Phase parallèle
  ├─ a11y-auditor (06)      → Phase parallèle
  └─ [consolidation] → matrice + GO/NO-GO + rapport → docs/reports/

Après le GO : optionnel de lancer ship mode ou 2b3 (08) pour simplification finale.

Troubleshooting

SymptômeCause probableRésolution
”todo.md format not recognized”Format legacy au lieu de KanbanBlack Emperor convertit automatiquement via kanban-converter, ou éditez manuellement en Kanban
Audits qui timeout (>2h)Projet très volumineux (>1000 fichiers)Fragmentez : code audit seul, puis perf, puis a11y en sessions séparées
A11y report incompletOutils manquants (axe-core, pa11y)Black Emperor propose installation automatique, sinon npm install -D axe-core pa11y
Performance metrics inconsistentDev mode vs production buildUtilisez le build npm run build et vérifiez les fichiers .next/ ou dist/

Voir aussi

  • ./01-bruce-from-scratch.md — Démarrer un projet avec Bruce (entrée préalable)
  • ./02-blackemperor-pre-release.md — Cette fiche
  • ./06-perf-auditor.md — Audit performance avancé (Core Web Vitals en détail)
  • ./05-a11y-audit.md — Audit WCAG 2.1 AA complet
  • agents/orchestrators/18-blackemperor.md — Documentation complète de Black Emperor
  • agents/_shared/auditor-base.md — Base commune à tous les auditors