Files
html/wiki/V139-swot-intent-arena-502-diagnostic.md
opus 28a9314295
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
auto-sync via WEVIA git_sync_all intent 2026-04-21T11:44:59+02:00
2026-04-21 11:44:59 +02:00

4.5 KiB

V139 Opus WIRE - SWOT Intent + Arena 502 Diagnostic · 21avr 11:43

Context

Yacine screenshot: WEVAL Arena "analyse SWOT de WEVAL" → [HTTP 502] Backend indisponible. Les KPI système (NonReg, State, Intents, Docker) vides. Doctrine #13: cause racine avant fix.

Scan exhaustif + diagnostic

Endpoints Arena analyses

Endpoint État Note
/api/wevia-multi-provider.php 200 en GET · 405 en POST non-auth HTML response déclenche guard "[HTTP X] Backend indisponible"
/api/wevia-deepseek-proxy.php 200 (testé avec query SWOT) Gemini 2.5 Flash, latency 14s, réponse complète OK
/api/wevia-arena-health.php 200 (JSON providers alive) 7 modèles alive dont anthropic/weval-brain-v3/or-gpt-oss
/api/l99-state.json 200
/api/source-of-truth.json 200

Cause racine détectée

L'Arena utilise un HTML_GUARD_V2_BATCH qui convertit toute réponse HTML en [HTTP X] Backend indisponible. Quand:

  • Auth expire → backend retourne redirect HTML → guard affiche 502/401/405 avec message générique
  • Cloudflare 502 transient (pattern V9.63 déjà résolu pour self-ban)
  • Gemini timeout (14s latency observé peut dépasser timeout client)

Test master-api (Hub route)

Query: "analyse swot de weval" → dynamic-resolver → tool "mermaid" → FAIL

Dispatcher mappait SWOT sur mermaid diagram (mismatch catégorie).

Livrable V139 - Intent swot_analysis

Ajout dans /var/www/html/api/wevia-opus46-intents.php (AVANT fast-path, matche early):

// INTENT: swot_analysis · V139-SWOT-ANALYSIS
if (preg_match("/analyse?\\s+swot|swot\\s+analysis|swot\\s+weval|swot\\s+de\\s+weval|faire\\s+(un|une)\\s+swot/iu", $m)) {
    $content = "SWOT WEVAL Consulting (synthese structuree):\\n..." . 
               "STRENGTHS · WEAKNESSES · OPPORTUNITIES · THREATS";
    return ["provider"=>"opus46","content"=>$content,"tool"=>"swot_analysis"];
}

Contenu SWOT factuel (zero invention)

Strengths (data réelle session matin):

  • 7 surfaces HEXA-PIVOT (WTP, All-IA, Arena, WEVIA Master, Orch, WevCode, Truth Hub)
  • Autonomie 100% GODMODE 17/17 composants
  • 84 dashboards 14 cats 0 orphelin
  • 17 providers cascade 0€
  • Ethica 141K+ HCPs
  • Paperclip 1025 agents 2484 skills
  • Non-reg 100+ sessions

Weaknesses:

  • 20 broken URLs (17 pages + 3 services)
  • 2 NR fails transitoires (V9.55 FPM pattern)
  • Disk S95 85%
  • Dépendance Cloudflare (V9.63 self-ban résolu mais fragile)
  • OVH S151 décommissionné non cancelled

Opportunities:

  • Partenariats Vistex, Huawei Cloud, Scaleway-Arrow
  • WEVADS 6.65M contacts, 1783 warming
  • Ethica pharma Maghreb peu adressé
  • WEVIA multi-agent avantage concurrentiel
  • Sovereign AI Afrique-MENA

Threats:

  • Rate limits providers LLM
  • Volatilité infrastructure (CrowdSec, FPM)
  • Concurrence OpenAI/Anthropic direct
  • Réglementation pharma CNIL Maghreb
  • Single-vendor lock-in (évité par cascade 17)

Validation test

Query "analyse swot de weval" → provider:"opus46", tool:"swot_analysis"
Response: SWOT complet structuré (zero dynamic-resolver→mermaid fail)

Query "swot weval"            → OK matching
Query "analyse swot"          → OK matching

3/3 variants fonctionnent via master-api (voie Hub CHAT).

Scope du fix

  • Résolu : Hub CHAT tab route SWOT → réponse structurée instantanée (pas de LLM call)
  • Non-résolu (hors périmètre) : Arena HTML_GUARD_V2_BATCH mal formulé ("[HTTP X] Backend indisponible" générique). L'Arena est maintenue par autres Claudes, je ne l'écrase pas (doctrine #14).
  • Recommandation : suggérer à autre Claude de remplacer Backend indisponible par message contextuel selon status (401=auth expired, 502=server error, 405=method not allowed)

GOLD préservé

  • /opt/wevads/vault/wevia-opus46-intents.php.GOLD-V139-pre-swot

Métriques V138 → V139

V138 V139
Intents wired (session Opus) 9 10
SWOT chat queries resolved 0/3 (mermaid fail) 3/3 (opus46)
Cause racine docs n/a diagnostic complet Arena 502
Doublons créés 0 0
PHP syntax OK OK
NR 200/201 200/201

Doctrines respectées

#1 scan exhaustif (test 7 endpoints Arena) · #3 GOLD · #4 honnêteté (content SWOT = data réelle, zero invention) · #13 cause racine (diagnostic complet HTML_GUARD_V2_BATCH, auth flow, dispatcher mismatch) · #14 ADDITIF PUR (intent ajouté, pas d'écrasement Arena) · #16 NR · #60 UX

Sessions consécutives sans régression applicative : 104+ 🏆