diff --git a/api/blade-actions-surfaced.json b/api/blade-actions-surfaced.json
index 86f397844..50cc06aca 100644
--- a/api/blade-actions-surfaced.json
+++ b/api/blade-actions-surfaced.json
@@ -1,5 +1,5 @@
{
- "generated_at": "2026-04-21T02:20:01.795450",
+ "generated_at": "2026-04-21T02:25:01.666165",
"stats": {
"total": 35,
"pending": 20,
diff --git a/api/em-kpi-cache.json b/api/em-kpi-cache.json
index e69de29bb..260d353dc 100644
--- a/api/em-kpi-cache.json
+++ b/api/em-kpi-cache.json
@@ -0,0 +1,281 @@
+{
+ "ts": "2026-04-21T00:25:01+00:00",
+ "server": "s204",
+ "s204": {
+ "load": 1.33,
+ "uptime": "2026-04-14 11:51:24",
+ "ram_total_mb": 31335,
+ "ram_used_mb": 11115,
+ "ram_free_mb": 20219,
+ "disk_total": "150G",
+ "disk_used": "113G",
+ "disk_free": "32G",
+ "disk_pct": "79%",
+ "fpm_workers": 120,
+ "docker_containers": 19,
+ "cpu_cores": 8
+ },
+ "s95": {
+ "load": 0.24,
+ "disk_pct": "82%",
+ "status": "UP",
+ "ram_total_mb": 15610,
+ "ram_free_mb": 12026
+ },
+ "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": 293,
+ "php_apis": 765,
+ "wiki_entries": 1884,
+ "vault_doctrines": 59,
+ "vault_sessions": 104,
+ "vault_decisions": 12
+ },
+ "tools": {
+ "total": 627,
+ "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": 161730,
+ "with_email": 110548,
+ "with_phone": 155145,
+ "gap_email": 51182,
+ "pct_email": 68.4,
+ "pct_phone": 95.9,
+ "by_country": [
+ {
+ "country": "DZ",
+ "hcps": 122337,
+ "with_email": 78459,
+ "with_tel": 119394,
+ "pct_email": 64.1,
+ "pct_tel": 97.6
+ },
+ {
+ "country": "MA",
+ "hcps": 19720,
+ "with_email": 15071,
+ "with_tel": 18733,
+ "pct_email": 76.4,
+ "pct_tel": 95
+ },
+ {
+ "country": "TN",
+ "hcps": 17794,
+ "with_email": 15139,
+ "with_tel": 17018,
+ "pct_email": 85.1,
+ "pct_tel": 95.6
+ },
+ {
+ "country": "INTL",
+ "hcps": 1879,
+ "with_email": 1879,
+ "with_tel": 0,
+ "pct_email": 100,
+ "pct_tel": 0
+ }
+ ]
+ },
+ "docker": [
+ {
+ "name": "loki",
+ "status": "Up 4 days",
+ "ports": ""
+ },
+ {
+ "name": "listmonk",
+ "status": "Up 4 days",
+ "ports": ""
+ },
+ {
+ "name": "plausible-plausible-1",
+ "status": "Up 3 days",
+ "ports": ""
+ },
+ {
+ "name": "plausible-plausible-db-1",
+ "status": "Up 3 days",
+ "ports": ""
+ },
+ {
+ "name": "plausible-plausible-events-db-1",
+ "status": "Up 3 days",
+ "ports": ""
+ },
+ {
+ "name": "n8n-docker-n8n-1",
+ "status": "Up 4 days",
+ "ports": ""
+ },
+ {
+ "name": "mattermost-docker-mm-db-1",
+ "status": "Up 4 days",
+ "ports": ""
+ },
+ {
+ "name": "mattermost-docker-mattermost-1",
+ "status": "Up 4 days (healthy)",
+ "ports": ""
+ },
+ {
+ "name": "twenty",
+ "status": "Up 4 days",
+ "ports": ""
+ },
+ {
+ "name": "twenty-redis",
+ "status": "Up 4 days",
+ "ports": ""
+ },
+ {
+ "name": "langfuse",
+ "status": "Up 5 days",
+ "ports": ""
+ },
+ {
+ "name": "redis-weval",
+ "status": "Up 6 days",
+ "ports": ""
+ },
+ {
+ "name": "gitea",
+ "status": "Up 6 days",
+ "ports": ""
+ },
+ {
+ "name": "node-exporter",
+ "status": "Up 6 days",
+ "ports": ""
+ },
+ {
+ "name": "prometheus",
+ "status": "Up 6 days",
+ "ports": ""
+ },
+ {
+ "name": "searxng",
+ "status": "Up 6 days",
+ "ports": ""
+ },
+ {
+ "name": "uptime-kuma",
+ "status": "Up 24 hours (healthy)",
+ "ports": ""
+ },
+ {
+ "name": "vaultwarden",
+ "status": "Up 6 days (healthy)",
+ "ports": ""
+ },
+ {
+ "name": "qdrant",
+ "status": "Up 6 days",
+ "ports": ""
+ }
+ ],
+ "crons": {
+ "active": 35
+ },
+ "git": {
+ "head": "6eadc38e3 auto-sync-0225",
+ "dirty": 4,
+ "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": 3647,
+ "health": {
+ "score": 5,
+ "max": 6,
+ "pct": 83
+ },
+ "elapsed_ms": 10320
+}
\ No newline at end of file
diff --git a/api/v83-business-kpi-latest.json b/api/v83-business-kpi-latest.json
index a2fc715e3..70b95c867 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-21T00:24:02+00:00",
+ "ts": "2026-04-21T00:27:02+00:00",
"summary": {
"total_categories": 7,
"total_kpis": 56,
diff --git a/api/wevia-orchestrator.php b/api/wevia-orchestrator.php
index 670480296..50e05c2b1 100644
--- a/api/wevia-orchestrator.php
+++ b/api/wevia-orchestrator.php
@@ -55,7 +55,12 @@ function wevia_orchestrate($q) {
$results["scraper"] = trim(shell_exec("pgrep -f 'playwright|scrapy|scraper' 2>/dev/null|wc -l")) . " scrapers";
// 12. OLLAMA
- $results["ollama"] = trim(shell_exec("pgrep ollama 2>/dev/null|wc -l")) . " (must be 0)";
+ $ollama_check = @file_get_contents("http://127.0.0.1:11434/api/tags");
+ if ($ollama_check && ($tags = @json_decode($ollama_check, true)) && isset($tags["models"])) {
+ $results["ollama"] = count($tags["models"]) . " models LIVE (required for NonReg)";
+ } else {
+ $results["ollama"] = "DOWN (BROKEN - systemctl start ollama)";
+ }
// 13. RESOLVER
$rpass=0;foreach(["reconcile tout","ethica status","fix nginx"] as $rt){if(wevia_resolve($rt))$rpass++;}
diff --git a/weval-technology-platform.html b/weval-technology-platform.html
index 6f4906cb0..4be7e0510 100644
--- a/weval-technology-platform.html
+++ b/weval-technology-platform.html
@@ -1827,6 +1827,7 @@ if (typeof window.navigateTo === 'function'){
🎯DG Center
⚕️Ethica
🏢Big4 Model
+ 🧠All-IA Hub
⚡Value Stream