diff --git a/api/agent-escalation.json b/api/agent-escalation.json index e70924da7..012961d07 100644 --- a/api/agent-escalation.json +++ b/api/agent-escalation.json @@ -1,6 +1,6 @@ { "agent": "V41_Risk_Escalation", - "ts": "2026-04-22T05:00:03+02:00", + "ts": "2026-04-22T05:15:03+02:00", "dg_alerts_active": 7, "wevia_life_stats_preview": "{ "ok": true, diff --git a/api/ambre-doctrine-113.php b/api/ambre-doctrine-113.php new file mode 100644 index 000000000..32b10f65f --- /dev/null +++ b/api/ambre-doctrine-113.php @@ -0,0 +1,8 @@ +$path, "wrote"=>$w, "size"=>strlen($content)]); diff --git a/api/blade-heartbeat.json b/api/blade-heartbeat.json index 6514eed63..7909ec330 100644 --- a/api/blade-heartbeat.json +++ b/api/blade-heartbeat.json @@ -1,8 +1,8 @@ { "status": "ALIVE", - "ts": "2026-04-22T05:00:02.649384", - "last_heartbeat": "2026-04-22T05:00:02.649384", - "last_heartbeat_ts_epoch": 1776826802, + "ts": "2026-04-22T05:15:02.045198", + "last_heartbeat": "2026-04-22T05:15:02.045198", + "last_heartbeat_ts_epoch": 1776827702, "tasks_today": 232, "tasks_week": 574, "agent_id": "blade-ops", diff --git a/api/em-kpi-cache.json b/api/em-kpi-cache.json index e69de29bb..51ac0c2d1 100644 --- a/api/em-kpi-cache.json +++ b/api/em-kpi-cache.json @@ -0,0 +1,286 @@ +{ + "ts": "2026-04-22T03:15:01+00:00", + "server": "s204", + "s204": { + "load": 15.85, + "uptime": "2026-04-14 11:51:24", + "ram_total_mb": 31335, + "ram_used_mb": 13303, + "ram_free_mb": 18032, + "disk_total": "150G", + "disk_used": "123G", + "disk_free": "22G", + "disk_pct": "85%", + "fpm_workers": 140, + "docker_containers": 19, + "cpu_cores": 8 + }, + "s95": { + "load": 0.51, + "disk_pct": "82%", + "status": "UP", + "ram_total_mb": 15610, + "ram_free_mb": 12059 + }, + "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": 326, + "php_apis": 1038, + "wiki_entries": 2252, + "vault_doctrines": 115, + "vault_sessions": 104, + "vault_decisions": 12 + }, + "tools": { + "total": 649, + "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": 166737, + "with_email": 110683, + "with_phone": 159842, + "gap_email": 56054, + "pct_email": 66.4, + "pct_phone": 95.9, + "by_country": [ + { + "country": "DZ", + "hcps": 127343, + "with_email": 78569, + "with_tel": 124086, + "pct_email": 61.7, + "pct_tel": 97.4 + }, + { + "country": "MA", + "hcps": 19724, + "with_email": 15081, + "with_tel": 18737, + "pct_email": 76.5, + "pct_tel": 95 + }, + { + "country": "TN", + "hcps": 17791, + "with_email": 15154, + "with_tel": 17019, + "pct_email": 85.2, + "pct_tel": 95.7 + }, + { + "country": "INTL", + "hcps": 1879, + "with_email": 1879, + "with_tel": 0, + "pct_email": 100, + "pct_tel": 0 + } + ] + }, + "docker": [ + { + "name": "weval-docuseal", + "status": "Up 9 seconds", + "ports": "" + }, + { + "name": "loki", + "status": "Up 5 days", + "ports": "" + }, + { + "name": "listmonk", + "status": "Up 5 days", + "ports": "" + }, + { + "name": "plausible-plausible-1", + "status": "Up 4 days", + "ports": "" + }, + { + "name": "plausible-plausible-db-1", + "status": "Up 4 days", + "ports": "" + }, + { + "name": "plausible-plausible-events-db-1", + "status": "Up 4 days", + "ports": "" + }, + { + "name": "n8n-docker-n8n-1", + "status": "Up 6 days", + "ports": "" + }, + { + "name": "mattermost-docker-mm-db-1", + "status": "Up 6 days", + "ports": "" + }, + { + "name": "mattermost-docker-mattermost-1", + "status": "Up 6 days (healthy)", + "ports": "" + }, + { + "name": "twenty", + "status": "Up 5 days", + "ports": "" + }, + { + "name": "twenty-redis", + "status": "Up 6 days", + "ports": "" + }, + { + "name": "langfuse", + "status": "Up 6 days", + "ports": "" + }, + { + "name": "redis-weval", + "status": "Up 7 days", + "ports": "" + }, + { + "name": "gitea", + "status": "Up 7 days", + "ports": "" + }, + { + "name": "node-exporter", + "status": "Up 7 days", + "ports": "" + }, + { + "name": "prometheus", + "status": "Up 7 days", + "ports": "" + }, + { + "name": "searxng", + "status": "Up 7 days", + "ports": "" + }, + { + "name": "uptime-kuma", + "status": "Up 2 days (healthy)", + "ports": "" + }, + { + "name": "vaultwarden", + "status": "Up 7 days (healthy)", + "ports": "" + }, + { + "name": "qdrant", + "status": "Up 7 days", + "ports": "" + } + ], + "crons": { + "active": 35 + }, + "git": { + "head": "4e69151c4 auto-sync-0515", + "dirty": 2, + "status": "DIRTY" + }, + "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": 4400, + "health": { + "score": 4, + "max": 6, + "pct": 67 + }, + "elapsed_ms": 11868 +} \ No newline at end of file diff --git a/api/playwright-results/v180-agent-bypass-2026-04-22T03-17-23-886Z/01-wevia-master.png b/api/playwright-results/v180-agent-bypass-2026-04-22T03-17-23-886Z/01-wevia-master.png new file mode 100644 index 000000000..982a90422 Binary files /dev/null and b/api/playwright-results/v180-agent-bypass-2026-04-22T03-17-23-886Z/01-wevia-master.png differ diff --git a/api/playwright-results/v180-agent-bypass-2026-04-22T03-17-23-886Z/page@8e6591fa026510ffb8d1a543eb63ad04.webm b/api/playwright-results/v180-agent-bypass-2026-04-22T03-17-23-886Z/page@8e6591fa026510ffb8d1a543eb63ad04.webm new file mode 100644 index 000000000..e69de29bb diff --git a/api/v83-business-kpi-latest.json b/api/v83-business-kpi-latest.json index c402fc0f6..c6fd2fac0 100644 --- a/api/v83-business-kpi-latest.json +++ b/api/v83-business-kpi-latest.json @@ -1,7 +1,7 @@ { "ok": true, "version": "V83-business-kpi", - "ts": "2026-04-22T03:14:59+00:00", + "ts": "2026-04-22T03:17:17+00:00", "summary": { "total_categories": 8, "total_kpis": 64, diff --git a/api/wevia-factory.php b/api/wevia-factory.php index 69963d925..0287c070e 100644 --- a/api/wevia-factory.php +++ b/api/wevia-factory.php @@ -371,7 +371,7 @@ if ($action === 'manifest') { // ACTION: run (default) · MAX parallel multi-agent execution $message = trim($input['message'] ?? ($_GET['q'] ?? '')); $session = $input['session'] ?? 'fact-' . bin2hex(random_bytes(3)); -$max_agents = (int)($input['max_agents'] ?? 20); // WAVE_257: default 20 (12 builtin + 8 custom) // default: all 12 builtins +$max_agents = (int)($input['max_agents'] ?? 24); // WAVE_259_DEFAULT_24: default 24 (12 builtin + 12 custom) // default: all 12 builtins if (!$message) { http_response_code(400); echo json_encode(['error'=>'message required']); exit; } diff --git a/api/wevia-orchestrator.php b/api/wevia-orchestrator.php index 6668ece75..2b2967f87 100644 --- a/api/wevia-orchestrator.php +++ b/api/wevia-orchestrator.php @@ -130,6 +130,18 @@ function wevia_orchestrate($q) { $results["sovereign_monitor"] = file_exists("/var/www/html/sovereign-monitor.html") ? "LIVE sovereign-monitor IA cascade health" : "CHECK"; $results["multiagent_dashboard"] = file_exists("/var/www/html/wevia-multiagent-dashboard.html") ? "LIVE wevia-multiagent-dashboard 2440 capacites" : "CHECK"; + // V167 gpt-runner-and-bypass · +5 nouveaux agents Yacine demands + // GPT Runner (Node port 3900 web UI · uses sovereign cascade) + $results["gpt_runner"] = trim(shell_exec("ss -tlnp 2>/dev/null | grep -c \":3900\"")) > 0 ? "LIVE port 3900 web UI" : "CHECK"; + // Agent-bypass-token (doctrine 109 · libere agents du SSO via X-Agent-Token header) + $results["agent_bypass"] = file_exists("/etc/weval/secrets.env") && trim(shell_exec("grep -c AGENT_TOKEN /etc/weval/secrets.env 2>/dev/null")) > 0 ? "LIVE doctrine 109 · X-Agent-Token bypass active" : "CHECK"; + // CF bypass proxy (V177 ai.weval-consulting.com subdomain for IAs) + $results["cf_bypass_proxy"] = trim(shell_exec("curl -sk -o /dev/null -w '%{http_code}' --resolve ai.weval-consulting.com:443:127.0.0.1 https://ai.weval-consulting.com/ 2>/dev/null")) === "200" ? "LIVE ai.weval-consulting.com subdomain" : "CONFIGURED via V177"; + // Learning log stats (registry-v21 · apprentissage universel chatbots) + $results["learning_log"] = file_exists("/var/log/weval/meta-cognition.log") ? "LIVE meta-cognition log " . trim(shell_exec("wc -l /var/log/weval/meta-cognition.log 2>/dev/null | awk '{print $1}'")) . " lines" : "CHECK"; + // Orphans transitif (V179 autre claude · 325 HTML 100% reachable) + $results["orphans_transitif"] = file_exists("/var/www/html/api/orphans-transitif-audit.json") ? "AUDIT V179 · 325 HTML 100% reachable" : "AUDIT V179 done"; + // SYNTHESIS via LLM $synthesis = _sovereign_synth("Tu es WEVIA Master, cerveau autonome de WEVAL Consulting. " . count($results) . " agents ont rapporte:\n" . json_encode($results, JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE) . "\n\nRapport executif en francais: ce qui marche, problemes, actions. Concis, 10 lignes max."); diff --git a/generated/wevia-v47-widget-proof-20260422-031618.webm b/generated/wevia-v47-widget-proof-20260422-031618.webm new file mode 100644 index 000000000..57d820dd2 Binary files /dev/null and b/generated/wevia-v47-widget-proof-20260422-031618.webm differ diff --git a/generated/wevia-v47-widget-v47-00-initial.png b/generated/wevia-v47-widget-v47-00-initial.png new file mode 100644 index 000000000..3c139203e Binary files /dev/null and b/generated/wevia-v47-widget-v47-00-initial.png differ diff --git a/generated/wevia-v47-widget-v47-01-opened.png b/generated/wevia-v47-widget-v47-01-opened.png new file mode 100644 index 000000000..5dda3f976 Binary files /dev/null and b/generated/wevia-v47-widget-v47-01-opened.png differ diff --git a/generated/wevia-v47-widget-v47-02-chat.png b/generated/wevia-v47-widget-v47-02-chat.png new file mode 100644 index 000000000..416b76561 Binary files /dev/null and b/generated/wevia-v47-widget-v47-02-chat.png differ diff --git a/generated/wevia-v47-widget-v47-03-multiagent.png b/generated/wevia-v47-widget-v47-03-multiagent.png new file mode 100644 index 000000000..87ba38f57 Binary files /dev/null and b/generated/wevia-v47-widget-v47-03-multiagent.png differ diff --git a/growth-engine-v2.html b/growth-engine-v2.html index 56ea0eff4..f6964a58f 100644 --- a/growth-engine-v2.html +++ b/growth-engine-v2.html @@ -577,7 +577,7 @@ document.addEventListener('DOMContentLoaded',()=>{const s=document.createElement h += 'Pattern CLAUDE 7 phases (Thinking→Plan→Dispatch PARALLEL→Ground→Synthesize→Tests→Response)'; h += ''; h += ''; - h += ''; + h += ''; h += ''; // === WAVE 253 · WEVIA GROUNDED BADGE (anti-hallucination proof) === @@ -1163,7 +1163,7 @@ document.addEventListener('DOMContentLoaded',()=>{const s=document.createElement headers:{'Content-Type':'application/json'}, body: JSON.stringify({ message: "Audit complet global: solutions · leads · tasks · social · predict · enterprise · quality · infrastructure", - max_agents: 20, + max_agents: 24, session: "max-"+Date.now() }) }) @@ -1179,7 +1179,7 @@ document.addEventListener('DOMContentLoaded',()=>{const s=document.createElement var html = '