From 258e2e643a7f5d1d24c5d2e5def23f4e15a9cff7 Mon Sep 17 00:00:00 2001 From: opus Date: Thu, 16 Apr 2026 23:35:01 +0200 Subject: [PATCH] auto-sync-2335 --- api/architecture-index.json | 36 +- api/architecture-scan.json | 1889 ++++++++++++++++++++++++++ api/blade-tasks/heartbeat.json | 2 +- api/l99-autofix-log.json | 2 +- api/ux-agent-report.json | 4 +- api/wevia-antiregression-status.json | 2 +- api/wevia-auth-status.json | 26 +- api/wevia-autonomy-status.json | 20 +- api/wevia-blade-status.json | 2 +- api/wevia-nonreg-results.json | 16 +- api/wevia-opus-intents.php | 58 + api/wevia-pilot-status.json | 2 +- api/wevia-quality-status.json | 2 +- api/wevia-selfmanage.json | 2 +- 14 files changed, 2007 insertions(+), 56 deletions(-) diff --git a/api/architecture-index.json b/api/architecture-index.json index 9270a9974..e6cf28cf4 100644 --- a/api/architecture-index.json +++ b/api/architecture-index.json @@ -1,5 +1,5 @@ { - "generated": "2026-04-16 21:00:02", + "generated": "2026-04-16 21:30:02", "version": "1.0", "servers": [ { @@ -10,7 +10,7 @@ "ssh": 49222, "disk_pct": 84, "disk_avail": "24G", - "uptime": "up 2 days, 11 hours, 8 minutes", + "uptime": "up 2 days, 11 hours, 38 minutes", "nginx": "active", "php_fpm": "active", "php_version": "8.5.5" @@ -61,7 +61,7 @@ }, { "name": "n8n-docker-n8n-1", - "status": "Up 17 hours", + "status": "Up 18 hours", "ports": "" }, { @@ -86,7 +86,7 @@ }, { "name": "langfuse", - "status": "Up 20 hours", + "status": "Up 21 hours", "ports": "" }, { @@ -277,7 +277,7 @@ "screens": { "s204_html": 185, "s204_products": 88, - "s204_api_php": 464, + "s204_api_php": 463, "s204_wevia_php": 18, "s95_arsenal_html": 1377, "s95_arsenal_api": 377 @@ -301,7 +301,7 @@ "langfuse" ], "key_tables": { - "kb_learnings": 5109, + "kb_learnings": 5110, "kb_documents": 0, "ethica_medecins": 50004, "enterprise_agents": 0 @@ -353,14 +353,18 @@ "name": "wevia_brain_knowledge", "vectors": 294 }, - { - "name": "wevia_kb_768", - "vectors": 232 - }, { "name": "obsidian_vault", "vectors": 46 }, + { + "name": "wevia_memory_768", + "vectors": 2 + }, + { + "name": "wevia_kb_768", + "vectors": 232 + }, { "name": "wevia_kb", "vectors": 386 @@ -467,9 +471,9 @@ } ], "crons": { - "s204_root": 56, - "s204_www": 56, - "s204_total": 112, + "s204_root": 0, + "s204_www": 5, + "s204_total": 5, "key_crons": [ { "name": "L99 Master", @@ -539,7 +543,7 @@ ] }, "wiki": { - "total_entries": 5109, + "total_entries": 5110, "categories": [ { "category": "AUTO-FIX", @@ -547,7 +551,7 @@ }, { "category": "TOPOLOGY", - "cnt": "960" + "cnt": "961" }, { "category": "DISCOVERY", @@ -1874,7 +1878,7 @@ "fixes_log": [], "recommendations": [] }, - "scan_time_ms": 772, + "scan_time_ms": 745, "gaps": [], "score": 100, "automation": { diff --git a/api/architecture-scan.json b/api/architecture-scan.json index e69de29bb..e6cf28cf4 100644 --- a/api/architecture-scan.json +++ b/api/architecture-scan.json @@ -0,0 +1,1889 @@ +{ + "generated": "2026-04-16 21:30:02", + "version": "1.0", + "servers": [ + { + "id": "S204", + "ip": "204.168.152.13", + "private": "10.1.0.2", + "role": "PRIMARY", + "ssh": 49222, + "disk_pct": 84, + "disk_avail": "24G", + "uptime": "up 2 days, 11 hours, 38 minutes", + "nginx": "active", + "php_fpm": "active", + "php_version": "8.5.5" + }, + { + "id": "S95", + "ip": "95.216.167.89", + "private": "10.1.0.3", + "role": "WEVADS Arsenal", + "ssh": 22, + "disk_pct": 86, + "disk_avail": "22G", + "sentinel": 1 + }, + { + "id": "S151", + "ip": "151.80.235.110", + "private": null, + "role": "DR\/Tracking OVH", + "ssh": 22 + } + ], + "docker": [ + { + "name": "loki", + "status": "Up 9 hours", + "ports": "" + }, + { + "name": "listmonk", + "status": "Up 12 hours", + "ports": "" + }, + { + "name": "plausible-plausible-1", + "status": "Up 12 hours", + "ports": "" + }, + { + "name": "plausible-plausible-db-1", + "status": "Up 12 hours", + "ports": "" + }, + { + "name": "plausible-plausible-events-db-1", + "status": "Up 12 hours", + "ports": "" + }, + { + "name": "n8n-docker-n8n-1", + "status": "Up 18 hours", + "ports": "" + }, + { + "name": "mattermost-docker-mm-db-1", + "status": "Up 18 hours", + "ports": "" + }, + { + "name": "mattermost-docker-mattermost-1", + "status": "Up 18 hours (healthy)", + "ports": "" + }, + { + "name": "twenty", + "status": "Up 11 hours", + "ports": "" + }, + { + "name": "twenty-redis", + "status": "Up 18 hours", + "ports": "" + }, + { + "name": "langfuse", + "status": "Up 21 hours", + "ports": "" + }, + { + "name": "redis-weval", + "status": "Up 2 days", + "ports": "" + }, + { + "name": "gitea", + "status": "Up 2 days", + "ports": "" + }, + { + "name": "node-exporter", + "status": "Up 2 days", + "ports": "" + }, + { + "name": "prometheus", + "status": "Up 2 days", + "ports": "" + }, + { + "name": "searxng", + "status": "Up 2 days", + "ports": "" + }, + { + "name": "uptime-kuma", + "status": "Up 2 days (healthy)", + "ports": "" + }, + { + "name": "vaultwarden", + "status": "Up 2 days (healthy)", + "ports": "" + }, + { + "name": "qdrant", + "status": "Up 2 days", + "ports": "" + } + ], + "domains": [ + { + "file": "analytics.weval-consulting.com", + "server_names": [ + "analytics.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "code-weval", + "server_names": [ + "code.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "crm.weval-consulting.com", + "server_names": [ + "crm.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "ethica", + "server_names": [ + "ethica.wevup.app", + "consent.wevup.app" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "git.weval-consulting.com", + "server_names": [ + "git.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "langfuse.weval-consulting.com", + "server_names": [ + "langfuse.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "mirofish.weval-consulting.com", + "server_names": [ + "mirofish.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "mm.weval-consulting.com", + "server_names": [ + "mm.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "monitor.weval-consulting.com", + "server_names": [ + "monitor.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "n8n.weval-consulting.com", + "server_names": [ + "n8n.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "paperclip.weval-consulting.com", + "server_names": [ + "paperclip.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "wevads.weval-consulting.com", + "server_names": [ + "wevads.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "wevads.weval-consulting.com.gold-16avr-pre-fallback", + "server_names": [ + "wevads.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "weval-consulting", + "server_names": [ + "weval-consulting.com", + "www.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + } + ], + "screens": { + "s204_html": 185, + "s204_products": 88, + "s204_api_php": 463, + "s204_wevia_php": 18, + "s95_arsenal_html": 1377, + "s95_arsenal_api": 377 + }, + "auth": { + "system": "PHP Session Auth", + "authentik": "REMOVED", + "pass": 24, + "fail": 0 + }, + "databases": { + "s204": [ + "postgres", + "adx_system", + "wevia_db", + "twenty_db", + "mattermost_db", + "deerflow", + "nocodb", + "paperclip", + "langfuse" + ], + "key_tables": { + "kb_learnings": 5110, + "kb_documents": 0, + "ethica_medecins": 50004, + "enterprise_agents": 0 + } + }, + "ollama": [ + { + "name": "nomic-embed-text:latest", + "family": "nomic-bert", + "params": "137M", + "quant": "F16", + "size_gb": 0.3 + }, + { + "name": "weval-brain-v3:latest", + "family": "qwen3", + "params": "4.0B", + "quant": "Q4_K_M", + "size_gb": 2.5 + }, + { + "name": "nomic-embed-text:v1.5", + "family": "nomic-bert", + "params": "137M", + "quant": "F16", + "size_gb": 0.3 + }, + { + "name": "qwen3:4b", + "family": "qwen3", + "params": "4.0B", + "quant": "Q4_K_M", + "size_gb": 2.5 + }, + { + "name": "all-minilm:latest", + "family": "bert", + "params": "23M", + "quant": "F16", + "size_gb": 0 + } + ], + "qdrant": [ + { + "name": "weval_skills", + "vectors": 14380 + }, + { + "name": "wevia_brain_knowledge", + "vectors": 294 + }, + { + "name": "obsidian_vault", + "vectors": 46 + }, + { + "name": "wevia_memory_768", + "vectors": 2 + }, + { + "name": "wevia_kb_768", + "vectors": 232 + }, + { + "name": "wevia_kb", + "vectors": 386 + }, + { + "name": "wevia_memory", + "vectors": 48 + }, + { + "name": "wevia_learnings", + "vectors": 1736 + } + ], + "ai_providers": [ + { + "name": "Cerebras", + "model": "Qwen-235B", + "tier": "T1", + "status": "active" + }, + { + "name": "Groq", + "model": "Llama-4-Scout", + "tier": "T1", + "status": "active" + }, + { + "name": "SambaNova", + "model": "Llama-3.3-70B", + "tier": "T1", + "status": "active" + }, + { + "name": "NVIDIA NIM", + "model": "Llama-3.1-70B", + "tier": "T1", + "status": "active" + }, + { + "name": "Together", + "model": "Qwen-2.5-72B", + "tier": "T1", + "status": "active" + }, + { + "name": "Mistral", + "model": "Mistral-Small", + "tier": "T2", + "status": "active" + }, + { + "name": "Cohere", + "model": "Command-R+", + "tier": "T2", + "status": "active" + }, + { + "name": "Gemini", + "model": "Gemini-2.0-Flash", + "tier": "T2", + "status": "active" + }, + { + "name": "DeepSeek", + "model": "DeepSeek-Chat", + "tier": "T2", + "status": "active" + }, + { + "name": "OpenRouter", + "model": "Multi", + "tier": "T2", + "status": "active" + }, + { + "name": "Alibaba", + "model": "Qwen-Max", + "tier": "T2", + "status": "active" + }, + { + "name": "HuggingFace", + "model": "Inference", + "tier": "T3", + "status": "active" + }, + { + "name": "Replicate", + "model": "Multi", + "tier": "T3", + "status": "active" + }, + { + "name": "ZhiPu", + "model": "GLM-4", + "tier": "T3", + "status": "active" + }, + { + "name": "Ollama Local", + "model": "weval-brain-v3", + "tier": "T0", + "status": "active" + } + ], + "crons": { + "s204_root": 0, + "s204_www": 5, + "s204_total": 5, + "key_crons": [ + { + "name": "L99 Master", + "freq": "*\/30", + "target": "l99-master.py" + }, + { + "name": "Autonomous Engine", + "freq": "*\/5", + "target": "wevia-master-autonomous" + }, + { + "name": "L99 Pipeline", + "freq": "*\/15", + "target": "l99-pipeline.py" + }, + { + "name": "L99 Alive", + "freq": "*\/10", + "target": "l99-alive.py" + }, + { + "name": "Infra Guardian", + "freq": "*\/5", + "target": "infra-guardian.sh" + }, + { + "name": "Blade Watchdog", + "freq": "*\/5", + "target": "blade-watchdog.php" + }, + { + "name": "RAG Ingest", + "freq": "*\/30", + "target": "wevia-rag-ingest.sh" + }, + { + "name": "Blade Orchestrator", + "freq": "*\/30", + "target": "blade-orchestrator.sh" + }, + { + "name": "WEVIA Dream", + "freq": "*\/30", + "target": "wevia-dream-cron.php" + }, + { + "name": "Port Protection", + "freq": "*\/5", + "target": "port-protection" + }, + { + "name": "Watchdog", + "freq": "*\/3", + "target": "weval-watchdog.php" + }, + { + "name": "Ethica Enrich", + "freq": "daily 01h", + "target": "ethica-enrich-v4.py" + }, + { + "name": "Daily Brief", + "freq": "daily 07h", + "target": "weval-daily-brief.py" + } + ] + }, + "wiki": { + "total_entries": 5110, + "categories": [ + { + "category": "AUTO-FIX", + "cnt": "2793" + }, + { + "category": "TOPOLOGY", + "cnt": "961" + }, + { + "category": "DISCOVERY", + "cnt": "610" + }, + { + "category": "SYSTEMATIC", + "cnt": "204" + }, + { + "category": "L99-FULLSCAN", + "cnt": "80" + }, + { + "category": "INFRA", + "cnt": "74" + }, + { + "category": "CONTROL-TOWER", + "cnt": "42" + }, + { + "category": "ALERT", + "cnt": "34" + }, + { + "category": "AGENT", + "cnt": "20" + }, + { + "category": "L99-SCAN", + "cnt": "12" + }, + { + "category": "FIX", + "cnt": "10" + }, + { + "category": "FLEET", + "cnt": "8" + }, + { + "category": "MASTER-INTENT", + "cnt": "6" + }, + { + "category": "SESSION-5AVR", + "cnt": "5" + }, + { + "category": "Maroc", + "cnt": "5" + }, + { + "category": "Analyse", + "cnt": "5" + }, + { + "category": "AUTH", + "cnt": "5" + }, + { + "category": "claude_2026", + "cnt": "4" + }, + { + "category": "SERVICES", + "cnt": "4" + }, + { + "category": "WEVAL Consulting", + "cnt": "4" + }, + { + "category": "Intelligence Artificielle", + "cnt": "3" + }, + { + "category": "PARADIGM", + "cnt": "3" + }, + { + "category": "INTEGRATION", + "cnt": "3" + }, + { + "category": "FIX-CRITIQUE", + "cnt": "3" + }, + { + "category": "Voici", + "cnt": "2" + }, + { + "category": "Vous", + "cnt": "2" + }, + { + "category": "Pouvez", + "cnt": "2" + }, + { + "category": "Image", + "cnt": "2" + }, + { + "category": "Contexte", + "cnt": "2" + }, + { + "category": "L99-EXHAUSTIVE", + "cnt": "2" + }, + { + "category": "L99-GAP", + "cnt": "2" + }, + { + "category": "WEVAL Consulting Casablanca", + "cnt": "2" + }, + { + "category": "Test", + "cnt": "2" + }, + { + "category": "Salut", + "cnt": "2" + }, + { + "category": "L99-E2E", + "cnt": "2" + }, + { + "category": "Document", + "cnt": "2" + }, + { + "category": "PROVIDERS", + "cnt": "2" + }, + { + "category": "Bien", + "cnt": "2" + }, + { + "category": "WEVIA", + "cnt": "2" + }, + { + "category": "Diagramme", + "cnt": "2" + }, + { + "category": "Comparaison", + "cnt": "2" + }, + { + "category": "L99-MEGA", + "cnt": "2" + }, + { + "category": "QUALITY", + "cnt": "2" + }, + { + "category": "Cependant", + "cnt": "2" + }, + { + "category": "MONITORING", + "cnt": "2" + }, + { + "category": "L99", + "cnt": "2" + }, + { + "category": "Introduction", + "cnt": "2" + }, + { + "category": "Pour", + "cnt": "2" + }, + { + "category": "Casablanca", + "cnt": "2" + }, + { + "category": "Pourriez", + "cnt": "2" + }, + { + "category": "Vistex BTP Signavio", + "cnt": "1" + }, + { + "category": "Conduite", + "cnt": "1" + }, + { + "category": "DMAIC", + "cnt": "1" + }, + { + "category": "Industrie", + "cnt": "1" + }, + { + "category": "Proposition", + "cnt": "1" + }, + { + "category": "Accueil\nBienvenue", + "cnt": "1" + }, + { + "category": "Logo", + "cnt": "1" + }, + { + "category": "SAP ECC", + "cnt": "1" + }, + { + "category": "Votre", + "cnt": "1" + }, + { + "category": "Probl", + "cnt": "1" + }, + { + "category": "ANTI-REGRESSION", + "cnt": "1" + }, + { + "category": "Explique", + "cnt": "1" + }, + { + "category": "Zero Trust", + "cnt": "1" + }, + { + "category": "Augmented Generation", + "cnt": "1" + }, + { + "category": "RLHF", + "cnt": "1" + }, + { + "category": "Service", + "cnt": "1" + }, + { + "category": "Transformer", + "cnt": "1" + }, + { + "category": "Bonjour Bonjour", + "cnt": "1" + }, + { + "category": "Transformation", + "cnt": "1" + }, + { + "category": "Audit", + "cnt": "1" + }, + { + "category": "WEVAL", + "cnt": "1" + }, + { + "category": "Strat", + "cnt": "1" + }, + { + "category": "Maghreb", + "cnt": "1" + }, + { + "category": "ERP SAP", + "cnt": "1" + }, + { + "category": "Quelle", + "cnt": "1" + }, + { + "category": "Oracle", + "cnt": "1" + }, + { + "category": "Data", + "cnt": "1" + }, + { + "category": "Donn", + "cnt": "1" + }, + { + "category": "Quel", + "cnt": "1" + }, + { + "category": "Syst", + "cnt": "1" + }, + { + "category": "Ahmed", + "cnt": "1" + }, + { + "category": "UiPath", + "cnt": "1" + }, + { + "category": "Niveau PhD", + "cnt": "1" + }, + { + "category": "CLEANUP", + "cnt": "1" + }, + { + "category": "Notre", + "cnt": "1" + }, + { + "category": "TOUTES", + "cnt": "1" + }, + { + "category": "Maroc DDMRP OTIF", + "cnt": "1" + }, + { + "category": "Crit", + "cnt": "1" + }, + { + "category": "SAP Vistex Revenue Management", + "cnt": "1" + }, + { + "category": "Fine", + "cnt": "1" + }, + { + "category": "Compare AWS Azure GCP", + "cnt": "1" + }, + { + "category": "Healthcare", + "cnt": "1" + }, + { + "category": "BLADE", + "cnt": "1" + }, + { + "category": "Plan", + "cnt": "1" + }, + { + "category": "Conseil", + "cnt": "1" + }, + { + "category": "Nous", + "cnt": "1" + }, + { + "category": "Zero Trust SOC SIEM", + "cnt": "1" + }, + { + "category": "Amazon Web Services", + "cnt": "1" + }, + { + "category": "Retiens", + "cnt": "1" + }, + { + "category": "Diff", + "cnt": "1" + }, + { + "category": "QDRANT", + "cnt": "1" + }, + { + "category": "MITRE ATT", + "cnt": "1" + }, + { + "category": "FMCG", + "cnt": "1" + }, + { + "category": "Supply", + "cnt": "1" + }, + { + "category": "Exercice", + "cnt": "1" + }, + { + "category": "Redige", + "cnt": "1" + }, + { + "category": "Supply Chain", + "cnt": "1" + }, + { + "category": "Quels", + "cnt": "1" + }, + { + "category": "Propose", + "cnt": "1" + }, + { + "category": "Plateforme", + "cnt": "1" + }, + { + "category": "Cyber", + "cnt": "1" + }, + { + "category": "Tableau", + "cnt": "1" + }, + { + "category": "Migration SAP", + "cnt": "1" + }, + { + "category": "AUTH-AGENT", + "cnt": "1" + }, + { + "category": "Fais", + "cnt": "1" + }, + { + "category": "Iran", + "cnt": "1" + }, + { + "category": "OLLAMA", + "cnt": "1" + }, + { + "category": "Reessayez", + "cnt": "1" + }, + { + "category": "MORNE WEVAL", + "cnt": "1" + }, + { + "category": "Analyse SWOT", + "cnt": "1" + }, + { + "category": "SAP Vistex", + "cnt": "1" + }, + { + "category": "IoT WMS", + "cnt": "1" + }, + { + "category": "Industry", + "cnt": "1" + }, + { + "category": "What", + "cnt": "1" + }, + { + "category": "Strategie", + "cnt": "1" + }, + { + "category": "Rappelle", + "cnt": "1" + }, + { + "category": "DMAIC Six Sigma", + "cnt": "1" + }, + { + "category": "Avantages", + "cnt": "1" + }, + { + "category": "Explique RLHF", + "cnt": "1" + }, + { + "category": "Huawei Cloud", + "cnt": "1" + }, + { + "category": "PMO SAFe", + "cnt": "1" + }, + { + "category": "Migration SAP ECC", + "cnt": "1" + }, + { + "category": "team_work", + "cnt": "1" + }, + { + "category": "Bonjour Pr", + "cnt": "1" + }, + { + "category": "Maroc DDMRP OTIF WMS TMS", + "cnt": "1" + }, + { + "category": "Architecture", + "cnt": "1" + }, + { + "category": "Framework NIST", + "cnt": "1" + }, + { + "category": "Automatiser", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Genere", + "cnt": "1" + }, + { + "category": "Elle", + "cnt": "1" + }, + { + "category": "Constitutional AI", + "cnt": "1" + }, + { + "category": "Brownfield", + "cnt": "1" + }, + { + "category": "Confirmation", + "cnt": "1" + }, + { + "category": "Architecture IA", + "cnt": "1" + }, + { + "category": "KPIs", + "cnt": "1" + }, + { + "category": "Quelles", + "cnt": "1" + }, + { + "category": "SWOT", + "cnt": "1" + }, + { + "category": "Comparons", + "cnt": "1" + }, + { + "category": "Services", + "cnt": "1" + }, + { + "category": "Maroc TMA", + "cnt": "1" + }, + { + "category": "Contraintes", + "cnt": "1" + }, + { + "category": "Intelligence", + "cnt": "1" + }, + { + "category": "Donne", + "cnt": "1" + }, + { + "category": "Vistex", + "cnt": "1" + }, + { + "category": "Maroc CMI", + "cnt": "1" + }, + { + "category": "Audite", + "cnt": "1" + }, + { + "category": "Aide", + "cnt": "1" + }, + { + "category": "DKIM DMARC", + "cnt": "1" + }, + { + "category": "Zero Trust SOC", + "cnt": "1" + }, + { + "category": "Bonjour Yacine", + "cnt": "1" + }, + { + "category": "Workshop", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO GRPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Comparatif ERP PME", + "cnt": "1" + }, + { + "category": "Programme", + "cnt": "1" + }, + { + "category": "SAP MM", + "cnt": "1" + }, + { + "category": "Phases", + "cnt": "1" + }, + { + "category": "Autres", + "cnt": "1" + }, + { + "category": "FHIR", + "cnt": "1" + }, + { + "category": "SESSION-7AVR", + "cnt": "1" + }, + { + "category": "FHIR IA", + "cnt": "1" + }, + { + "category": "MLOps", + "cnt": "1" + }, + { + "category": "MIROFISH", + "cnt": "1" + }, + { + "category": "Ecris", + "cnt": "1" + }, + { + "category": "Suite", + "cnt": "1" + }, + { + "category": "Nearshore", + "cnt": "1" + }, + { + "category": "Bienvenue", + "cnt": "1" + }, + { + "category": "Retrieval", + "cnt": "1" + }, + { + "category": "KYC BAM", + "cnt": "1" + }, + { + "category": "Afrique", + "cnt": "1" + }, + { + "category": "Dans", + "cnt": "1" + }, + { + "category": "Azure", + "cnt": "1" + }, + { + "category": "Budget", + "cnt": "1" + }, + { + "category": "INSTRUCTION SYSTEME", + "cnt": "1" + }, + { + "category": "CNDP", + "cnt": "1" + }, + { + "category": "Compare", + "cnt": "1" + }, + { + "category": "HubSpot", + "cnt": "1" + }, + { + "category": "Control", + "cnt": "1" + }, + { + "category": "SESSION-6AVR", + "cnt": "1" + }, + { + "category": "Bonjour Salut", + "cnt": "1" + }, + { + "category": "Maroc KPIs OTIF", + "cnt": "1" + }, + { + "category": "Vistex SAP", + "cnt": "1" + }, + { + "category": "Traduis", + "cnt": "1" + }, + { + "category": "Maroc IoT WMS", + "cnt": "1" + }, + { + "category": "SaaS", + "cnt": "1" + }, + { + "category": "CODE BLOCK", + "cnt": "1" + }, + { + "category": "Cahier", + "cnt": "1" + }, + { + "category": "Maroc FHIR", + "cnt": "1" + }, + { + "category": "DESIGN", + "cnt": "1" + }, + { + "category": "Compare RLHF", + "cnt": "1" + }, + { + "category": "Dynamics", + "cnt": "1" + }, + { + "category": "Python", + "cnt": "1" + }, + { + "category": "FORMAT OBLIGATOIRE", + "cnt": "1" + }, + { + "category": "SAP ERP", + "cnt": "1" + }, + { + "category": "INFRA-SESSION", + "cnt": "1" + }, + { + "category": "Cette", + "cnt": "1" + }, + { + "category": "OWASP Top", + "cnt": "1" + }, + { + "category": "Logo Weval", + "cnt": "1" + }, + { + "category": "ADKAR", + "cnt": "1" + }, + { + "category": "GENERAL", + "cnt": "1" + } + ], + "qdrant_vectors": 386 + }, + "applications": [ + { + "name": "WEVIA Chatbot", + "type": "AI", + "url": "\/wevia", + "port": null, + "server": "S204", + "auth": "public" + }, + { + "name": "WEVIA Admin", + "type": "Admin", + "url": "\/wevia-admin", + "port": null, + "server": "S204", + "auth": "php-session" + }, + { + "name": "WEVIA Life", + "type": "Email AI", + "url": "\/products\/wevialife-app.html", + "port": null, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Workspace", + "type": "Hub", + "url": "\/products\/workspace.html", + "port": null, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Arsenal\/WEVADS", + "type": "Email Marketing", + "url": "wevads.weval-consulting.com", + "port": 5890, + "server": "S95", + "auth": "php-session" + }, + { + "name": "ADX\/iResponse", + "type": "Email Platform", + "url": "wevads.weval-consulting.com", + "port": 5821, + "server": "S95", + "auth": "iResponse" + }, + { + "name": "Ethica HCP", + "type": "Healthcare B2B", + "url": "consent.wevup.app", + "port": null, + "server": "S204", + "auth": "ethica-auth" + }, + { + "name": "CRM (Twenty)", + "type": "CRM", + "url": "crm.weval-consulting.com", + "port": 3000, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Mattermost", + "type": "Chat", + "url": "mm.weval-consulting.com", + "port": 8065, + "server": "S204", + "auth": "php-session" + }, + { + "name": "n8n", + "type": "Automation", + "url": "n8n.weval-consulting.com", + "port": 5678, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Uptime Kuma", + "type": "Monitoring", + "url": "monitor.weval-consulting.com", + "port": 3001, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Plausible", + "type": "Analytics", + "url": "analytics.weval-consulting.com", + "port": 8000, + "server": "S204", + "auth": "php-session" + }, + { + "name": "DeerFlow", + "type": "AI Research", + "url": "deerflow.weval-consulting.com", + "port": 2024, + "server": "S204", + "auth": "php-session" + }, + { + "name": "SearXNG", + "type": "Search", + "url": null, + "port": 8888, + "server": "S204", + "auth": "internal" + }, + { + "name": "Qdrant", + "type": "Vector DB", + "url": null, + "port": 6333, + "server": "S204", + "auth": "internal" + }, + { + "name": "Ollama", + "type": "LLM Runtime", + "url": null, + "port": 11434, + "server": "S204", + "auth": "internal" + }, + { + "name": "Flowise", + "type": "AI Flow", + "url": null, + "port": 3088, + "server": "S204", + "auth": "internal" + }, + { + "name": "MiroFish", + "type": "AI Agent", + "url": "mirofish.weval-consulting.com", + "port": 3050, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Open WebUI", + "type": "LLM UI", + "url": null, + "port": 3002, + "server": "S204", + "auth": "internal" + }, + { + "name": "Vaultwarden", + "type": "Passwords", + "url": null, + "port": 8222, + "server": "S204", + "auth": "internal" + }, + { + "name": "Prometheus", + "type": "Metrics", + "url": null, + "port": 9000, + "server": "S204", + "auth": "internal" + }, + { + "name": "PMTA", + "type": "MTA", + "url": null, + "port": 25, + "server": "S95", + "auth": "internal" + }, + { + "name": "KumoMTA", + "type": "MTA", + "url": null, + "port": 8010, + "server": "S95", + "auth": "internal" + }, + { + "name": "Sentinel", + "type": "Orchestrator", + "url": null, + "port": 5890, + "server": "S95", + "auth": "internal" + } + ], + "cloud": [ + { + "provider": "Hetzner", + "role": "S204+S95", + "type": "Bare Metal", + "region": "Germany" + }, + { + "provider": "OVH", + "role": "S151 DR\/Tracking", + "type": "VPS", + "region": "France" + }, + { + "provider": "Cloudflare", + "role": "CDN+DNS+WAF", + "type": "SaaS", + "region": "Global" + }, + { + "provider": "Huawei Cloud", + "role": "Partner Certifié", + "type": "IaaS", + "region": "MENA" + }, + { + "provider": "Scaleway", + "role": "GPU Inference", + "type": "IaaS", + "region": "France" + } + ], + "partnerships": [ + "SAP Gold Partner", + "Huawei Cloud", + "Vistex", + "IQVIA", + "Scaleway" + ], + "ux_agent": { + "pass": 3, + "fail": 0, + "warn": 0, + "total": 3, + "timestamp": "", + "gauge_health_center": "X=0px Y=0px", + "gauge_auto_center": "X=0px Y=0px", + "design_tokens": { + "bg": "#09090b", + "card": "#18181b", + "font": "Inter" + } + }, + "l99": { + "master": { + "total": 93, + "pass": 89, + "fail": 2, + "timestamp": "2026-04-07T01:32:48.454012" + }, + "auth": { + "pass": 24, + "fail": 0 + } + }, + "cortex": { + "fast_lines": 3620, + "router_lines": 6152, + "router_functions": 17, + "today_requests": 6, + "today_cost": 0, + "avg_latency_ms": 2729, + "top_provider": "cerebras", + "providers_used": 2 + }, + "optimizations": { + "recent_commits": [], + "auto_fixes": [ + { + "fact": "AUTONOMY 16Apr 13:05: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 15:05:04.60848" + }, + { + "fact": "AUTONOMY 16Apr 13:00: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 15:00:08.207369" + }, + { + "fact": "AUTONOMY 16Apr 12:55: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:55:06.739328" + }, + { + "fact": "AUTONOMY 16Apr 12:50: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:50:05.137377" + }, + { + "fact": "AUTONOMY 16Apr 12:45: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:45:05.471488" + }, + { + "fact": "AUTONOMY 16Apr 12:42: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:42:48.719827" + }, + { + "fact": "AUTONOMY 16Apr 12:40: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:40:07.741135" + }, + { + "fact": "AUTONOMY 16Apr 12:35: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:35:04.567241" + }, + { + "fact": "AUTONOMY 16Apr 12:15: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:15:04.360583" + }, + { + "fact": "AUTONOMY 16Apr 12:10: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-16 14:10:05.014109" + } + ], + "architecture_decisions": [ + { + "fact": "Crons: root=51 www-data=55 cron.d=72 total=178", + "created_at": "2026-04-13 00:30:48.940882" + }, + { + "fact": "Crons: root=51 www-data=55 cron.d=70 total=176", + "created_at": "2026-04-12 20:30:07.357094" + }, + { + "fact": "Crons: root=51 www-data=55 cron.d=70 total=176", + "created_at": "2026-04-12 18:30:05.962933" + }, + { + "fact": "Crons: root=51 www-data=55 cron.d=70 total=176", + "created_at": "2026-04-12 16:30:13.56815" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 14:30:11.101941" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 12:30:08.795912" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 10:30:04.181935" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 08:30:04.196728" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 06:30:04.792965" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 04:30:06.68899" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 02:30:07.207832" + }, + { + "fact": "Crons: root=51 www-data=54 cron.d=69 total=174", + "created_at": "2026-04-12 00:30:13.084556" + }, + { + "fact": "Crons: root=50 www-data=52 cron.d=69 total=171", + "created_at": "2026-04-11 22:30:07.088896" + }, + { + "fact": "Crons: root=50 www-data=52 cron.d=69 total=171", + "created_at": "2026-04-11 20:30:08.94444" + }, + { + "fact": "Crons: root=50 www-data=48 cron.d=69 total=167", + "created_at": "2026-04-11 18:30:04.55611" + } + ], + "pipelines": [ + { + "name": "CORTEX Smart Router", + "status": "active", + "desc": "T0 Ollama → T1 Free APIs → T2 Fallbacks", + "routes": 3620 + }, + { + "name": "RAG Ingest", + "status": "active", + "desc": "Cron *\/30 → Qdrant semantic indexing", + "freq": "*\/30" + }, + { + "name": "L99 Quality Gate", + "status": "active", + "desc": "253+ tests, 28 auth tests", + "freq": "*\/30" + }, + { + "name": "Blade Orchestrator", + "status": "active", + "desc": "GPU polling + model sync", + "freq": "*\/30" + }, + { + "name": "Infra Guardian", + "status": "active", + "desc": "Auto-restart nginx\/php\/docker", + "freq": "*\/5" + }, + { + "name": "Ethica Scraper Pipeline", + "status": "active", + "desc": "4 spiders, RichScraper, SearXNG", + "freq": "daily" + }, + { + "name": "WEVIA Dream", + "status": "active", + "desc": "Background learning + dataset enrichment", + "freq": "*\/30" + }, + { + "name": "Daily Brief", + "status": "active", + "desc": "Morning synthesis → Mattermost", + "freq": "daily 07h" + }, + { + "name": "Architecture Scanner", + "status": "active", + "desc": "This page — auto-scan + recommendations", + "freq": "*\/30" + } + ], + "agents_deployed": [ + { + "name": "Monitor Agent", + "role": "Watches all services, auto-restarts", + "status": "active" + }, + { + "name": "DevOps Agent", + "role": "Git sync, deployment, rollback", + "status": "active" + }, + { + "name": "Ethica Agent", + "role": "HCP scraping, validation, enrichment", + "status": "active" + }, + { + "name": "Security Agent", + "role": "Key rotation, secret scan, vulnerability check", + "status": "active" + }, + { + "name": "Blade Agent", + "role": "GPU orchestration, model management", + "status": "active" + }, + { + "name": "Dream Agent", + "role": "Background learning, dataset generation", + "status": "active" + }, + { + "name": "RAG Agent", + "role": "Knowledge ingestion, vector indexing", + "status": "active" + }, + { + "name": "Quality Agent", + "role": "L99 NonReg, regression detection", + "status": "active" + } + ] + }, + "mirofish": { + "status": "active", + "reports": 0, + "bridge": "\/api\/mirofish-bridge.php" + }, + "recommendations": { + "score": 100, + "total": 0, + "critical": 0, + "warning": 0, + "info": 0, + "opportunity": 0, + "auto_fixed": 0, + "fixes_log": [], + "recommendations": [] + }, + "scan_time_ms": 745, + "gaps": [], + "score": 100, + "automation": { + "coverage": 100, + "steps": 30, + "total": 30 + } +} \ No newline at end of file diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index ead545cf4..3df922470 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,5 +1,5 @@ { - "ts": "2026-04-16T21:30:00+00:00", + "ts": "2026-04-16T21:34:56+00:00", "hostname": "blade", "cpu": "?", "ram": "?", diff --git a/api/l99-autofix-log.json b/api/l99-autofix-log.json index a40e65a00..3d0d4aa99 100644 --- a/api/l99-autofix-log.json +++ b/api/l99-autofix-log.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16T23:15:18.949349", + "timestamp": "2026-04-16T23:30:19.358126", "layers": { "DOCKER": { "n": "DOCKER", diff --git a/api/ux-agent-report.json b/api/ux-agent-report.json index 66a75019a..2cdbb10ad 100644 --- a/api/ux-agent-report.json +++ b/api/ux-agent-report.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16T23:00:07", + "timestamp": "2026-04-16T23:30:07", "features": { "total": 36, "pass": 35 @@ -13,7 +13,7 @@ "score": 97.2, "log": [ "=== UX AGENT v1.0 ===", - "Time: 2026-04-16 23:00:01", + "Time: 2026-04-16 23:30:01", " core: 4/4", " layout: 3/4", " interaction: 6/6", diff --git a/api/wevia-antiregression-status.json b/api/wevia-antiregression-status.json index 27e0e3730..e158da478 100644 --- a/api/wevia-antiregression-status.json +++ b/api/wevia-antiregression-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 23:25:05", + "timestamp": "2026-04-16 23:30:05", "healthy": true, "issues": [], "fixes": [], diff --git a/api/wevia-auth-status.json b/api/wevia-auth-status.json index dca19898f..69855fc9b 100644 --- a/api/wevia-auth-status.json +++ b/api/wevia-auth-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 21:25:09", + "timestamp": "2026-04-16 21:30:09", "healthy": false, "checks": { "outpost": "DOWN", @@ -30,62 +30,62 @@ { "level": "critical", "msg": "Outpost DOWN 9090", - "ts": "2026-04-16T21:25:02+00:00" + "ts": "2026-04-16T21:30:02+00:00" }, { "level": "critical", "msg": "Outpost STILL DOWN", - "ts": "2026-04-16T21:25:07+00:00" + "ts": "2026-04-16T21:30:07+00:00" }, { "level": "warning", "msg": "Auth flow wevads.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:07+00:00" + "ts": "2026-04-16T21:30:07+00:00" }, { "level": "warning", "msg": "Auth flow ethica.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:07+00:00" + "ts": "2026-04-16T21:30:07+00:00" }, { "level": "warning", "msg": "Auth flow n8n.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:07+00:00" }, { "level": "warning", "msg": "Auth flow crm.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:08+00:00" }, { "level": "warning", "msg": "Auth flow mm.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:08+00:00" }, { "level": "warning", "msg": "Auth flow analytics.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:08+00:00" }, { "level": "warning", "msg": "Auth flow deerflow.weval-consulting.com: 200", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:08+00:00" }, { "level": "warning", "msg": "Callback location missing in nginx", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:08+00:00" } ], "fixes": [ { "title": "Restart authentik", - "ts": "2026-04-16T21:25:02+00:00" + "ts": "2026-04-16T21:30:02+00:00" }, { "title": "Callback location auto-added", - "ts": "2026-04-16T21:25:08+00:00" + "ts": "2026-04-16T21:30:08+00:00" } ] } \ No newline at end of file diff --git a/api/wevia-autonomy-status.json b/api/wevia-autonomy-status.json index d2d7c0204..381445a76 100644 --- a/api/wevia-autonomy-status.json +++ b/api/wevia-autonomy-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 21:25:02", + "timestamp": "2026-04-16 21:30:02", "version": "1.0", "disk": 84, "ram": 16, @@ -14,26 +14,26 @@ { "level": "critical", "msg": "S204:authentik DOWN (:9090)", - "time": "21:25:02" + "time": "21:30:02" }, { "level": "warning", "msg": "Token : expired", - "time": "21:25:03" + "time": "21:30:03" }, { "level": "warning", "msg": "Token : expired", - "time": "21:25:03" + "time": "21:30:03" } ], "log": [ - "21:25:02 Disk: 84%", - "21:25:02 SSL: 353d remaining", - "21:25:02 Docker: 19 containers", - "21:25:02 Ollama: 5 models, 5.2GB", - "21:25:02 RAM: 16%", - "21:25:03 Arch score: 100\/100" + "21:30:02 Disk: 84%", + "21:30:02 SSL: 353d remaining", + "21:30:02 Docker: 19 containers", + "21:30:02 Ollama: 5 models, 5.2GB", + "21:30:02 RAM: 16%", + "21:30:03 Arch score: 100\/100" ], "s204_services": 8, "s95_mta": 5 diff --git a/api/wevia-blade-status.json b/api/wevia-blade-status.json index 5d2085335..e2a10d3dc 100644 --- a/api/wevia-blade-status.json +++ b/api/wevia-blade-status.json @@ -1 +1 @@ -{"ts":"23:28","status":"offline"} +{"ts":"23:34","status":"offline"} diff --git a/api/wevia-nonreg-results.json b/api/wevia-nonreg-results.json index b8557a28e..da8930856 100644 --- a/api/wevia-nonreg-results.json +++ b/api/wevia-nonreg-results.json @@ -1,8 +1,8 @@ { - "date": "2026-04-16 21:15:02", - "score": "8\/13 (61.5%)", - "passed": 8, - "failed": 5, + "date": "2026-04-16 21:30:02", + "score": "9\/13 (69.2%)", + "passed": 9, + "failed": 4, "total": 13, "regressions": [], "auto_fixes": [], @@ -14,8 +14,8 @@ }, { "name": "eng:Code", - "ok": false, - "detail": "1t 0a" + "ok": true, + "detail": "12t 0a" }, { "name": "eng:Docker", @@ -30,12 +30,12 @@ { "name": "eng:SSL", "ok": true, - "detail": "19t 0a" + "detail": "81t 0a" }, { "name": "eng:Compare", "ok": true, - "detail": "171t 3a" + "detail": "228t 3a" }, { "name": "api:Dream", diff --git a/api/wevia-opus-intents.php b/api/wevia-opus-intents.php index 1e30da57e..24a5af1ae 100644 --- a/api/wevia-opus-intents.php +++ b/api/wevia-opus-intents.php @@ -117,6 +117,64 @@ function wevia_opus_intents($msg) { } } + // INTENT: top_ia_audit + if ($r === null && preg_match("/audit\s+(log|trail|entry)|log\s+audit|enregistre\s+action/iu", $m)) { + $text = preg_replace("/^(audit\s+(log|trail|entry)|log\s+audit|enregistre\s+action)\s*:?\s*/iu", "", $msg); + $esc = escapeshellarg(trim($text)); + $out = trim(@shell_exec("/opt/weval-ops/top-ia/audit_log.sh 'yacine' 'chat_action' " . $esc . " '{}' 2>&1")); + $r = "TOP-IA AUDIT LOG:\n{$out}"; + } + + // INTENT: top_ia_audit_query + if ($r === null && preg_match("/audit\s+query|cherche\s+audit|recherche\s+audit|consulte\s+audit|who\s+did/iu", $m)) { + $q = preg_replace("/^(audit\s+query|cherche\s+audit|recherche\s+audit|consulte\s+audit|who\s+did)\s*:?\s*/iu", "", $msg); + $esc = escapeshellarg(trim($q)); + $out = trim(@shell_exec("/opt/weval-ops/top-ia/audit_query.sh {$esc} 2>&1")); + $r = "TOP-IA AUDIT QUERY:\n{$out}"; + } + + // INTENT: top_ia_rgpd_forget + if ($r === null && preg_match("/rgpd\s+oubli|droit\s+oubli|forget\s+(me|user|data)|supprime\s+(mes|les)\s+donnees|purge\s+data/iu", $m)) { + $id = preg_replace("/^(rgpd\s+oubli|droit\s+oubli|forget\s+(me|user|data)|supprime\s+(mes|les)\s+donnees|purge\s+data)\s*:?\s*/iu", "", $msg); + $esc = escapeshellarg(trim($id)); + // ALWAYS dry-run from chat for safety + $out = trim(@shell_exec("/opt/weval-ops/top-ia/rgpd_forget.sh {$esc} --dry-run 2>&1")); + $r = "TOP-IA RGPD FORGET (dry-run par sécurité):\n{$out}\n\nPour exécuter vraiment: cli directe."; + } + + // INTENT: top_ia_few_shot + if ($r === null && preg_match("/few\s?shot|exemples\s+similaires|trouve\s+exemples|similar\s+examples/iu", $m)) { + $q = preg_replace("/^(few\s?shot|exemples\s+similaires|trouve\s+exemples|similar\s+examples)\s*:?\s*/iu", "", $msg); + $esc = escapeshellarg(trim($q)); + $out = trim(@shell_exec("/opt/weval-ops/top-ia/few_shot.sh {$esc} 2>&1")); + $r = "TOP-IA FEW-SHOT:\n{$out}"; + } + + // INTENT: top_ia_dialectical + if ($r === null && preg_match("/dialectique|pro\s+contre|contradictoire|debate|raisonnement\s+contradictoire|dialectical/iu", $m)) { + $q = preg_replace("/^(dialectique|pro\s+contre|contradictoire|debate|raisonnement\s+contradictoire|dialectical)\s*:?\s*/iu", "", $msg); + $esc = escapeshellarg(trim($q)); + $out = trim(@shell_exec("/opt/weval-ops/top-ia/dialectical.sh {$esc} 2>&1")); + $r = "TOP-IA DIALECTICAL (Pro/Contre/Arbitre):\n{$out}"; + } + + // INTENT: top_ia_webhook + if ($r === null && preg_match("/webhook\s+send|send\s+webhook|envoie\s+webhook|trigger\s+webhook/iu", $m)) { + if (preg_match("/https?:\\/\\/\\S+/i", $msg, $mm)) { + $url = $mm[0]; + $out = trim(@shell_exec("/opt/weval-ops/top-ia/webhook_send.sh " . escapeshellarg($url) . " 'chat_trigger' '{\"from\":\"wevia-chat\"}' 2>&1")); + $r = "TOP-IA WEBHOOK:\n{$out}"; + } else { + $r = "TOP-IA WEBHOOK: Fournir URL dans le message."; + } + } + + // INTENT: top_ia_quotas + if ($r === null && preg_match("/gpu\s+(quota|status)|providers\s+status|api\s+quotas|monitoring\s+providers/iu", $m)) { + $out = trim(@shell_exec("/opt/weval-ops/top-ia/gpu_quotas.sh 2>&1")); + $r = "TOP-IA GPU/API QUOTAS:\n{$out}"; + } + // INTENT: audit_6sigma if ($r === null && preg_match("/audit.*6.?sigma|audit.*quality|audit.*qualite|6sigma.*audit|6.?sigma.*complet/iu", $m)) { $nr = trim(@shell_exec("curl -s -m5 http://127.0.0.1/api/nonreg-api.php?cat=all 2>/dev/null")); diff --git a/api/wevia-pilot-status.json b/api/wevia-pilot-status.json index 2dde6d8e0..fb0dfbf8b 100644 --- a/api/wevia-pilot-status.json +++ b/api/wevia-pilot-status.json @@ -1,2 +1,2 @@ -{"ts":"23:20","disk":"84%","swap":"38%","docker_dead":"none","http":"200","ssl":"Certificate will not expire +{"ts":"23:30","disk":"84%","swap":"38%","docker_dead":"none","http":"200","ssl":"Certificate will not expire ok","alerts":"none","crons":64} diff --git a/api/wevia-quality-status.json b/api/wevia-quality-status.json index 47230cc3c..9338edd72 100644 --- a/api/wevia-quality-status.json +++ b/api/wevia-quality-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 21:20:02", + "timestamp": "2026-04-16 21:30:02", "healthy": false, "global_pass": 286, "global_fail": 8, diff --git a/api/wevia-selfmanage.json b/api/wevia-selfmanage.json index 5013a6eef..2d84dd0d1 100644 --- a/api/wevia-selfmanage.json +++ b/api/wevia-selfmanage.json @@ -1 +1 @@ -{"ts": "23:25", "status": "ok"} \ No newline at end of file +{"ts": "23:30", "status": "ok"} \ No newline at end of file