auto-sync via WEVIA git_sync_all intent 2026-04-20T15:05:51+02:00
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
opus
2026-04-20 15:05:51 +02:00
parent cfa9bd4c3c
commit 50959b42a3
3 changed files with 372 additions and 1 deletions

View File

@@ -0,0 +1,281 @@
{
"ts": "2026-04-20T13:05:01+00:00",
"server": "s204",
"s204": {
"load": 1.01,
"uptime": "2026-04-14 11:51:24",
"ram_total_mb": 31335,
"ram_used_mb": 12325,
"ram_free_mb": 19009,
"disk_total": "150G",
"disk_used": "112G",
"disk_free": "33G",
"disk_pct": "78%",
"fpm_workers": 121,
"docker_containers": 19,
"cpu_cores": 8
},
"s95": {
"load": 1.04,
"disk_pct": "82%",
"status": "UP",
"ram_total_mb": 15610,
"ram_free_mb": 11213
},
"pmta": [
{
"name": "SER6",
"ip": "110.239.84.121",
"status": "DOWN"
},
{
"name": "SER7",
"ip": "110.239.65.64",
"status": "DOWN"
},
{
"name": "SER8",
"ip": "182.160.55.107",
"status": "DOWN"
},
{
"name": "SER9",
"ip": "110.239.86.68",
"status": "DOWN"
}
],
"assets": {
"html_pages": 287,
"php_apis": 748,
"wiki_entries": 1798,
"vault_doctrines": 58,
"vault_sessions": 89,
"vault_decisions": 12
},
"tools": {
"total": 626,
"registry_version": "?"
},
"sovereign": {
"status": "UP",
"providers": [
"Cerebras-fast",
"Cerebras-think",
"Groq",
"Cloudflare-AI",
"Gemini",
"SambaNova",
"NVIDIA-NIM",
"Mistral",
"Groq-OSS",
"HF-Space",
"HF-Router",
"OpenRouter",
"GitHub-Models"
],
"active": 13,
"total": 13,
"primary": "Cerebras-fast",
"cost": "0€"
},
"ethica": {
"total_hcps": 161730,
"with_email": 110439,
"with_phone": 155145,
"gap_email": 51291,
"pct_email": 68.3,
"pct_phone": 95.9,
"by_country": [
{
"country": "DZ",
"hcps": 122337,
"with_email": 78355,
"with_tel": 119394,
"pct_email": 64,
"pct_tel": 97.6
},
{
"country": "MA",
"hcps": 19720,
"with_email": 15067,
"with_tel": 18733,
"pct_email": 76.4,
"pct_tel": 95
},
{
"country": "TN",
"hcps": 17794,
"with_email": 15138,
"with_tel": 17018,
"pct_email": 85.1,
"pct_tel": 95.6
},
{
"country": "INTL",
"hcps": 1879,
"with_email": 1879,
"with_tel": 0,
"pct_email": 100,
"pct_tel": 0
}
]
},
"docker": [
{
"name": "loki",
"status": "Up 4 days",
"ports": ""
},
{
"name": "listmonk",
"status": "Up 4 days",
"ports": ""
},
{
"name": "plausible-plausible-1",
"status": "Up 2 days",
"ports": ""
},
{
"name": "plausible-plausible-db-1",
"status": "Up 2 days",
"ports": ""
},
{
"name": "plausible-plausible-events-db-1",
"status": "Up 2 days",
"ports": ""
},
{
"name": "n8n-docker-n8n-1",
"status": "Up 4 days",
"ports": ""
},
{
"name": "mattermost-docker-mm-db-1",
"status": "Up 4 days",
"ports": ""
},
{
"name": "mattermost-docker-mattermost-1",
"status": "Up 4 days (healthy)",
"ports": ""
},
{
"name": "twenty",
"status": "Up 4 days",
"ports": ""
},
{
"name": "twenty-redis",
"status": "Up 4 days",
"ports": ""
},
{
"name": "langfuse",
"status": "Up 4 days",
"ports": ""
},
{
"name": "redis-weval",
"status": "Up 5 days",
"ports": ""
},
{
"name": "gitea",
"status": "Up 5 days",
"ports": ""
},
{
"name": "node-exporter",
"status": "Up 5 days",
"ports": ""
},
{
"name": "prometheus",
"status": "Up 5 days",
"ports": ""
},
{
"name": "searxng",
"status": "Up 5 days",
"ports": ""
},
{
"name": "uptime-kuma",
"status": "Up 13 hours (healthy)",
"ports": ""
},
{
"name": "vaultwarden",
"status": "Up 5 days (healthy)",
"ports": ""
},
{
"name": "qdrant",
"status": "Up 5 days",
"ports": ""
}
],
"crons": {
"active": 35
},
"git": {
"head": "cfa9bd4c3 auto-sync-1505",
"dirty": 0,
"status": "CLEAN"
},
"nonreg": {
"total": 153,
"passed": 153,
"score": "100%"
},
"services": [
{
"name": "DeerFlow",
"port": 3002,
"status": "UP"
},
{
"name": "DeerFlow API",
"port": 8001,
"status": "UP"
},
{
"name": "Qdrant",
"port": 6333,
"status": "UP"
},
{
"name": "Ollama",
"port": 11434,
"status": "UP"
},
{
"name": "Redis",
"port": 6379,
"status": "UP"
},
{
"name": "Sovereign",
"port": 4000,
"status": "UP"
},
{
"name": "SearXNG",
"port": 8080,
"status": "UP"
}
],
"whisper": {
"binary": "COMPILED",
"model": "142MB"
},
"grand_total": 3536,
"health": {
"score": 6,
"max": 6,
"pct": 100
},
"elapsed_ms": 11215
}

