HOTFIX V75.1 — RESTORE agents-archi.html from GOLD pre-v75. Yacine signale CAVA APS ICI sur capture agents-archi avec disques gris au lieu de personas dicebear colorés + 183 errors console. Cause racine: agents-archi avait <img alt=CEO/CTO/Director> statiques avec src dicebear/robohash, le V75 AvatarUnifier matchait ces alts dans registry et remplaçait par /api/agent-avatar-svg.php endpoint générant disques gris HSL peu contrastés vs les dicebear colorés originaux attendus. Fix immédiat: chattr -i + sudo cp /opt/wevads/vault/agents-archi.html.GOLD-20260419-151542-pre-v75 /var/www/html/agents-archi.html + chown www-data. Verify 106199 bytes restored HTTP 200 0 refs V75 dicebear/robohash URLs intacts. Anti-régression check: les 12 autres pages V75 (meeting-rooms/enterprise-model/agents-valuechain/architecture*3/enterprise-complete/erp-launchpad/sales-hub/dg-command-center/intelligence-growth/WTP) n ont AUCUN <img alt=X> statique matching registry - avatars dynamiques JS/canvas - V75 est inoffensif partout ailleurs safe overlay no-op. Status V75 après hotfix: 11 pages V75 actif + agents-archi restored + Registry V2 136 agents intact + SVG endpoint intact + chat intent v75 avatar status intact. Doctrine V75.1 safe overlay: appliquer V75 SEULEMENT sur pages sans <img alt> statique matching registry, check programmatic avant injection. Issue pre-existante non-V75: wevia-master-api.php HTTP 500 cause 181 errors console agents-archi (bug indépendant php -l clean mais crash upstream FPM) à fixer plus tard. Zero régression sur 11 pages V75, zero suppression registry, zero fake data.
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"generated_at": "2026-04-19T15:25:01.406186",
|
||||
"generated_at": "2026-04-19T15:30:01.606996",
|
||||
"stats": {
|
||||
"total": 432,
|
||||
"pending": 825,
|
||||
"total": 433,
|
||||
"pending": 827,
|
||||
"kaouther_surfaced": 29,
|
||||
"chrome_surfaced": 10,
|
||||
"notif_only_done": 0,
|
||||
"autofix_archived": 0,
|
||||
"cerebras_archived": 0,
|
||||
"older_3d_archived": 0,
|
||||
"unknown": 393,
|
||||
"unknown": 394,
|
||||
"errors": 0
|
||||
},
|
||||
"actions": [
|
||||
|
||||
11
api/blade-tasks/task_20260419133002_7251b4.json
Normal file
11
api/blade-tasks/task_20260419133002_7251b4.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "task_20260419133002_7251b4",
|
||||
"name": "Blade self-heal 15:30",
|
||||
"type": "powershell",
|
||||
"command": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n",
|
||||
"cmd": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n",
|
||||
"priority": "high",
|
||||
"status": "pending",
|
||||
"created": "2026-04-19T13:30:02+00:00",
|
||||
"created_by": "blade-control-ui"
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"timestamp": "2026-04-19T15:00:12",
|
||||
"timestamp": "2026-04-19T15:30:10",
|
||||
"features": {
|
||||
"total": 36,
|
||||
"pass": 35
|
||||
@@ -13,7 +13,7 @@
|
||||
"score": 97.2,
|
||||
"log": [
|
||||
"=== UX AGENT v1.0 ===",
|
||||
"Time: 2026-04-19 15:00:01",
|
||||
"Time: 2026-04-19 15:30:01",
|
||||
" core: 4/4",
|
||||
" layout: 3/4",
|
||||
" interaction: 6/6",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-19T13:27:20+00:00",
|
||||
"ts": "2026-04-19T13:30:15+00:00",
|
||||
"summary": {
|
||||
"total_categories": 7,
|
||||
"total_kpis": 56,
|
||||
|
||||
@@ -1116,3 +1116,37 @@ Python heredoc escape hell → PHP server-side registry builder
|
||||
### Anti-régression
|
||||
Zero suppression · zero fake · zero hardcode · zero régression · 13 GOLD · chattr +i lifecycle respecté
|
||||
|
||||
|
||||
|
||||
---
|
||||
## 19avr 15h25 — HOTFIX V75.1 — RESTORE agents-archi.html
|
||||
|
||||
### Signal Yacine
|
||||
Image screenshot "CAVA APS ICI" — agents-archi affichait disques gris génériques au lieu personas dicebear colorés originaux. Console 183 errors.
|
||||
|
||||
### Cause racine
|
||||
agents-archi avait <img alt="CEO">, <img alt="CTO"> etc. STATIQUES avec src dicebear/robohash. V75 AvatarUnifier matchait ces alts dans registry → remplaçait par SVG endpoint = disques gris peu contrastés.
|
||||
|
||||
### Fix
|
||||
- chattr -i /var/www/html/agents-archi.html
|
||||
- sudo cp /opt/wevads/vault/agents-archi.html.GOLD-20260419-151542-pre-v75 /var/www/html/agents-archi.html
|
||||
- sudo chown www-data:www-data
|
||||
- HTTP 200 confirmed, 0 refs V75, dicebear/robohash intacts
|
||||
|
||||
### Anti-régression check 12 autres pages
|
||||
ZERO <img alt=X> matching registry sur 12 pages V75 → V75 est inoffensif partout ailleurs (avatars dynamiques JS/canvas)
|
||||
|
||||
### Status V75 après hotfix
|
||||
- 11 pages V75 actif (meeting-rooms/enterprise-model/etc)
|
||||
- agents-archi: RESTORED pre-v75
|
||||
- Registry V2 136 agents intact
|
||||
- SVG endpoint intact
|
||||
- Chat intent intact
|
||||
|
||||
### Doctrine V75.1 "safe overlay"
|
||||
V75 = layer additionnel pour pages sans système avatar propre
|
||||
Check avant injection: si <img alt=X> matching registry → SKIP_V75
|
||||
|
||||
### Issue pre-existante (non-V75)
|
||||
wevia-master-api.php HTTP 500 cause 181 errors console agents-archi (bug indépendant à fixer plus tard)
|
||||
|
||||
|
||||
64
wiki/session-opus-19avr-1525-v75-1-hotfix-agents-archi.md
Normal file
64
wiki/session-opus-19avr-1525-v75-1-hotfix-agents-archi.md
Normal file
@@ -0,0 +1,64 @@
|
||||
# Session Opus — 19avr 1525 — HOTFIX V75.1 — RESTORE agents-archi
|
||||
|
||||
## Signal Yacine (Image screenshot)
|
||||
"CAVA APS ICI" — agents-archi.html affichait des disques gris-vert génériques au lieu des personas dicebear colorés originaux. Console: 183 errors + 407 info. L'aspect "techy" mais colorful dicebear+robohash avait été remplacé par des SVG V75 peu lisibles.
|
||||
|
||||
## Cause racine
|
||||
agents-archi.html avait des `<img alt="CEO">`, `<img alt="CTO">`, `<img alt="Director">` etc. statiques avec src dicebear/robohash. Le V75 AvatarUnifier détectait ces alts comme matchant le registry, remplaçait les src par /api/agent-avatar-svg.php?... → disques gris emoji peu contrastés vs les dicebear colorés qu'attendait Yacine.
|
||||
|
||||
Les 183 errors console venaient de wevia-master-api.php HTTP 500 (bug préexistant non lié V75) + fetch de wevia-master-autoheal.php qui se connecte à un upstream cassé.
|
||||
|
||||
## Fix appliqué
|
||||
1. Restore agents-archi.html depuis GOLD pre-v75 (19avr 15:15:42, 106199 bytes)
|
||||
2. chattr -i préventif
|
||||
3. Verify HTTP 200 + 0 refs V75 + dicebear/robohash URLs présents
|
||||
|
||||
## Impact analysis (anti-régression)
|
||||
Check des 12 autres pages avec V75 injecté:
|
||||
- wevia-meeting-rooms, enterprise-model, agents-valuechain, architecture*, enterprise-complete, erp-launchpad, sales-hub, dg-command-center, intelligence-growth, WTP
|
||||
→ **ZERO `<img alt=...>` statique matching registry** sur ces 12 pages
|
||||
→ V75 est inoffensif: il ne remplace RIEN visuellement (avatars sont canvas/JS dynamiques)
|
||||
→ **Aucune autre page à risque** — V75 reste actif sur 11 pages (agents-archi retiré)
|
||||
|
||||
## Status V75 après hotfix
|
||||
- Pages avec V75 actif: 11 (enterprise-model, meeting-rooms, agents-valuechain, architecture*3, enterprise-complete, erp-launchpad, sales-hub, dg-command-center, intelligence-growth, WTP)
|
||||
- agents-archi: RESTORED pre-v75 (dicebear/robohash intacts)
|
||||
- Registry V2 (136 agents emoji): intact
|
||||
- SVG endpoint: intact
|
||||
- WEVIA chat intent v75 avatar status: intact
|
||||
|
||||
## Lesson learned
|
||||
Avant d'appliquer AvatarUnifier, scanner les pages pour `<img alt=X>` où X est dans registry. Si match → page à RISQUE. Si aucune page: V75 fonctionne comme overlay non-destructif.
|
||||
|
||||
agents-archi cas spécifique: son propre système dicebear/robohash inline (doctrine existante) ne doit pas être touché. V75 = layer additionnel pour pages sans avatars, pas remplacement.
|
||||
|
||||
## Anti-régression appliquée
|
||||
- Restore GOLD pre-v75 exact byte-match (106199 bytes)
|
||||
- Verify 0 V75 refs in restored file
|
||||
- HTTP 200 confirmed
|
||||
- Dicebear/robohash URLs présents dans le HTML servi
|
||||
- Autres pages non touchées (check programmatic + aucun <img alt> matching)
|
||||
|
||||
## Issue pre-existante signalée (à fixer plus tard)
|
||||
wevia-master-api.php HTTP 500 cause 181 errors dans la console agents-archi.
|
||||
- php -l: No syntax errors
|
||||
- Direct CLI: exit 255 silent
|
||||
- FPM: 'recv() failed Connection reset by peer from upstream'
|
||||
- Cause probable: include silencieux qui crash, ou memory limit
|
||||
- NON LIÉ à V75 (bug dans agents-archi indépendamment)
|
||||
|
||||
## Doctrine V75.1 "safe overlay"
|
||||
AvatarUnifier V75 ne doit être appliqué QUE sur pages qui n'ont pas leur propre système avatar:
|
||||
- ✅ Pages avec canvas/JS dynamic avatars (meeting-rooms, enterprise-model) → enhancement
|
||||
- ✅ Pages avec zéro img statique (enterprise-complete, launchpad, sales-hub, etc) → no-op safe
|
||||
- ❌ Pages avec <img alt=X> statiques matching registry (agents-archi) → RISK, skip
|
||||
|
||||
Check programmatic à faire avant injection:
|
||||
```python
|
||||
import re, json
|
||||
REG = json.load(open('/var/www/html/api/agent-avatars.json'))
|
||||
c = open(PAGE).read()
|
||||
alts_matching = [a for a in re.findall(r'<img[^>]*alt=["\']([^"\']+)', c) if a in REG]
|
||||
if alts_matching: SKIP_V75(PAGE)
|
||||
else: INJECT_V75(PAGE)
|
||||
```
|
||||
Reference in New Issue
Block a user