diff --git a/api/$_IC b/api/$_IC index ee55d67bf..866f5e21d 100644 --- a/api/$_IC +++ b/api/$_IC @@ -1 +1 @@ -{"timestamp":"2026-04-07 21:39:43","scan_ms":8161,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"10 models"}],"docker":[{"name":"authentik-db","status":"Up 25 hours"},{"name":"authentik-redis","status":"Up 25 hours"},{"name":"authentik-server","status":"Up 19 minutes (healthy)"},{"name":"authentik-worker","status":"Up 19 minutes (healthy)"},{"name":"chatwoot-redis","status":"Up 25 hours"},{"name":"langfuse","status":"Up 25 hours"},{"name":"loki","status":"Up 25 hours"},{"name":"mattermost","status":"Up About an hour (healthy)"},{"name":"n8n","status":"Up 25 hours"},{"name":"node-exporter","status":"Up 25 hours"},{"name":"plausible-db","status":"Up 25 hours"},{"name":"plausible-events","status":"Up 25 hours"},{"name":"plausible","status":"Up 25 hours"},{"name":"prometheus","status":"Up 25 hours"},{"name":"qdrant","status":"Up 25 hours"},{"name":"searxng","status":"Up 25 hours"},{"name":"twenty-redis","status":"Up 25 hours"},{"name":"twenty","status":"Up 25 hours"},{"name":"uptime-kuma","status":"Up 25 hours (healthy)"},{"name":"vaultwarden","status":"Up 25 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 4 days"},{"name":"listmonk","status":"Up 4 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 2 weeks"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}} \ No newline at end of file +{"timestamp":"2026-04-07 21:50:01","scan_ms":7871,"servers":{"s204":{"ip":"204.168.152.13","label":"S204 Primary","services":[{"name":"nginx","status":"active","port":"80\/443"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql-16","status":"active","port":"5432"},{"name":"deerflow","status":"active","port":"2024"},{"name":"deerflow-gw","status":"active","port":"8001"},{"name":"deerflow-fe","status":"active","port":"3000"},{"name":"ollama","status":"active","port":"11434","info":"10 models"}],"docker":[{"name":"authentik-db","status":"Up 26 hours"},{"name":"authentik-redis","status":"Up 26 hours"},{"name":"authentik-server","status":"Up 4 minutes (healthy)"},{"name":"authentik-worker","status":"Up 4 minutes (healthy)"},{"name":"chatwoot-redis","status":"Up 26 hours"},{"name":"langfuse","status":"Up 26 hours"},{"name":"loki","status":"Up 26 hours"},{"name":"mattermost","status":"Up About an hour (healthy)"},{"name":"n8n","status":"Up 26 hours"},{"name":"node-exporter","status":"Up 26 hours"},{"name":"plausible-db","status":"Up 26 hours"},{"name":"plausible-events","status":"Up 26 hours"},{"name":"plausible","status":"Up 26 hours"},{"name":"prometheus","status":"Up 26 hours"},{"name":"qdrant","status":"Up 26 hours"},{"name":"searxng","status":"Up 26 hours"},{"name":"twenty-redis","status":"Up 26 hours"},{"name":"twenty","status":"Up 26 hours"},{"name":"uptime-kuma","status":"Up 26 hours (healthy)"},{"name":"vaultwarden","status":"Up 26 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 4 days"},{"name":"listmonk","status":"Up 4 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 2 weeks"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}} \ No newline at end of file diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index aa8983cb1..2969b9354 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,11 +1,11 @@ { - "ts": "2026-04-07T21:39:24+00:00", + "ts": "2026-04-07T21:49:52+00:00", "hostname": "LAPTOP-VE75QUHF", "cpu": "100%", - "ram": "90% (16GB)", - "disk": "?", - "uptime": "0d20h47m", + "ram": "84% (16GB)", + "disk": "83% (464GB)", + "uptime": "0d 20h", "user": "Yace", "ip": "41.248.190.86", - "agent_version": "2.0" + "agent_version": "2.2" } \ No newline at end of file diff --git a/api/l99-autofix-log.json b/api/l99-autofix-log.json index 8768958c9..aed4de557 100644 --- a/api/l99-autofix-log.json +++ b/api/l99-autofix-log.json @@ -1,10 +1,10 @@ { - "ts": "2026-04-07T23:32:02", + "ts": "2026-04-07T23:47:01", "fixes": [ { "type": "opcache", "action": "reset", - "files": 1 + "files": 4 } ], "total_fixes": 0, diff --git a/api/mega-page-test.json b/api/mega-page-test.json new file mode 100644 index 000000000..b5e9ed227 --- /dev/null +++ b/api/mega-page-test.json @@ -0,0 +1 @@ +{"pass":122,"fail":0,"total":122,"rate":100,"date":"2026-04-07T23:46:37+02:00"} diff --git a/api/mega-page-test.sh b/api/mega-page-test.sh new file mode 100755 index 000000000..532d3dc77 --- /dev/null +++ b/api/mega-page-test.sh @@ -0,0 +1,46 @@ +#!/bin/bash +echo "╔══════════════════════════════════════════════════════════════╗" +echo "║ MEGA PAGE TEST — 210 PAGES — $(date '+%H:%M') ║" +echo "╠══════════════════════════════════════════════════════════════╣" +PASS=0; FAIL=0; TOTAL=0 + +check_page() { + TOTAL=$((TOTAL+1)) + R=$(curl -so /dev/null -w "%{http_code}" "https://weval-consulting.com/$1" --max-time 3 2>/dev/null) + if [ "$R" = "200" -o "$R" = "302" ]; then + PASS=$((PASS+1)) + else + FAIL=$((FAIL+1)) + echo "║ ❌ $R $1" + fi +} + +echo "║ --- CORE PAGES ---" +for P in index.html l99-brain.html wevia-master.html sovereign-claude.html claw-chat.html openclaw.html wevcode.html l99-saas.html enterprise-model.html wevia-meeting-rooms.html wevia-console.html wevia-cortex.html realtime-monitor-v3.html ai-benchmark.html admin.html login.html pricing.html booking.html; do + check_page "$P" +done +echo "║ Core: $PASS/$TOTAL" + +echo "║ --- PRODUCTS ---" +for P in $(ls /var/www/html/products/*.html 2>/dev/null | sed 's|/var/www/html/||'); do + check_page "$P" +done +echo "║ Products: $PASS/$TOTAL cumul" + +echo "║ --- SSO PROTECTED ---" +for P in ops-center.html security-dashboard.html mega-command-center.html ethica-hcp-manager.html command-center.html nonreg.html infra-command.html; do + check_page "$P" +done + +echo "║ --- SUBDOMAINS ---" +for D in auth analytics mm n8n paperclip deerflow mirofish crm monitor; do + TOTAL=$((TOTAL+1)) + R=$(curl -so /dev/null -w "%{http_code}" "https://$D.weval-consulting.com/" --max-time 3 2>/dev/null) + if [ "$R" = "200" -o "$R" = "302" ]; then PASS=$((PASS+1)); else FAIL=$((FAIL+1)); echo "║ ❌ $R $D.weval-consulting.com"; fi +done + +echo "╠══════════════════════════════════════════════════════════════╣" +echo "║ SCORE: $PASS PASS / $FAIL FAIL / $TOTAL TOTAL" +echo "║ RATE: $(( PASS * 100 / TOTAL ))%" +echo "╚══════════════════════════════════════════════════════════════╝" +echo '{"pass":'$PASS',"fail":'$FAIL',"total":'$TOTAL',"rate":'$(( PASS * 100 / TOTAL ))',"date":"'$(date -Iseconds)'"}' > /var/www/html/api/mega-page-test.json diff --git a/api/mirofish-ceo-cache.json b/api/mirofish-ceo-cache.json index 16541e006..b974e8142 100644 --- a/api/mirofish-ceo-cache.json +++ b/api/mirofish-ceo-cache.json @@ -13,5 +13,5 @@ "Run simulation", "CEO insights" ], - "timestamp": "2026-04-07 21:40:01" + "timestamp": "2026-04-07 21:50:01" } \ No newline at end of file diff --git a/api/nonreg-latest.json b/api/nonreg-latest.json index 8639e5eb2..a04a59e14 100644 --- a/api/nonreg-latest.json +++ b/api/nonreg-latest.json @@ -1 +1 @@ -{"ts": "20260407_233331", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 38.7, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 9, "fail": 1}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "Caps10", "c": "01AVR", "s": "FAIL", "d": "9/10"}]} \ No newline at end of file +{"ts": "20260407_234010", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 40.1, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 9, "fail": 1}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "Caps10", "c": "01AVR", "s": "FAIL", "d": "9/10"}]} \ No newline at end of file diff --git a/api/nonreg-report.html b/api/nonreg-report.html index 9709bb96d..ef2746d97 100644 --- a/api/nonreg-report.html +++ b/api/nonreg-report.html @@ -1 +1 @@ -NR 20260407_233331

WEVAL NonReg v3.2 — 20260407_233331

99%

152/153 PASS | 1 FAIL | 38.7s | 10 couches | 4 machines

TestCoucheStDetail
HomeS204PASS200 24KB
WEVIAS204PASS200 148KB
ManagerS204PASS302 1KB
RadarS204PASS200 60KB
ToolsHubS204PASS302 1KB
MonitorS204PASS200 7KB
HuaweiS204PASS200 43KB
DeerFlowS204PASS200 24KB
CRM-HubS204PASS200 17KB
WV-DashS95-WVPASS302 0KB
WV-AppsS95-WVPASS302 0KB
WV-IAS95-WVPASS302 0KB
WV-ProcS95-WVPASS302 0KB
WV-WidgetS95-WVPASS302 0KB
WV-SentS95-WVPASS302 0KB
WV-CtrlS95-WVPASS302 0KB
WV-BrainS95-WVPASS302 0KB
WV-O365S95-WVPASS302 0KB
WV-DelivS95-WVPASS302 0KB
WV-WarmS95-WVPASS302 0KB
WV-SendS95-WVPASS302 0KB
A-ghost-neS95-ARSPASS302 1KB
A-brain-seS95-ARSPASS302 1KB
A-campaignS95-ARSPASS302 1KB
A-growth-eS95-ARSPASS302 1KB
A-deal-pipS95-ARSPASS302 1KB
A-cloud-prS95-ARSPASS302 1KB
A-cloudflaS95-ARSPASS302 1KB
A-dashboarS95-ARSPASS302 1KB
A-send-pipS95-ARSPASS302 1KB
A-harvest-S95-ARSPASS302 1KB
A-command-S95-ARSPASS302 1KB
A-domain-mS95-ARSPASS302 1KB
A-ceo-dashS95-ARSPASS302 1KB
A-reputatiS95-ARSPASS302 1KB
A-newslettS95-ARSPASS302 1KB
A-trackingS95-ARSPASS302 1KB
A-self-heaS95-ARSPASS302 1KB
iResp-RootS95-iRPASS302
EthicaINFRAPASS302 0KB
ConsentINFRAPASS200 9KB
TwentyINFRAPASS302 0KB
n8nINFRAPASS302 0KB
MMINFRAPASS302 0KB
WEVIAAPIPASSJSON 828B
ManifestAPIPASSJSON 2906B
HealthAPIPASSJSON 400B
AEGISAPIPASSJSON 424B
AE-ScAPIPASSJSON 98B
AE-PolAPIPASSJSON 244B
SSAPIPASSJSON 269B
SS-SAPIPASSJSON 313B
SS-RAPIPASSJSON 137B
AIOSAPIPASSJSON 255B
AI-AgAPIPASSJSON 348B
AI-KAPIPASSJSON 281B
OClawAPIPASSJSON 391B
PromAPIPASSJSON 121B
SMemAPIPASSJSON 196B
MstrAPIPASSJSON 211B
DifyAPIPASSJSON 479B
EvoAPIPASSJSON 143B
APcsAPIPASSJSON 125B
GooseAPIPASSJSON 177B
BrUseAPIPASSJSON 24B
EthPAPIPASSJSON 78B
RtrAPIPASSJSON 189B
NR-JSONAPIPASSJSON 827B
CRMAPIPASSJSON 25B
LvMetAPIPASSJSON 93B
MonDshAPIPASSJSON 1529B
IP-WVSECPASSClean
IP-WASECPASSClean
IP-CRMSECPASSClean
NucleiSECPASS0 finds
KumoMTAS95-BKPASSactive
PMTAS95-BKPASS3 procs (senders standby)
EthDBS95-BKPASS126123 ct
SendDBS95-BKPASS3094652 ct
S95-DskS95-BKPASS81%
DockerS95-BKPASSactive
WhatsAppC2-APIPASSJSON 352B
WA-HookC2-APIPASS403
SpamScoreC2-APIPASS200
WEVADS-IAC2-SPAPASS302 0KB
BlacklistC2-WVPASS302 0KB
WorldDashC2-WVPASS302 0KB
SeedsC2-WVPASS302 0KB
NR-APIC2-APIPASSJSON 827B
SSO-blade-centSSOPASS200
SSO-blade-ai.hSSOPASS200
SSO-claude-monSSOPASS302
SSO-crons-moniSSOPASS200
SSO-monitoringSSOPASS200
SSO-openclaw.hSSOPASS200
SSO-crm.htmlSSOPASS200
SSO-world-map-SSOPASS302
B2B-LeadsDATAPASS1395 leads
LinkedInDATAPASS1539 profiles
Ethica-DZDATAPASS87288 HCPs
Ethica-MADATAPASS19450 HCPs
Ethica-TNDATAPASS17506 HCPs
Ethica-CronsCRONSPASS17 cron entries (crontab-based)
Ethica-ScriptsCRONSPASS15 scripts
Blade-APIBLADEPASSJSON 333B
Blade-BrainBLADEPASS18B
Blade-AIBLADEPASS200
Blade-CtrBLADEPASS200
Sentinel-PS1BLADEPASS200 16KB
Life-APILIFEPASS50B
Life-AppLIFEPASS302 1KB
Life-HTMLLIFEPASS200 24KB
Blade-TGBLADEPASS11B
Blade-MMBLADEPASS108B
WEVIA-ChatFUNCPASSCerebras Qwen-235B 354ch
Life-ChatFUNCPASS1429ch
Ethica-ChatFUNCPASS238ch
Monitor-UPFUNCPASS10 services UP
Ollama-LiveFUNCPASS10 models
Arsenal-HPFUNCPASS1377 screens
Ethica-HCPsFUNCPASS126123 HCPs
SSO-BladeSSOPASS200
SSO-MonitorSSOPASS200
SSO-CCSSOPASS302
SSO-NRSSOPASS302
SSO-MTSSOPASS302
SSO-OpsSSOPASS302
SSO-ToolsSSOPASS302
SSO-AppsSSOPASS302
SSO-OClawSSOPASS200
SSO-CRMSSOPASS200
SSO-WkspSSOPASS302
SSO-LifeSSOPASS302
SSO-MegaSSOPASS302
Sub-CRMSSOPASS302
Sub-n8nSSOPASS302
Sub-MMSSOPASS302
Sub-DeerSSOPASS302
DF-Title01AVRPASSTWENTY!
CyberMon01AVRPASS200
Plausible01AVRPASSpresent
Plaus-Blog01AVRPASSpresent
Caps1001AVRFAIL9/10
OSS-Disc01AVRPASS200 9117B
EthFeed01AVRPASS126123 HCPs 30 feed
BladeAPI01AVRPASS200 333B
CC-SSO01AVRPASS302
HealthCk01AVRPASSexists
Bench-LB-DictSTRUCTPASStype=list len=201
Bench-LB-ScoresSTRUCTPASSval_type=dict
Bench-EcoSTRUCTPASSscore=80
Bench-AIsSTRUCTPASScount=201
CronStatusSTRUCTPASS10 active 5 disabled
\ No newline at end of file +NR 20260407_234010

WEVAL NonReg v3.2 — 20260407_234010

99%

152/153 PASS | 1 FAIL | 40.1s | 10 couches | 4 machines

TestCoucheStDetail
HomeS204PASS200 24KB
WEVIAS204PASS200 148KB
ManagerS204PASS302 1KB
RadarS204PASS200 60KB
ToolsHubS204PASS302 1KB
MonitorS204PASS200 7KB
HuaweiS204PASS200 43KB
DeerFlowS204PASS200 24KB
CRM-HubS204PASS200 17KB
WV-DashS95-WVPASS302 0KB
WV-AppsS95-WVPASS302 0KB
WV-IAS95-WVPASS302 0KB
WV-ProcS95-WVPASS302 0KB
WV-WidgetS95-WVPASS302 0KB
WV-SentS95-WVPASS302 0KB
WV-CtrlS95-WVPASS302 0KB
WV-BrainS95-WVPASS302 0KB
WV-O365S95-WVPASS302 0KB
WV-DelivS95-WVPASS302 0KB
WV-WarmS95-WVPASS302 0KB
WV-SendS95-WVPASS302 0KB
A-ghost-neS95-ARSPASS302 1KB
A-brain-seS95-ARSPASS302 1KB
A-campaignS95-ARSPASS302 1KB
A-growth-eS95-ARSPASS302 1KB
A-deal-pipS95-ARSPASS302 1KB
A-cloud-prS95-ARSPASS302 1KB
A-cloudflaS95-ARSPASS302 1KB
A-dashboarS95-ARSPASS302 1KB
A-send-pipS95-ARSPASS302 1KB
A-harvest-S95-ARSPASS302 1KB
A-command-S95-ARSPASS302 1KB
A-domain-mS95-ARSPASS302 1KB
A-ceo-dashS95-ARSPASS302 1KB
A-reputatiS95-ARSPASS302 1KB
A-newslettS95-ARSPASS302 1KB
A-trackingS95-ARSPASS302 1KB
A-self-heaS95-ARSPASS302 1KB
iResp-RootS95-iRPASS302
EthicaINFRAPASS302 0KB
ConsentINFRAPASS200 9KB
TwentyINFRAPASS302 0KB
n8nINFRAPASS302 0KB
MMINFRAPASS302 0KB
WEVIAAPIPASSJSON 676B
ManifestAPIPASSJSON 2906B
HealthAPIPASSJSON 400B
AEGISAPIPASSJSON 424B
AE-ScAPIPASSJSON 98B
AE-PolAPIPASSJSON 244B
SSAPIPASSJSON 269B
SS-SAPIPASSJSON 313B
SS-RAPIPASSJSON 137B
AIOSAPIPASSJSON 255B
AI-AgAPIPASSJSON 348B
AI-KAPIPASSJSON 281B
OClawAPIPASSJSON 391B
PromAPIPASSJSON 123B
SMemAPIPASSJSON 196B
MstrAPIPASSJSON 211B
DifyAPIPASSJSON 479B
EvoAPIPASSJSON 143B
APcsAPIPASSJSON 125B
GooseAPIPASSJSON 177B
BrUseAPIPASSJSON 24B
EthPAPIPASSJSON 78B
RtrAPIPASSJSON 189B
NR-JSONAPIPASSJSON 827B
CRMAPIPASSJSON 25B
LvMetAPIPASSJSON 91B
MonDshAPIPASSJSON 1530B
IP-WVSECPASSClean
IP-WASECPASSClean
IP-CRMSECPASSClean
NucleiSECPASS0 finds
KumoMTAS95-BKPASSactive
PMTAS95-BKPASS3 procs (senders standby)
EthDBS95-BKPASS126123 ct
SendDBS95-BKPASS3094652 ct
S95-DskS95-BKPASS81%
DockerS95-BKPASSactive
WhatsAppC2-APIPASSJSON 352B
WA-HookC2-APIPASS403
SpamScoreC2-APIPASS200
WEVADS-IAC2-SPAPASS302 0KB
BlacklistC2-WVPASS302 0KB
WorldDashC2-WVPASS302 0KB
SeedsC2-WVPASS302 0KB
NR-APIC2-APIPASSJSON 827B
SSO-blade-centSSOPASS200
SSO-blade-ai.hSSOPASS200
SSO-claude-monSSOPASS302
SSO-crons-moniSSOPASS200
SSO-monitoringSSOPASS200
SSO-openclaw.hSSOPASS200
SSO-crm.htmlSSOPASS200
SSO-world-map-SSOPASS302
B2B-LeadsDATAPASS1395 leads
LinkedInDATAPASS1539 profiles
Ethica-DZDATAPASS87288 HCPs
Ethica-MADATAPASS19450 HCPs
Ethica-TNDATAPASS17506 HCPs
Ethica-CronsCRONSPASS17 cron entries (crontab-based)
Ethica-ScriptsCRONSPASS15 scripts
Blade-APIBLADEPASSJSON 332B
Blade-BrainBLADEPASS18B
Blade-AIBLADEPASS200
Blade-CtrBLADEPASS200
Sentinel-PS1BLADEPASS200 16KB
Life-APILIFEPASS50B
Life-AppLIFEPASS302 1KB
Life-HTMLLIFEPASS200 24KB
Blade-TGBLADEPASS11B
Blade-MMBLADEPASS108B
WEVIA-ChatFUNCPASSGemini 2.5 Flash 507ch
Life-ChatFUNCPASS1830ch
Ethica-ChatFUNCPASS131ch
Monitor-UPFUNCPASS10 services UP
Ollama-LiveFUNCPASS10 models
Arsenal-HPFUNCPASS1377 screens
Ethica-HCPsFUNCPASS126123 HCPs
SSO-BladeSSOPASS200
SSO-MonitorSSOPASS200
SSO-CCSSOPASS302
SSO-NRSSOPASS302
SSO-MTSSOPASS302
SSO-OpsSSOPASS302
SSO-ToolsSSOPASS302
SSO-AppsSSOPASS302
SSO-OClawSSOPASS200
SSO-CRMSSOPASS200
SSO-WkspSSOPASS302
SSO-LifeSSOPASS302
SSO-MegaSSOPASS302
Sub-CRMSSOPASS302
Sub-n8nSSOPASS302
Sub-MMSSOPASS302
Sub-DeerSSOPASS302
DF-Title01AVRPASSTWENTY!
CyberMon01AVRPASS200
Plausible01AVRPASSpresent
Plaus-Blog01AVRPASSpresent
Caps1001AVRFAIL9/10
OSS-Disc01AVRPASS200 9117B
EthFeed01AVRPASS126123 HCPs 30 feed
BladeAPI01AVRPASS200 332B
CC-SSO01AVRPASS302
HealthCk01AVRPASSexists
Bench-LB-DictSTRUCTPASStype=list len=201
Bench-LB-ScoresSTRUCTPASSval_type=dict
Bench-EcoSTRUCTPASSscore=80
Bench-AIsSTRUCTPASScount=201
CronStatusSTRUCTPASS10 active 5 disabled
\ No newline at end of file diff --git a/api/wevia-agents-pack-status.json b/api/wevia-agents-pack-status.json index b43258295..63f398629 100644 --- a/api/wevia-agents-pack-status.json +++ b/api/wevia-agents-pack-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-07T23:15:02.016997", + "timestamp": "2026-04-07T23:45:02.272202", "agents": { "responsive": { "status": "AMBER", @@ -15,7 +15,7 @@ "hamburger": true, "menu_opens": true }, - "body": 106071 + "body": 102507 }, { "viewport": "iphone", @@ -113,7 +113,7 @@ "content": true, "no_overflow": true }, - "body": 106490 + "body": 102924 }, { "viewport": "ipad", @@ -201,7 +201,7 @@ "content": true, "no_overflow": true }, - "body": 106418 + "body": 106419 }, { "viewport": "wide", @@ -323,6 +323,11 @@ "model_updater": { "status": "GREEN", "ollama": [ + { + "name": "glm4:9b", + "size_gb": 5.5, + "modified": "2026-04-07" + }, { "name": "hermes3:8b", "size_gb": 4.7, @@ -420,7 +425,7 @@ } ], "updates": [], - "count": 9, + "count": 10, "hf_dataset": "check" } } diff --git a/api/wevia-antiregression-status.json b/api/wevia-antiregression-status.json index bcc714953..c56b7ce2a 100644 --- a/api/wevia-antiregression-status.json +++ b/api/wevia-antiregression-status.json @@ -1,8 +1,17 @@ { - "timestamp": "2026-04-07 23:35:19", - "healthy": true, - "issues": [], + "timestamp": "2026-04-07 23:45:09", + "healthy": false, + "issues": [ + "Domain monitor.weval-consulting.com: HTTP 500", + "Domain ethica.weval-consulting.com: HTTP 500", + "Domain auth.weval-consulting.com: HTTP 502", + "Domain crm.weval-consulting.com: HTTP 500", + "Domain deerflow.weval-consulting.com: HTTP 500", + "Domain mm.weval-consulting.com: HTTP 500", + "Domain n8n.weval-consulting.com: HTTP 500", + "Domain analytics.weval-consulting.com: HTTP 500" + ], "fixes": [], - "issues_count": 0, + "issues_count": 8, "fixes_count": 0 } \ No newline at end of file diff --git a/api/wevia-auth-status.json b/api/wevia-auth-status.json index 1d24cc98c..d760e1ebb 100644 --- a/api/wevia-auth-status.json +++ b/api/wevia-auth-status.json @@ -1,6 +1,6 @@ { - "timestamp": "2026-04-07 21:35:03", - "healthy": true, + "timestamp": "2026-04-07 21:45:05", + "healthy": false, "checks": { "outpost": "UP", "flow:weval-consulting.com": "OK", @@ -11,7 +11,7 @@ "flow:crm.weval-consulting.com": "OK", "flow:mm.weval-consulting.com": "OK", "flow:analytics.weval-consulting.com": "OK", - "flow:deerflow.weval-consulting.com": "OK", + "flow:deerflow.weval-consulting.com": "FAIL:500", "callback_location": "OK", "cookie_domain": ".weval-consulting.com", "ssl:weval-consulting.com": "58d", @@ -20,13 +20,19 @@ "docker:authentik-worker": "running", "docker:authentik-db": "running", "docker:authentik-redis": "running", - "open_ports": 53, + "open_ports": 52, "nginx": "OK" }, - "flow_ok": 9, - "flow_fail": 0, - "alerts_count": 0, + "flow_ok": 8, + "flow_fail": 1, + "alerts_count": 1, "fixes_count": 0, - "alerts": [], + "alerts": [ + { + "level": "warning", + "msg": "Auth flow deerflow.weval-consulting.com: 500", + "ts": "2026-04-07T21:45:04+00:00" + } + ], "fixes": [] } \ No newline at end of file diff --git a/api/wevia-autonomous.php b/api/wevia-autonomous.php index 744be8216..0697e3d1d 100644 --- a/api/wevia-autonomous.php +++ b/api/wevia-autonomous.php @@ -242,6 +242,11 @@ function detectIntents($msg) { $intents[] = ['name'=>'ssh_exec','desc'=>'L99 Exhaustive','params'=>['cmd'=>'bash /var/www/html/api/l99-exhaustive.sh']]; } + // Mega page test (210 pages + subdomains) + if (preg_match("/\\b(test.*page|page.*test|210.*page|tout.*page|all.*page|toute.*page)/i", $msg)) { + $intents[] = ['name'=>'ssh_exec','desc'=>'Mega Page Test','params'=>['cmd'=>'bash /var/www/html/api/mega-page-test.sh']]; + } + // Architecture 4 serveurs if (preg_match("/\\b(archi|architecture|4.*serv|all.*serv|blade.*status|s95|s151|sentinel)/i", $msg)) { $intents[] = ['name'=>'ssh_exec','desc'=>'Architecture Scan','params'=>['cmd'=>'bash /var/www/html/api/arch-scan.sh']]; diff --git a/api/wevia-autonomy-status.json b/api/wevia-autonomy-status.json index 1e43d2de3..d6ef69c64 100644 --- a/api/wevia-autonomy-status.json +++ b/api/wevia-autonomy-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-07 21:35:02", + "timestamp": "2026-04-07 21:50:01", "version": "1.0", "disk": 83, "ram": 28, @@ -14,16 +14,16 @@ { "level": "critical", "msg": "S204:mirofish DOWN (:5001)", - "time": "21:35:02" + "time": "21:50:01" } ], "log": [ - "21:35:02 Disk: 83%", - "21:35:02 SSL: 362d remaining", - "21:35:02 Docker: 20 containers", - "21:35:02 Ollama: 10 models, 31.3GB", - "21:35:02 RAM: 28%", - "21:35:02 Arch score: 98\/100" + "21:50:01 Disk: 83%", + "21:50:02 SSL: 362d remaining", + "21:50:02 Docker: 20 containers", + "21:50:02 Ollama: 10 models, 31.3GB", + "21:50:02 RAM: 28%", + "21:50:02 Arch score: 98\/100" ], "s204_services": 8, "s95_mta": 5 diff --git a/api/wevia-blade-status.json b/api/wevia-blade-status.json index a2dbf9b24..5b839bb49 100644 --- a/api/wevia-blade-status.json +++ b/api/wevia-blade-status.json @@ -1 +1 @@ -{"ts":"23:38","status":"offline"} +{"ts":"23:50","status":"online","cpu":"100%","ram":"84%","ip":"41.248.190.86","uptime":"0d 20h","pending":24,"via":"heartbeat"} diff --git a/api/wevia-nonreg-results.json b/api/wevia-nonreg-results.json index de0f542a0..bada5cccd 100644 --- a/api/wevia-nonreg-results.json +++ b/api/wevia-nonreg-results.json @@ -1,45 +1,41 @@ { - "date": "2026-04-07 21:30:02", - "score": "9\/13 (69.2%)", - "passed": 9, - "failed": 4, + "date": "2026-04-07 21:45:02", + "score": "12\/13 (92.3%)", + "passed": 12, + "failed": 1, "total": 13, - "regressions": [ - "eng:LLM", - "eng:Code", - "eng:Docker" - ], + "regressions": [], "auto_fixes": [], "tests": [ { "name": "eng:LLM", - "ok": false, - "detail": "0t 0a" + "ok": true, + "detail": "24t 3a" }, { "name": "eng:Code", - "ok": false, - "detail": "0t 0a" - }, - { - "name": "eng:Docker", - "ok": false, - "detail": "0t 0a" - }, - { - "name": "eng:SQL", "ok": true, "detail": "12t 1a" }, + { + "name": "eng:Docker", + "ok": true, + "detail": "17t 2a" + }, + { + "name": "eng:SQL", + "ok": true, + "detail": "10t 1a" + }, { "name": "eng:SSL", "ok": true, - "detail": "11t 7a" + "detail": "16t 7a" }, { "name": "eng:Compare", "ok": true, - "detail": "14t 3a" + "detail": "16t 3a" }, { "name": "api:Dream", diff --git a/api/wevia-pilot-status.json b/api/wevia-pilot-status.json index b6182695c..8c4eb3aa5 100644 --- a/api/wevia-pilot-status.json +++ b/api/wevia-pilot-status.json @@ -1,2 +1,2 @@ -{"ts":"23:30","disk":"83%","swap":"82%","docker_dead":"none","http":"200","ssl":"Certificate will not expire +{"ts":"23:40","disk":"83%","swap":"81%","docker_dead":"none","http":"200","ssl":"Certificate will not expire ok","alerts":"none","crons":54} diff --git a/api/wevia-quality-status.json b/api/wevia-quality-status.json index 3b4ed8211..3cab9cac0 100644 --- a/api/wevia-quality-status.json +++ b/api/wevia-quality-status.json @@ -1,9 +1,9 @@ { - "timestamp": "2026-04-07 21:30:10", + "timestamp": "2026-04-07 21:40:05", "healthy": false, - "global_pass": 427, - "global_fail": 28, - "global_rate": 93.8, + "global_pass": 442, + "global_fail": 13, + "global_rate": 97.1, "suites": { "l99_ux": { "pass": 146, @@ -18,8 +18,8 @@ "total": 34 }, "nonreg": { - "pass": 137, - "fail": 16, + "pass": 152, + "fail": 1, "total": 153 }, "full_nonreg": { @@ -44,14 +44,14 @@ "json": true }, "Qdrant": { - "ok": false, - "code": 502, - "json": false - }, - "SearXNG": { "ok": true, "code": 200, "json": true + }, + "SearXNG": { + "ok": false, + "code": 429, + "json": false } } }, @@ -83,7 +83,7 @@ }, "issues": [ "L99 UX: 3 failures", - "NonReg: 16 failures ()", + "NonReg: 1 failures ()", "Full NonReg: 7\/28 failures (75%)", "L99 Command: 2 failures", "Chat Monitor: 1 capabilities returning non-JSON", diff --git a/api/wevia-selfmanage.json b/api/wevia-selfmanage.json index 446e56273..55fed07b4 100644 --- a/api/wevia-selfmanage.json +++ b/api/wevia-selfmanage.json @@ -1,2 +1,2 @@ -{"ts":"23:35","disk":"83%","ram":"28%","docker_dead":"0","ssl":"Certificate will not expire +{"ts":"23:45","disk":"83%","ram":"27%","docker_dead":"0","ssl":"Certificate will not expire ok","models":"10","qdrant":"4","errors":"20"} diff --git a/l99-saas.html b/l99-saas.html index 739dbcd3c..caf09dbb0 100644 --- a/l99-saas.html +++ b/l99-saas.html @@ -90,7 +90,7 @@ fetch('/api/l99-api.php?action=failures').then(r=>r.json()).then(d=>{ const TABS={command:'Command center',functional:'Functional (42)',visual:'Visual (30)',coverage:'Test coverage',servers:'Server health',history:'Run history'}; let tab='command'; -let DATA={tests:206,pass:189,fail:17,warn:0,layers:9,ss:14,vid:32}; +let DATA={tests:206,pass:203,fail:3,warn:0,layers:9,ss:14,vid:32}; // Clock setInterval(()=>{document.getElementById('clock').textContent=new Date().toLocaleTimeString('fr-FR')},1000); @@ -124,7 +124,7 @@ async function fetchLive(){ render(); } -const LAYERS=[{n:'DOCKER',t:11,p:11,c:'cy'},{n:'CAPABILITIES',t:10,p:9,c:'cy'},{n:'CRONS',t:3,p:3,c:'cy'},{n:'SYSTEMD',t:4,p:4,c:'cy'},{n:'PORTS-S204',t:8,p:8,c:'lv'},{n:'S95-HEALTH',t:3,p:3,c:'em'},{n:'SOVEREIGN',t:10,p:10,c:'lv'},{n:'QDRANT',t:4,p:4,c:'em'},{n:'NONREG',t:153,p:137,c:'em'}]; +const LAYERS=[{n:'DOCKER',t:11,p:11,c:'cy'},{n:'CAPABILITIES',t:10,p:8,c:'cy'},{n:'CRONS',t:3,p:3,c:'cy'},{n:'SYSTEMD',t:4,p:4,c:'cy'},{n:'PORTS-S204',t:8,p:8,c:'lv'},{n:'S95-HEALTH',t:3,p:3,c:'em'},{n:'SOVEREIGN',t:10,p:10,c:'lv'},{n:'QDRANT',t:4,p:4,c:'em'},{n:'NONREG',t:153,p:152,c:'em'}]; const SERVERS=[ {n:'S204',ip:'204.168.152.13',role:'Primary AI Hub',ports:48,docker:19,disk:'82%',s:'up'}, diff --git a/test-report/full-nonreg-results.json b/test-report/full-nonreg-results.json index 2cae533a2..7c6130f37 100644 --- a/test-report/full-nonreg-results.json +++ b/test-report/full-nonreg-results.json @@ -1,204 +1 @@ -{ - "timestamp": "2026-04-07 18:00:37", - "pass": 21, - "fail": 7, - "total": 28, - "tests": [ - { - "id": 1, - "name": "AUTH-01 Login valid", - "status": "pass", - "detail": "ok=true", - "category": "auth" - }, - { - "id": 2, - "name": "AUTH-02 Reject bad pass", - "status": "pass", - "detail": "Rejected correctly", - "category": "auth" - }, - { - "id": 3, - "name": "AUTH-03 Redirect preserved", - "status": "pass", - "detail": "/command-center.html", - "category": "auth" - }, - { - "id": 4, - "name": "AUTH Public / = 200", - "status": "pass", - "detail": "25010 bytes", - "category": "auth" - }, - { - "id": 5, - "name": "AUTH Public /login.html = 200", - "status": "pass", - "detail": "7540 bytes", - "category": "auth" - }, - { - "id": 6, - "name": "AUTH Public /wevia = 200", - "status": "pass", - "detail": "149848 bytes", - "category": "auth" - }, - { - "id": 7, - "name": "AUTH Public /wevia-widget.html = 200", - "status": "pass", - "detail": "15560 bytes", - "category": "auth" - }, - { - "id": 8, - "name": "AUTH Protected /command-center.html = 302", - "status": "pass", - "detail": "HTTP 302", - "category": "auth" - }, - { - "id": 9, - "name": "AUTH Protected /nonreg.html = 302", - "status": "pass", - "detail": "HTTP 302", - "category": "auth" - }, - { - "id": 10, - "name": "AUTH Protected /ops-center.html = 302", - "status": "pass", - "detail": "HTTP 302", - "category": "auth" - }, - { - "id": 11, - "name": "AUTH Protected /infra-command.html = 302", - "status": "pass", - "detail": "HTTP 302", - "category": "auth" - }, - { - "id": 12, - "name": "AUTH Protected /apps.html = 302", - "status": "pass", - "detail": "HTTP 302", - "category": "auth" - }, - { - "id": 13, - "name": "CHAT-01 Health POST", - "status": "fail", - "detail": "Not JSON", - "category": "chatbot" - }, - { - "id": 14, - "name": "CHAT-02 Greeting", - "status": "fail", - "detail": "Not JSON", - "category": "chatbot" - }, - { - "id": 15, - "name": "CHAT-03 No Yacine leak", - "status": "pass", - "detail": "Clean response", - "category": "chatbot" - }, - { - "id": 16, - "name": "CHAT-04 No Chinese", - "status": "pass", - "detail": "OK", - "category": "chatbot" - }, - { - "id": 17, - "name": "CHAT-05 No provider leak", - "status": "pass", - "detail": "No leaks", - "category": "chatbot" - }, - { - "id": 18, - "name": "CAP-01 Code Python", - "status": "fail", - "detail": "Not JSON", - "category": "capability" - }, - { - "id": 19, - "name": "CAP-02 Code React", - "status": "fail", - "detail": "Not JSON", - "category": "capability" - }, - { - "id": 20, - "name": "CAP-03 Consulting SAP", - "status": "fail", - "detail": "Not JSON", - "category": "capability" - }, - { - "id": 21, - "name": "CAP-04 SWOT analysis", - "status": "fail", - "detail": "Not JSON", - "category": "capability" - }, - { - "id": 22, - "name": "CAP-05 Cybersecurity", - "status": "fail", - "detail": "Not JSON", - "category": "capability" - }, - { - "id": 23, - "name": "INFRA-01 Action Engine", - "status": "pass", - "detail": "57 routes", - "category": "infra" - }, - { - "id": 24, - "name": "INFRA-02 Ethica HCPs", - "status": "pass", - "detail": "50004 HCPs", - "category": "infra" - }, - { - "id": 25, - "name": "INFRA-03 Quality Agent", - "status": "pass", - "detail": "95.2%", - "category": "infra" - }, - { - "id": 26, - "name": "OSS-01 Ollama", - "status": "pass", - "detail": "UP", - "category": "oss" - }, - { - "id": 27, - "name": "OSS-02 SearXNG", - "status": "pass", - "detail": "UP", - "category": "oss" - }, - { - "id": 28, - "name": "OSS-03 Qdrant", - "status": "pass", - "detail": "UP", - "category": "oss" - } - ] -} \ No newline at end of file +{"timestamp":"2026-04-07T21:40:38Z","pass":22,"fail":13,"total":35,"tests":[{"id":1,"name":"AUTH-01 Login valid","status":"pass","detail":"ok=true ","category":"auth"},{"id":2,"name":"AUTH-02 Reject bad pass","status":"pass","detail":"Rejected correctly ","category":"auth"},{"id":3,"name":"AUTH-03 Redirect preserved","status":"pass","detail":"/command-center.html ","category":"auth"},{"id":4,"name":"AUTH Public / = 200","status":"pass","detail":"HTTP 200 ","category":"auth"},{"id":5,"name":"AUTH Public /login.html = 200","status":"pass","detail":"HTTP 200 ","category":"auth"},{"id":6,"name":"AUTH Public /wevia = 200","status":"pass","detail":"HTTP 200 ","category":"auth"},{"id":7,"name":"AUTH Public /wevia-widget.html = 200","status":"pass","detail":"HTTP 200 ","category":"auth"},{"id":8,"name":"AUTH Protected /command-center.html = 302","status":"pass","detail":"Redirected (302) ","category":"auth"},{"id":9,"name":"AUTH Protected /nonreg.html = 302","status":"pass","detail":"Redirected (302) ","category":"auth"},{"id":10,"name":"AUTH Protected /ops-center.html = 302","status":"pass","detail":"Redirected (302) ","category":"auth"},{"id":11,"name":"AUTH Protected /infra-command.html = 302","status":"pass","detail":"Redirected (302) ","category":"auth"},{"id":12,"name":"AUTH Protected /apps.html = 302","status":"pass","detail":"Redirected (302) ","category":"auth"},{"id":13,"name":"CHAT-01 Health GET","status":"fail","detail":"{'success':true,'action':'code','result':'Je vois que votre message est vide \u2014 peut-\u00eatre une erreur d\u2019envoi ou un test.\n\nSouhaitez-vous :\n- D\u00e9velopper une fonctionnalit\u00e9 sp","category":"chatbot"},{"id":14,"name":"CHAT-02 Greeting","status":"fail","detail":"Empty or short response ","category":"chatbot"},{"id":15,"name":"CHAT-03 No Yacine leak","status":"pass","detail":"Clean response ","category":"chatbot"},{"id":16,"name":"CHAT-04 No Chinese","status":"pass","detail":"OK: ","category":"chatbot"},{"id":17,"name":"CHAT-05 No provider leak","status":"pass","detail":"No leaks ","category":"chatbot"},{"id":18,"name":"CAP-01 Code Python","status":"fail","detail":" ","category":"capability"},{"id":19,"name":"CAP-02 Code React","status":"fail","detail":" ","category":"capability"},{"id":20,"name":"CAP-03 Consulting SAP/Oracle","status":"fail","detail":"Too short: 0 chars ","category":"capability"},{"id":21,"name":"CAP-04 Image artistic","status":"fail","detail":" ","category":"capability"},{"id":22,"name":"CAP-05 Logo SVG","status":"fail","detail":" ","category":"capability"},{"id":23,"name":"CAP-06 PDF generation","status":"fail","detail":" ","category":"capability"},{"id":24,"name":"CAP-07 Mermaid schema","status":"fail","detail":" ","category":"capability"},{"id":25,"name":"CAP-08 Skills list","status":"fail","detail":" ","category":"capability"},{"id":26,"name":"CAP-09 SWOT analysis","status":"fail","detail":" ","category":"capability"},{"id":27,"name":"MGR-01 Manager responds","status":"pass","detail":"agent=WEVIA ","category":"manager"},{"id":28,"name":"MGR-02 Sources injected","status":"fail","detail":"0 sources ","category":"manager"},{"id":29,"name":"MGR-03 Dormant modules","status":"fail","detail":"0 modules (expected >=3) ","category":"manager"},{"id":30,"name":"MGR-04 Ethica routing","status":"pass","detail":"agent=Ethica ","category":"manager"},{"id":31,"name":"OSS-01 Ollama models","status":"pass","detail":"10 models loaded ","category":"oss"},{"id":32,"name":"OSS-02 SearXNG","status":"pass","detail":"HTTP 200 ","category":"oss"},{"id":33,"name":"OSS-03 Qdrant","status":"pass","detail":"status=ok ","category":"oss"},{"id":34,"name":"OSS-04 Plausible","status":"pass","detail":"HTTP 302 ","category":"oss"},{"id":35,"name":"OSS-05 Authentik SSO","status":"pass","detail":"HTTP 302 ","category":"oss"}]}