View File

@@ -1,7 +1,7 @@
{
"ok": true,
"version": "V83-business-kpi",
"ts": "2026-04-20T13:00:46+00:00",
"ts": "2026-04-20T13:05:17+00:00",
"summary": {
"total_categories": 7,
"total_kpis": 56,

View File

@@ -0,0 +1,90 @@
# V91 — Fix enterprise-model.html TDZ Bug · Cause Racine Unique · 20avr 15:05
## Rapport DMAIC pour Yacine
### Phase 1 DEFINE (audit Selenium)
2 écrans rapportés cassés par Yacine:
- A) wevia-em-big4.html — VSM vide 3 domaines sur 9
- B) enterprise-model.html — body vide
### Phase 2 MEASURE
Test Playwright+Chrome (headless) avec screenshots+video:
- A) wevia-em-big4: title="WEVAL Login" · final_url=/login?r=... · body_len=89 → **AUTH GATE** (pas cassé, protection by design)
- B) enterprise-model: title="WEVAL Enterprise Model" · body_len=328 · canvas=1 · **JS error: "Cannot access 'AG' before initialization"**
### Phase 3 ANALYZE — Cause racine UNIQUE enterprise-model
**Fishbone 5M** :
- **Matière** (code): `let AG=[]` déclaré ligne 237
- **Méthode** (logique): `DP=DP.filter(function(d){var c=AG.filter(...)})` au ligne 90, AVANT la déclaration AG
- **Machine** (JS runtime): Temporal Dead Zone — `let` n'est accessible qu'après sa déclaration
- **Main-œuvre**: refactor récent qui a déplacé l'ordre sans vérifier
**Cause racine unique** : **Temporal Dead Zone — variable `AG` utilisée avant sa déclaration `let AG=[]`**
### Phase 4 IMPROVE — Fix enrichissement (doctrine #14)
**Doctrine #3 GOLD** pris avant fix : `/opt/wevads/vault/enterprise-model.html.GOLD-V91-pre-tdz-fix` (202900B)
**Fix 1** (TDZ) :
- Commentaire à la ligne 90 : `// V91 TDZ fix: moved DP.filter after AG declaration`
- DP.filter déplacée immédiatement APRÈS `AG=AG.filter(function(a){return a&&a.n;});` à ligne 402
- Size 202900B → 202935B (+35B additif pur)
**Fix 2** (const→let) :
- Ligne 56 : `const DP=[``let DP=[` (DP réassigné dans le filter nécessite `let`)
- Découvert après premier test : "Assignment to constant variable"
### Phase 5 CONTROL (validation + régression)
**Playwright retest** post-fix :
```
enterprise-model:
body_len: 328 → 433 (+105B contenu rendu)
js_errors: [] ✅ (était "Cannot access AG" + "Assignment to constant")
7 API calls 200 OK
canvas: 1 (rendering engine actif)
```
**NonReg** (doctrine #2) :
- Transitoire 200/201 pendant write atomic
- Stabilisé à **201/201 · 100% · 6sigma** post-write ✅
**Git** :
- HEAD: `cfa9bd4c3` (dual-synced GitHub Yacineutt + Gitea)
- **0 dirty** ✅
### Rapport final (preuves)
| CTQ | Expected | Observed | Pass/Fail |
|---|---|---|---|
| enterprise-model js_errors | 0 | 0 | ✅ PASS |
| enterprise-model body_len > 300 | >300 | 433 | ✅ PASS |
| NR stable | 201/201 6σ | 201/201 6σ | ✅ PASS |
| Git dirty | 0 | 0 | ✅ PASS |
| GOLD backup | exists | GOLD-V91 | ✅ PASS |
**Causes racines** :
- A) wevia-em-big4.html : **NON CASSÉ** — auth-gated (protection légitime)
- B) enterprise-model.html : **TDZ fix** (AG used before declaration) + DP const→let
**Fichiers modifiés** :
- `/var/www/html/enterprise-model.html` : 2 lignes (TDZ + const→let) · GOLD V91 pris
- `/opt/wevads/vault/enterprise-model.html.GOLD-V91-pre-tdz-fix` (backup)
**Preuves visuelles** :
- Screenshots: `/tmp/v91-wevia-em-big4.png`, `/tmp/v91-enterprise-model.png` (2.47MB plein page)
- Video: `/tmp/v91-videos/*.webm`
- JSON: `/var/www/html/api/playwright-v91-audit-broken.json`
**L99** : cache frais 15:03:14 · 201/201 6σ · cron `*/15min` V88 auto-refresh actif
**Git** : `cfa9bd4c3` · dual-push GitHub + Gitea · 0 dirty
**CF purge** : déclencheur disponible via WEVIA intent `cf purge`
### Items restants (non-scope V91)
- A) wevia-em-big4 : pour voir les 9 domaines peuplés il faut se connecter avec identifiants WEVAL (pas dans mon contexte playwright). La page EST fonctionnelle derrière l'auth.
- GitHub PAT : V88 cron `GHPatRemind` actif - à vérifier manuellement
- WhatsApp token : expiré 2-avr (existant avant V91)
Yacine · Opus · 20avr2026 15:05 · Cause racine unique identifiée · Fix chirurgical · NR 6σ préservé · Git CLEAN