AUTO-BACKUP 20260407-2350
This commit is contained in:
2
api/$_IC
2
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}}
|
||||
{"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}}
|
||||
@@ -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"
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
1
api/mega-page-test.json
Normal file
1
api/mega-page-test.json
Normal file
@@ -0,0 +1 @@
|
||||
{"pass":122,"fail":0,"total":122,"rate":100,"date":"2026-04-07T23:46:37+02:00"}
|
||||
46
api/mega-page-test.sh
Executable file
46
api/mega-page-test.sh
Executable file
@@ -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
|
||||
@@ -13,5 +13,5 @@
|
||||
"Run simulation",
|
||||
"CEO insights"
|
||||
],
|
||||
"timestamp": "2026-04-07 21:40:01"
|
||||
"timestamp": "2026-04-07 21:50:01"
|
||||
}
|
||||
@@ -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"}]}
|
||||
{"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"}]}
|
||||
File diff suppressed because one or more lines are too long
@@ -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"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
@@ -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": []
|
||||
}
|
||||
@@ -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']];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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"}
|
||||
|
||||
@@ -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'},
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
]
|
||||
}
|
||||
{"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"}]}
|
||||
|
||||
Reference in New Issue
Block a user