diff --git a/api/$_IC b/api/$_IC index 276967b2e..c23b56a43 100644 --- a/api/$_IC +++ b/api/$_IC @@ -1 +1 @@ -{"timestamp":"2026-04-07 23:29:15","scan_ms":8186,"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 5 minutes"},{"name":"authentik-redis","status":"Up 5 minutes"},{"name":"authentik-server","status":"Up 5 minutes (healthy)"},{"name":"authentik-worker","status":"Up 5 minutes (healthy)"},{"name":"chatwoot-redis","status":"Up 27 hours"},{"name":"langfuse","status":"Up 27 hours"},{"name":"loki","status":"Up 27 hours"},{"name":"mattermost","status":"Up About an hour (healthy)"},{"name":"n8n","status":"Up 27 minutes"},{"name":"node-exporter","status":"Up 27 hours"},{"name":"plausible-db","status":"Up 27 hours"},{"name":"plausible-events","status":"Up 27 hours"},{"name":"plausible","status":"Up 27 hours"},{"name":"prometheus","status":"Up 27 hours"},{"name":"qdrant","status":"Up 27 hours"},{"name":"searxng","status":"Up 27 hours"},{"name":"twenty-redis","status":"Up 27 hours"},{"name":"twenty","status":"Up 27 hours"},{"name":"uptime-kuma","status":"Up 27 hours (healthy)"},{"name":"vaultwarden","status":"Up 27 hours (healthy)"}]},"s95":{"ip":"95.216.167.89","label":"S95 WEVADS","services":[{"name":"kumomta","status":"active","port":"587"},{"name":"apache2","status":"active","port":"80"},{"name":"postgresql","status":"active","port":"5432"},{"name":"postfix","status":"active","port":"2525"},{"name":"pmta","status":"active","port":"25"},{"name":"sentinel","status":"active","port":"5890"},{"name":"adx","status":"active","port":"5821"},{"name":"arsenal","status":"active","port":"5822"}],"docker":[{"name":"listmonk_db","status":"Up 4 days"},{"name":"listmonk","status":"Up 4 days"}]},"s151":{"ip":"151.80.235.110","label":"S151 OVH","services":[{"name":"nginx","status":"active","port":"80"},{"name":"php-fpm","status":"active","port":"9000"},{"name":"postgresql","status":"active","port":"5432"},{"name":"ollama","status":"active","port":"11434"}],"docker":[{"name":"ollama","status":"Up 2 weeks"}]},"blade":{"ip":"local","label":"Razer Blade","services":[{"name":"Sentinel Agent","status":"active","port":"\u2014","info":"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1"}],"docker":[]}},"crons":[{"server":"S95","user":"root","schedule":"*\/30 * * * *","command":"php \/opt\/wevads\/scripts\/ethica\/ethica-validator.php 500 >> \/opt\/wevads\/logs\/ethica-validator.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 *\/4 * * *","command":"php \/opt\/wevads\/scripts\/cron-bounces.php >> \/var\/log\/wevads\/bounces.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"0 3 * * *","command":"\/root\/backups\/daily_backup.sh","source":"crontab"},{"server":"S95","user":"root","schedule":"0 4 * * *","command":"\/opt\/wevads\/scripts\/auto-backup-github.sh >> \/var\/log\/wevads\/backup.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 0 * * *","command":"php \/opt\/wevads\/scripts\/daily-stats-aggregate.php >> \/var\/log\/wevads\/daily-stats.log 2>&1","source":"crontab"},{"server":"S95","user":"root","schedule":"30 1 * * *","command":"php \/opt\/wevads\/scripts\/cron-engagement.php >> \/var\/log\/wevads\/engagement.log 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/5 * * * *","command":"curl -s -m 10 http:\/\/localhost:11434\/api\/generate -d {model:granite4,prompt:ok,stream:false,keep_alive:-1} > \/dev\/null 2>&1","source":"crontab"},{"server":"S151","user":"ubuntu","schedule":"*\/10 * * * *","command":"docker start openclaw 2>\/dev\/null","source":"crontab"},{"server":"S151","user":"root","schedule":"*\/5 * * * *","command":"\/opt\/tracking_monitor.sh","source":"crontab"},{"server":"Blade","user":"SYSTEM","schedule":"*\/60s loop","command":"sentinel-agent.ps1 (auto-sync S204)","source":"Task Scheduler"}],"stats":{"total_crons":10,"total_services":20,"total_docker":23}} \ No newline at end of file +{"timestamp":"2026-04-07 23:39:17","scan_ms":7875,"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":"chatwoot-redis","status":"Up 27 hours"},{"name":"langfuse","status":"Up 27 hours"},{"name":"loki","status":"Up 27 hours"},{"name":"mattermost","status":"Up About an hour (healthy)"},{"name":"n8n","status":"Up 37 minutes"},{"name":"node-exporter","status":"Up 27 hours"},{"name":"plausible-db","status":"Up 27 hours"},{"name":"plausible-events","status":"Up 27 hours"},{"name":"plausible","status":"Up 27 hours"},{"name":"prometheus","status":"Up 27 hours"},{"name":"qdrant","status":"Up 27 hours"},{"name":"searxng","status":"Up 27 hours"},{"name":"twenty-redis","status":"Up 27 hours"},{"name":"twenty","status":"Up 27 hours"},{"name":"uptime-kuma","status":"Up 27 hours (healthy)"},{"name":"vaultwarden","status":"Up 27 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":19}} \ No newline at end of file diff --git a/api/architecture-index.json b/api/architecture-index.json index 33ce580c9..77d809e73 100644 --- a/api/architecture-index.json +++ b/api/architecture-index.json @@ -1,5 +1,5 @@ { - "generated": "2026-04-07 23:00:15", + "generated": "2026-04-07 23:30:14", "version": "1.0", "servers": [ { @@ -8,9 +8,9 @@ "private": "10.1.0.2", "role": "PRIMARY", "ssh": 49222, - "disk_pct": 84, + "disk_pct": 83, "disk_avail": "25G", - "uptime": "up 2 weeks, 1 day, 8 hours, 56 minutes", + "uptime": "up 2 weeks, 1 day, 9 hours, 26 minutes", "nginx": "active", "php_fpm": "active", "php_version": "8.5.3" @@ -34,6 +34,26 @@ } ], "docker": [ + { + "name": "authentik-worker", + "status": "Up 7 minutes (healthy)", + "ports": "" + }, + { + "name": "authentik-server", + "status": "Up 7 minutes (healthy)", + "ports": "" + }, + { + "name": "authentik-redis", + "status": "Up 7 minutes", + "ports": "" + }, + { + "name": "authentik-db", + "status": "Up 7 minutes", + "ports": "" + }, { "name": "loki", "status": "Up 27 hours", @@ -44,26 +64,6 @@ "status": "Up 27 hours", "ports": "" }, - { - "name": "authentik-server", - "status": "Up 39 minutes (healthy)", - "ports": "" - }, - { - "name": "authentik-worker", - "status": "Up 39 minutes (healthy)", - "ports": "" - }, - { - "name": "authentik-db", - "status": "Up 27 hours", - "ports": "" - }, - { - "name": "authentik-redis", - "status": "Up 27 hours", - "ports": "" - }, { "name": "langfuse", "status": "Up 27 hours", @@ -111,7 +111,7 @@ }, { "name": "n8n", - "status": "Up 27 hours", + "status": "Up 28 minutes", "ports": "" }, { @@ -121,7 +121,7 @@ }, { "name": "mattermost", - "status": "Up 40 minutes (healthy)", + "status": "Up About an hour (healthy)", "ports": "" }, { @@ -284,9 +284,9 @@ "www.weval-consulting.com" ], "ssl": true, - "authentik": true, - "authentik_paths": true, - "auth_complete": true + "authentik": false, + "authentik_paths": false, + "auth_complete": false } ], "screens": { @@ -301,7 +301,7 @@ "system": "Authentik Forward Auth", "outpost_port": 9090, "provider_id": 5, - "protected_count": 55, + "protected_count": 0, "users": [ "yacine", "yanis", @@ -321,7 +321,7 @@ "nocodb" ], "key_tables": { - "kb_learnings": 1077, + "kb_learnings": 1083, "kb_documents": 0, "ethica_medecins": 50004, "enterprise_agents": 0 @@ -582,15 +582,15 @@ ] }, "wiki": { - "total_entries": 1077, + "total_entries": 1083, "categories": [ { "category": "AUTO-FIX", - "cnt": "336" + "cnt": "339" }, { "category": "TOPOLOGY", - "cnt": "269" + "cnt": "272" }, { "category": "L99-FULLSCAN", @@ -601,11 +601,11 @@ "cnt": "39" }, { - "category": "AGENT", + "category": "INFRA", "cnt": "20" }, { - "category": "INFRA", + "category": "AGENT", "cnt": "20" }, { @@ -632,10 +632,6 @@ "category": "MASTER-INTENT", "cnt": "6" }, - { - "category": "AUTH", - "cnt": "5" - }, { "category": "Analyse", "cnt": "5" @@ -644,10 +640,18 @@ "category": "SESSION-5AVR", "cnt": "5" }, + { + "category": "AUTH", + "cnt": "5" + }, { "category": "Maroc", "cnt": "5" }, + { + "category": "claude_2026", + "cnt": "4" + }, { "category": "SERVICES", "cnt": "4" @@ -656,48 +660,56 @@ "category": "WEVAL Consulting", "cnt": "4" }, - { - "category": "claude_2026", - "cnt": "4" - }, - { - "category": "INTEGRATION", - "cnt": "3" - }, { "category": "PARADIGM", "cnt": "3" }, - { - "category": "FIX-CRITIQUE", - "cnt": "3" - }, { "category": "Intelligence Artificielle", "cnt": "3" }, { - "category": "WEVAL Consulting Casablanca", - "cnt": "2" + "category": "FIX-CRITIQUE", + "cnt": "3" }, { - "category": "PROVIDERS", - "cnt": "2" + "category": "INTEGRATION", + "cnt": "3" }, { "category": "L99-MEGA", "cnt": "2" }, + { + "category": "Diagramme", + "cnt": "2" + }, + { + "category": "Cependant", + "cnt": "2" + }, + { + "category": "QUALITY", + "cnt": "2" + }, { "category": "MONITORING", "cnt": "2" }, + { + "category": "Bien", + "cnt": "2" + }, { "category": "L99", "cnt": "2" }, { - "category": "Comparaison", + "category": "Introduction", + "cnt": "2" + }, + { + "category": "PROVIDERS", "cnt": "2" }, { @@ -705,11 +717,11 @@ "cnt": "2" }, { - "category": "L99-EXHAUSTIVE", + "category": "Pour", "cnt": "2" }, { - "category": "Cependant", + "category": "WEVIA", "cnt": "2" }, { @@ -721,27 +733,19 @@ "cnt": "2" }, { - "category": "Bien", + "category": "Pourriez", "cnt": "2" }, { - "category": "Document", + "category": "Voici", "cnt": "2" }, { - "category": "QUALITY", + "category": "L99-E2E", "cnt": "2" }, { - "category": "Casablanca", - "cnt": "2" - }, - { - "category": "Vous", - "cnt": "2" - }, - { - "category": "WEVIA", + "category": "Salut", "cnt": "2" }, { @@ -753,41 +757,285 @@ "cnt": "2" }, { - "category": "Salut", + "category": "WEVAL Consulting Casablanca", "cnt": "2" }, { - "category": "Pourriez", + "category": "Vous", "cnt": "2" }, { - "category": "Diagramme", + "category": "Document", "cnt": "2" }, { - "category": "Voici", + "category": "L99-EXHAUSTIVE", "cnt": "2" }, { - "category": "Introduction", + "category": "Comparaison", "cnt": "2" }, { - "category": "Pour", + "category": "Casablanca", "cnt": "2" }, { - "category": "L99-E2E", - "cnt": "2" + "category": "ADKAR", + "cnt": "1" + }, + { + "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" @@ -796,6 +1044,14 @@ "category": "Fais", "cnt": "1" }, + { + "category": "Iran", + "cnt": "1" + }, + { + "category": "OLLAMA", + "cnt": "1" + }, { "category": "Reessayez", "cnt": "1" @@ -808,10 +1064,34 @@ "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" @@ -820,6 +1100,14 @@ "category": "Explique RLHF", "cnt": "1" }, + { + "category": "Huawei Cloud", + "cnt": "1" + }, + { + "category": "PMO SAFe", + "cnt": "1" + }, { "category": "Migration SAP ECC", "cnt": "1" @@ -828,6 +1116,10 @@ "category": "team_work", "cnt": "1" }, + { + "category": "Bonjour Pr", + "cnt": "1" + }, { "category": "Maroc DDMRP OTIF WMS TMS", "cnt": "1" @@ -836,10 +1128,18 @@ "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" @@ -852,10 +1152,22 @@ "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" @@ -868,28 +1180,64 @@ "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": "Zero Trust SOC", + "category": "Workshop", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO GRPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Comparatif ERP PME", "cnt": "1" }, { @@ -900,6 +1248,10 @@ "category": "SAP MM", "cnt": "1" }, + { + "category": "Phases", + "cnt": "1" + }, { "category": "Autres", "cnt": "1" @@ -908,6 +1260,14 @@ "category": "FHIR", "cnt": "1" }, + { + "category": "SESSION-7AVR", + "cnt": "1" + }, + { + "category": "FHIR IA", + "cnt": "1" + }, { "category": "MLOps", "cnt": "1" @@ -916,6 +1276,10 @@ "category": "MIROFISH", "cnt": "1" }, + { + "category": "Ecris", + "cnt": "1" + }, { "category": "Suite", "cnt": "1" @@ -924,18 +1288,58 @@ "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" @@ -960,6 +1364,10 @@ "category": "SaaS", "cnt": "1" }, + { + "category": "CODE BLOCK", + "cnt": "1" + }, { "category": "Cahier", "cnt": "1" @@ -968,330 +1376,6 @@ "category": "Maroc FHIR", "cnt": "1" }, - { - "category": "Python", - "cnt": "1" - }, - { - "category": "SAP ERP", - "cnt": "1" - }, - { - "category": "Cette", - "cnt": "1" - }, - { - "category": "Logo Weval", - "cnt": "1" - }, - { - "category": "ADKAR", - "cnt": "1" - }, - { - "category": "Vistex BTP Signavio", - "cnt": "1" - }, - { - "category": "DMAIC", - "cnt": "1" - }, - { - "category": "Industrie", - "cnt": "1" - }, - { - "category": "Proposition", - "cnt": "1" - }, - { - "category": "Accueil\nBienvenue", - "cnt": "1" - }, - { - "category": "Logo", - "cnt": "1" - }, - { - "category": "Votre", - "cnt": "1" - }, - { - "category": "Explique", - "cnt": "1" - }, - { - "category": "RLHF", - "cnt": "1" - }, - { - "category": "Bonjour Bonjour", - "cnt": "1" - }, - { - "category": "Audit", - "cnt": "1" - }, - { - "category": "WEVAL", - "cnt": "1" - }, - { - "category": "Maghreb", - "cnt": "1" - }, - { - "category": "Quelle", - "cnt": "1" - }, - { - "category": "Donn", - "cnt": "1" - }, - { - "category": "Syst", - "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": "Healthcare", - "cnt": "1" - }, - { - "category": "BLADE", - "cnt": "1" - }, - { - "category": "Conseil", - "cnt": "1" - }, - { - "category": "Nous", - "cnt": "1" - }, - { - "category": "Zero Trust SOC SIEM", - "cnt": "1" - }, - { - "category": "Retiens", - "cnt": "1" - }, - { - "category": "QDRANT", - "cnt": "1" - }, - { - "category": "MITRE ATT", - "cnt": "1" - }, - { - "category": "Supply", - "cnt": "1" - }, - { - "category": "Exercice", - "cnt": "1" - }, - { - "category": "Redige", - "cnt": "1" - }, - { - "category": "Quels", - "cnt": "1" - }, - { - "category": "Plateforme", - "cnt": "1" - }, - { - "category": "Cyber", - "cnt": "1" - }, - { - "category": "Migration SAP", - "cnt": "1" - }, - { - "category": "Iran", - "cnt": "1" - }, - { - "category": "OLLAMA", - "cnt": "1" - }, - { - "category": "SAP Vistex", - "cnt": "1" - }, - { - "category": "IoT WMS", - "cnt": "1" - }, - { - "category": "What", - "cnt": "1" - }, - { - "category": "Strategie", - "cnt": "1" - }, - { - "category": "Rappelle", - "cnt": "1" - }, - { - "category": "DMAIC Six Sigma", - "cnt": "1" - }, - { - "category": "Huawei Cloud", - "cnt": "1" - }, - { - "category": "PMO SAFe", - "cnt": "1" - }, - { - "category": "Bonjour Pr", - "cnt": "1" - }, - { - "category": "Framework NIST", - "cnt": "1" - }, - { - "category": "Compare RLHF DPO Constitutional AI", - "cnt": "1" - }, - { - "category": "Brownfield", - "cnt": "1" - }, - { - "category": "Confirmation", - "cnt": "1" - }, - { - "category": "KPIs", - "cnt": "1" - }, - { - "category": "Services", - "cnt": "1" - }, - { - "category": "Maroc TMA", - "cnt": "1" - }, - { - "category": "Intelligence", - "cnt": "1" - }, - { - "category": "Vistex", - "cnt": "1" - }, - { - "category": "Maroc CMI", - "cnt": "1" - }, - { - "category": "Aide", - "cnt": "1" - }, - { - "category": "Compare RLHF DPO GRPO Constitutional AI", - "cnt": "1" - }, - { - "category": "Workshop", - "cnt": "1" - }, - { - "category": "Comparatif ERP PME", - "cnt": "1" - }, - { - "category": "Phases", - "cnt": "1" - }, - { - "category": "SESSION-7AVR", - "cnt": "1" - }, - { - "category": "FHIR IA", - "cnt": "1" - }, - { - "category": "Ecris", - "cnt": "1" - }, - { - "category": "Bienvenue", - "cnt": "1" - }, - { - "category": "Retrieval", - "cnt": "1" - }, - { - "category": "Afrique", - "cnt": "1" - }, - { - "category": "Dans", - "cnt": "1" - }, - { - "category": "Azure", - "cnt": "1" - }, - { - "category": "Budget", - "cnt": "1" - }, - { - "category": "CNDP", - "cnt": "1" - }, - { - "category": "Compare", - "cnt": "1" - }, - { - "category": "Control", - "cnt": "1" - }, - { - "category": "SESSION-6AVR", - "cnt": "1" - }, - { - "category": "CODE BLOCK", - "cnt": "1" - }, { "category": "DESIGN", "cnt": "1" @@ -1304,14 +1388,26 @@ "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" @@ -1321,103 +1417,7 @@ "cnt": "1" }, { - "category": "Conduite", - "cnt": "1" - }, - { - "category": "SAP ECC", - "cnt": "1" - }, - { - "category": "Probl", - "cnt": "1" - }, - { - "category": "ANTI-REGRESSION", - "cnt": "1" - }, - { - "category": "Zero Trust", - "cnt": "1" - }, - { - "category": "Augmented Generation", - "cnt": "1" - }, - { - "category": "Service", - "cnt": "1" - }, - { - "category": "Transformer", - "cnt": "1" - }, - { - "category": "Transformation", - "cnt": "1" - }, - { - "category": "Strat", - "cnt": "1" - }, - { - "category": "ERP SAP", - "cnt": "1" - }, - { - "category": "Oracle", - "cnt": "1" - }, - { - "category": "Data", - "cnt": "1" - }, - { - "category": "Quel", - "cnt": "1" - }, - { - "category": "Ahmed", - "cnt": "1" - }, - { - "category": "UiPath", - "cnt": "1" - }, - { - "category": "Niveau PhD", - "cnt": "1" - }, - { - "category": "SAP Vistex Revenue Management", - "cnt": "1" - }, - { - "category": "Fine", - "cnt": "1" - }, - { - "category": "Compare AWS Azure GCP", - "cnt": "1" - }, - { - "category": "Plan", - "cnt": "1" - }, - { - "category": "Amazon Web Services", - "cnt": "1" - }, - { - "category": "Diff", - "cnt": "1" - }, - { - "category": "FMCG", - "cnt": "1" - }, - { - "category": "Supply Chain", + "category": "Logo Weval", "cnt": "1" } ], @@ -1703,6 +1703,18 @@ "optimizations": { "recent_commits": [], "auto_fixes": [ + { + "fact": "AUTO-FIX 07Apr2026 23:30: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 01:30:06.443452" + }, + { + "fact": "AUTO-FIX 07Apr2026 23:30: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 01:30:06.30083" + }, + { + "fact": "AUTO-FIX 07Apr2026 23:00: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 01:00:16.90042" + }, { "fact": "AUTO-FIX 07Apr2026 23:00: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", "created_at": "2026-04-08 01:00:07.087959" @@ -1730,18 +1742,6 @@ { "fact": "AUTO-FIX 07Apr2026 22:27: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", "created_at": "2026-04-08 00:27:30.179368" - }, - { - "fact": "AUTO-FIX 07Apr2026 22:27: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", - "created_at": "2026-04-08 00:27:29.257905" - }, - { - "fact": "AUTO-FIX 07Apr2026 22:26: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", - "created_at": "2026-04-08 00:26:16.281164" - }, - { - "fact": "AUTO-FIX 07Apr2026 22:01: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", - "created_at": "2026-04-08 00:01:51.245843" } ], "architecture_decisions": [ @@ -1929,13 +1929,13 @@ "title": "Ollama: 33.6GB de modèles", "cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"qwen2.5:7b\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"mistral:latest\"} 2>\/dev\/null", "output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for begi", - "time": "2026-04-07 23:00:16" + "time": "2026-04-07 23:30:14" }, { "title": "Ollama: 10 modèles chargés", "cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null", "output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}", - "time": "2026-04-07 23:00:16" + "time": "2026-04-07 23:30:14" } ], "recommendations": [ @@ -1969,5 +1969,5 @@ } ] }, - "scan_time_ms": 953 + "scan_time_ms": 774 } \ No newline at end of file diff --git a/api/architecture-scan.json b/api/architecture-scan.json index e69de29bb..da2b65922 100644 --- a/api/architecture-scan.json +++ b/api/architecture-scan.json @@ -0,0 +1,1973 @@ +{ + "generated": "2026-04-07 23:30:03", + "version": "1.0", + "servers": [ + { + "id": "S204", + "ip": "204.168.152.13", + "private": "10.1.0.2", + "role": "PRIMARY", + "ssh": 49222, + "disk_pct": 83, + "disk_avail": "25G", + "uptime": "up 2 weeks, 1 day, 9 hours, 26 minutes", + "nginx": "active", + "php_fpm": "active", + "php_version": "8.5.3" + }, + { + "id": "S95", + "ip": "95.216.167.89", + "private": "10.1.0.3", + "role": "WEVADS Arsenal", + "ssh": 22, + "disk_pct": 81, + "disk_avail": "28G", + "sentinel": 1 + }, + { + "id": "S151", + "ip": "151.80.235.110", + "private": null, + "role": "DR\/Tracking OVH", + "ssh": 22 + } + ], + "docker": [ + { + "name": "authentik-worker", + "status": "Up 6 minutes (healthy)", + "ports": "" + }, + { + "name": "authentik-server", + "status": "Up 6 minutes (healthy)", + "ports": "" + }, + { + "name": "authentik-redis", + "status": "Up 6 minutes", + "ports": "" + }, + { + "name": "authentik-db", + "status": "Up 6 minutes", + "ports": "" + }, + { + "name": "loki", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "chatwoot-redis", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "langfuse", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "node-exporter", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "prometheus", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "twenty", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "twenty-redis", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "searxng", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "plausible", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "plausible-db", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "plausible-events", + "status": "Up 27 hours", + "ports": "" + }, + { + "name": "n8n", + "status": "Up 28 minutes", + "ports": "" + }, + { + "name": "uptime-kuma", + "status": "Up 27 hours (healthy)", + "ports": "" + }, + { + "name": "mattermost", + "status": "Up About an hour (healthy)", + "ports": "" + }, + { + "name": "vaultwarden", + "status": "Up 27 hours (healthy)", + "ports": "" + }, + { + "name": "qdrant", + "status": "Up 27 hours", + "ports": "" + } + ], + "domains": [ + { + "file": "analytics.weval-consulting.com", + "server_names": [ + "analytics.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "analytics.weval-consulting.com.bak", + "server_names": [ + "analytics.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "auth.weval-consulting.com", + "server_names": [ + "auth.weval-consulting.com" + ], + "ssl": true, + "authentik": false, + "authentik_paths": false, + "auth_complete": false + }, + { + "file": "code-weval", + "server_names": [ + "code.weval-consulting.com" + ], + "ssl": true, + "authentik": false, + "authentik_paths": false, + "auth_complete": false + }, + { + "file": "crm.weval-consulting.com", + "server_names": [ + "crm.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "deerflow.weval-consulting.com", + "server_names": [ + "deerflow.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "deerflow.weval-consulting.com.bak", + "server_names": [ + "deerflow.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "ethica", + "server_names": [ + "ethica.wevup.app", + "consent.wevup.app" + ], + "ssl": true, + "authentik": false, + "authentik_paths": false, + "auth_complete": false + }, + { + "file": "mirofish.weval-consulting.com", + "server_names": [ + "mirofish.weval-consulting.com" + ], + "ssl": true, + "authentik": false, + "authentik_paths": false, + "auth_complete": false + }, + { + "file": "mm.weval-consulting.com", + "server_names": [ + "mm.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "monitor.weval-consulting.com", + "server_names": [ + "monitor.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "n8n.weval-consulting.com", + "server_names": [ + "n8n.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "paperclip.weval-consulting.com", + "server_names": [ + "paperclip.weval-consulting.com" + ], + "ssl": true, + "authentik": false, + "authentik_paths": false, + "auth_complete": false + }, + { + "file": "wevads.weval-consulting.com", + "server_names": [ + "wevads.weval-consulting.com" + ], + "ssl": true, + "authentik": true, + "authentik_paths": true, + "auth_complete": true + }, + { + "file": "weval-consulting", + "server_names": [ + "weval-consulting.com", + "www.weval-consulting.com" + ], + "ssl": true, + "authentik": false, + "authentik_paths": false, + "auth_complete": false + } + ], + "screens": { + "s204_html": 112, + "s204_products": 88, + "s204_api_php": 303, + "s204_wevia_php": 6, + "s95_arsenal_html": 1377, + "s95_arsenal_api": 377 + }, + "auth": { + "system": "Authentik Forward Auth", + "outpost_port": 9090, + "provider_id": 5, + "protected_count": 0, + "users": [ + "yacine", + "yanis", + "akadmin" + ], + "login_url": "https:\/\/auth.weval-consulting.com" + }, + "databases": { + "s204": [ + "postgres", + "adx_system", + "wevia_db", + "twenty_db", + "mattermost_db", + "paperclip", + "deerflow", + "nocodb" + ], + "key_tables": { + "kb_learnings": 1081, + "kb_documents": 0, + "ethica_medecins": 50004, + "enterprise_agents": 0 + } + }, + "ollama": [ + { + "name": "glm4:9b", + "family": "chatglm", + "params": "9.4B", + "quant": "Q4_0", + "size_gb": 5.5 + }, + { + "name": "hermes3:8b", + "family": "llama", + "params": "8.0B", + "quant": "Q4_0", + "size_gb": 4.7 + }, + { + "name": "moondream:latest", + "family": "phi2", + "params": "1B", + "quant": "Q4_0", + "size_gb": 1.7 + }, + { + "name": "deepseek-r1:7b", + "family": "qwen2", + "params": "7.6B", + "quant": "Q4_K_M", + "size_gb": 4.7 + }, + { + "name": "weval-brain-v3:latest", + "family": "qwen3", + "params": "8.2B", + "quant": "Q4_K_M", + "size_gb": 5.2 + }, + { + "name": "qwen3:8b", + "family": "qwen3", + "params": "8.2B", + "quant": "Q4_K_M", + "size_gb": 5.2 + }, + { + "name": "nomic-embed-text:v1.5", + "family": "nomic-bert", + "params": "137M", + "quant": "F16", + "size_gb": 0.3 + }, + { + "name": "medllama2:latest", + "family": "llama", + "params": "7B", + "quant": "Q4_0", + "size_gb": 3.8 + }, + { + "name": "all-minilm:latest", + "family": "bert", + "params": "23M", + "quant": "F16", + "size_gb": 0 + }, + { + "name": "qwen3:4b", + "family": "qwen3", + "params": "4.0B", + "quant": "Q4_K_M", + "size_gb": 2.5 + } + ], + "qdrant": [ + { + "name": "wevia_memory", + "vectors": 28 + }, + { + "name": "weval_skills", + "vectors": 14367 + }, + { + "name": "wevia_learnings", + "vectors": 672 + }, + { + "name": "wevia_kb", + "vectors": 386 + } + ], + "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": 33, + "s204_total": 33, + "key_crons": [ + { + "name": "L99 Master", + "freq": "*\/30", + "target": "l99-master.py" + }, + { + "name": "L99 Auth", + "freq": "*\/30", + "target": "l99-auth-infra.py" + }, + { + "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": "SSO Health", + "freq": "*\/5", + "target": "weval-sso-health.sh" + }, + { + "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": 1081, + "categories": [ + { + "category": "AUTO-FIX", + "cnt": "337" + }, + { + "category": "TOPOLOGY", + "cnt": "272" + }, + { + "category": "L99-FULLSCAN", + "cnt": "80" + }, + { + "category": "SYSTEMATIC", + "cnt": "39" + }, + { + "category": "AGENT", + "cnt": "20" + }, + { + "category": "INFRA", + "cnt": "20" + }, + { + "category": "L99-SCAN", + "cnt": "12" + }, + { + "category": "CONTROL-TOWER", + "cnt": "12" + }, + { + "category": "FIX", + "cnt": "10" + }, + { + "category": "DISCOVERY", + "cnt": "9" + }, + { + "category": "FLEET", + "cnt": "8" + }, + { + "category": "MASTER-INTENT", + "cnt": "6" + }, + { + "category": "AUTH", + "cnt": "5" + }, + { + "category": "Analyse", + "cnt": "5" + }, + { + "category": "SESSION-5AVR", + "cnt": "5" + }, + { + "category": "Maroc", + "cnt": "5" + }, + { + "category": "SERVICES", + "cnt": "4" + }, + { + "category": "WEVAL Consulting", + "cnt": "4" + }, + { + "category": "claude_2026", + "cnt": "4" + }, + { + "category": "INTEGRATION", + "cnt": "3" + }, + { + "category": "PARADIGM", + "cnt": "3" + }, + { + "category": "FIX-CRITIQUE", + "cnt": "3" + }, + { + "category": "Intelligence Artificielle", + "cnt": "3" + }, + { + "category": "WEVAL Consulting Casablanca", + "cnt": "2" + }, + { + "category": "PROVIDERS", + "cnt": "2" + }, + { + "category": "L99-MEGA", + "cnt": "2" + }, + { + "category": "MONITORING", + "cnt": "2" + }, + { + "category": "L99", + "cnt": "2" + }, + { + "category": "Comparaison", + "cnt": "2" + }, + { + "category": "Image", + "cnt": "2" + }, + { + "category": "L99-EXHAUSTIVE", + "cnt": "2" + }, + { + "category": "Cependant", + "cnt": "2" + }, + { + "category": "Contexte", + "cnt": "2" + }, + { + "category": "L99-GAP", + "cnt": "2" + }, + { + "category": "Bien", + "cnt": "2" + }, + { + "category": "Document", + "cnt": "2" + }, + { + "category": "QUALITY", + "cnt": "2" + }, + { + "category": "Casablanca", + "cnt": "2" + }, + { + "category": "Vous", + "cnt": "2" + }, + { + "category": "WEVIA", + "cnt": "2" + }, + { + "category": "Pouvez", + "cnt": "2" + }, + { + "category": "Test", + "cnt": "2" + }, + { + "category": "Salut", + "cnt": "2" + }, + { + "category": "Pourriez", + "cnt": "2" + }, + { + "category": "Diagramme", + "cnt": "2" + }, + { + "category": "Voici", + "cnt": "2" + }, + { + "category": "Introduction", + "cnt": "2" + }, + { + "category": "Pour", + "cnt": "2" + }, + { + "category": "L99-E2E", + "cnt": "2" + }, + { + "category": "Propose", + "cnt": "1" + }, + { + "category": "Tableau", + "cnt": "1" + }, + { + "category": "AUTH-AGENT", + "cnt": "1" + }, + { + "category": "Fais", + "cnt": "1" + }, + { + "category": "Reessayez", + "cnt": "1" + }, + { + "category": "MORNE WEVAL", + "cnt": "1" + }, + { + "category": "Analyse SWOT", + "cnt": "1" + }, + { + "category": "Industry", + "cnt": "1" + }, + { + "category": "Avantages", + "cnt": "1" + }, + { + "category": "Explique RLHF", + "cnt": "1" + }, + { + "category": "Migration SAP ECC", + "cnt": "1" + }, + { + "category": "team_work", + "cnt": "1" + }, + { + "category": "Maroc DDMRP OTIF WMS TMS", + "cnt": "1" + }, + { + "category": "Architecture", + "cnt": "1" + }, + { + "category": "Automatiser", + "cnt": "1" + }, + { + "category": "Genere", + "cnt": "1" + }, + { + "category": "Elle", + "cnt": "1" + }, + { + "category": "Constitutional AI", + "cnt": "1" + }, + { + "category": "Architecture IA", + "cnt": "1" + }, + { + "category": "Quelles", + "cnt": "1" + }, + { + "category": "SWOT", + "cnt": "1" + }, + { + "category": "Comparons", + "cnt": "1" + }, + { + "category": "Contraintes", + "cnt": "1" + }, + { + "category": "Donne", + "cnt": "1" + }, + { + "category": "Audite", + "cnt": "1" + }, + { + "category": "DKIM DMARC", + "cnt": "1" + }, + { + "category": "Bonjour Yacine", + "cnt": "1" + }, + { + "category": "Zero Trust SOC", + "cnt": "1" + }, + { + "category": "Programme", + "cnt": "1" + }, + { + "category": "SAP MM", + "cnt": "1" + }, + { + "category": "Autres", + "cnt": "1" + }, + { + "category": "FHIR", + "cnt": "1" + }, + { + "category": "MLOps", + "cnt": "1" + }, + { + "category": "MIROFISH", + "cnt": "1" + }, + { + "category": "Suite", + "cnt": "1" + }, + { + "category": "Nearshore", + "cnt": "1" + }, + { + "category": "KYC BAM", + "cnt": "1" + }, + { + "category": "INSTRUCTION SYSTEME", + "cnt": "1" + }, + { + "category": "HubSpot", + "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": "Cahier", + "cnt": "1" + }, + { + "category": "Maroc FHIR", + "cnt": "1" + }, + { + "category": "Python", + "cnt": "1" + }, + { + "category": "SAP ERP", + "cnt": "1" + }, + { + "category": "Cette", + "cnt": "1" + }, + { + "category": "Logo Weval", + "cnt": "1" + }, + { + "category": "ADKAR", + "cnt": "1" + }, + { + "category": "Vistex BTP Signavio", + "cnt": "1" + }, + { + "category": "DMAIC", + "cnt": "1" + }, + { + "category": "Industrie", + "cnt": "1" + }, + { + "category": "Proposition", + "cnt": "1" + }, + { + "category": "Accueil\nBienvenue", + "cnt": "1" + }, + { + "category": "Logo", + "cnt": "1" + }, + { + "category": "Votre", + "cnt": "1" + }, + { + "category": "Explique", + "cnt": "1" + }, + { + "category": "RLHF", + "cnt": "1" + }, + { + "category": "Bonjour Bonjour", + "cnt": "1" + }, + { + "category": "Audit", + "cnt": "1" + }, + { + "category": "WEVAL", + "cnt": "1" + }, + { + "category": "Maghreb", + "cnt": "1" + }, + { + "category": "Quelle", + "cnt": "1" + }, + { + "category": "Donn", + "cnt": "1" + }, + { + "category": "Syst", + "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": "Healthcare", + "cnt": "1" + }, + { + "category": "BLADE", + "cnt": "1" + }, + { + "category": "Conseil", + "cnt": "1" + }, + { + "category": "Nous", + "cnt": "1" + }, + { + "category": "Zero Trust SOC SIEM", + "cnt": "1" + }, + { + "category": "Retiens", + "cnt": "1" + }, + { + "category": "QDRANT", + "cnt": "1" + }, + { + "category": "MITRE ATT", + "cnt": "1" + }, + { + "category": "Supply", + "cnt": "1" + }, + { + "category": "Exercice", + "cnt": "1" + }, + { + "category": "Redige", + "cnt": "1" + }, + { + "category": "Quels", + "cnt": "1" + }, + { + "category": "Plateforme", + "cnt": "1" + }, + { + "category": "Cyber", + "cnt": "1" + }, + { + "category": "Migration SAP", + "cnt": "1" + }, + { + "category": "Iran", + "cnt": "1" + }, + { + "category": "OLLAMA", + "cnt": "1" + }, + { + "category": "SAP Vistex", + "cnt": "1" + }, + { + "category": "IoT WMS", + "cnt": "1" + }, + { + "category": "What", + "cnt": "1" + }, + { + "category": "Strategie", + "cnt": "1" + }, + { + "category": "Rappelle", + "cnt": "1" + }, + { + "category": "DMAIC Six Sigma", + "cnt": "1" + }, + { + "category": "Huawei Cloud", + "cnt": "1" + }, + { + "category": "PMO SAFe", + "cnt": "1" + }, + { + "category": "Bonjour Pr", + "cnt": "1" + }, + { + "category": "Framework NIST", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Brownfield", + "cnt": "1" + }, + { + "category": "Confirmation", + "cnt": "1" + }, + { + "category": "KPIs", + "cnt": "1" + }, + { + "category": "Services", + "cnt": "1" + }, + { + "category": "Maroc TMA", + "cnt": "1" + }, + { + "category": "Intelligence", + "cnt": "1" + }, + { + "category": "Vistex", + "cnt": "1" + }, + { + "category": "Maroc CMI", + "cnt": "1" + }, + { + "category": "Aide", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO GRPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Workshop", + "cnt": "1" + }, + { + "category": "Comparatif ERP PME", + "cnt": "1" + }, + { + "category": "Phases", + "cnt": "1" + }, + { + "category": "SESSION-7AVR", + "cnt": "1" + }, + { + "category": "FHIR IA", + "cnt": "1" + }, + { + "category": "Ecris", + "cnt": "1" + }, + { + "category": "Bienvenue", + "cnt": "1" + }, + { + "category": "Retrieval", + "cnt": "1" + }, + { + "category": "Afrique", + "cnt": "1" + }, + { + "category": "Dans", + "cnt": "1" + }, + { + "category": "Azure", + "cnt": "1" + }, + { + "category": "Budget", + "cnt": "1" + }, + { + "category": "CNDP", + "cnt": "1" + }, + { + "category": "Compare", + "cnt": "1" + }, + { + "category": "Control", + "cnt": "1" + }, + { + "category": "SESSION-6AVR", + "cnt": "1" + }, + { + "category": "CODE BLOCK", + "cnt": "1" + }, + { + "category": "DESIGN", + "cnt": "1" + }, + { + "category": "Compare RLHF", + "cnt": "1" + }, + { + "category": "Dynamics", + "cnt": "1" + }, + { + "category": "FORMAT OBLIGATOIRE", + "cnt": "1" + }, + { + "category": "INFRA-SESSION", + "cnt": "1" + }, + { + "category": "OWASP Top", + "cnt": "1" + }, + { + "category": "ALERT", + "cnt": "1" + }, + { + "category": "Conduite", + "cnt": "1" + }, + { + "category": "SAP ECC", + "cnt": "1" + }, + { + "category": "Probl", + "cnt": "1" + }, + { + "category": "ANTI-REGRESSION", + "cnt": "1" + }, + { + "category": "Zero Trust", + "cnt": "1" + }, + { + "category": "Augmented Generation", + "cnt": "1" + }, + { + "category": "Service", + "cnt": "1" + }, + { + "category": "Transformer", + "cnt": "1" + }, + { + "category": "Transformation", + "cnt": "1" + }, + { + "category": "Strat", + "cnt": "1" + }, + { + "category": "ERP SAP", + "cnt": "1" + }, + { + "category": "Oracle", + "cnt": "1" + }, + { + "category": "Data", + "cnt": "1" + }, + { + "category": "Quel", + "cnt": "1" + }, + { + "category": "Ahmed", + "cnt": "1" + }, + { + "category": "UiPath", + "cnt": "1" + }, + { + "category": "Niveau PhD", + "cnt": "1" + }, + { + "category": "SAP Vistex Revenue Management", + "cnt": "1" + }, + { + "category": "Fine", + "cnt": "1" + }, + { + "category": "Compare AWS Azure GCP", + "cnt": "1" + }, + { + "category": "Plan", + "cnt": "1" + }, + { + "category": "Amazon Web Services", + "cnt": "1" + }, + { + "category": "Diff", + "cnt": "1" + }, + { + "category": "FMCG", + "cnt": "1" + }, + { + "category": "Supply Chain", + "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": "authentik" + }, + { + "name": "WEVIA Life", + "type": "Email AI", + "url": "\/products\/wevialife-app.html", + "port": null, + "server": "S204", + "auth": "authentik" + }, + { + "name": "Workspace", + "type": "Hub", + "url": "\/products\/workspace.html", + "port": null, + "server": "S204", + "auth": "authentik" + }, + { + "name": "Arsenal\/WEVADS", + "type": "Email Marketing", + "url": "wevads.weval-consulting.com", + "port": 5890, + "server": "S95", + "auth": "authentik" + }, + { + "name": "ADX\/iResponse", + "type": "Email Platform", + "url": "wevads.weval-consulting.com", + "port": 5821, + "server": "S95", + "auth": "authentik+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": "authentik" + }, + { + "name": "Mattermost", + "type": "Chat", + "url": "mm.weval-consulting.com", + "port": 8065, + "server": "S204", + "auth": "authentik" + }, + { + "name": "n8n", + "type": "Automation", + "url": "n8n.weval-consulting.com", + "port": 5678, + "server": "S204", + "auth": "authentik" + }, + { + "name": "Uptime Kuma", + "type": "Monitoring", + "url": "monitor.weval-consulting.com", + "port": 3001, + "server": "S204", + "auth": "authentik" + }, + { + "name": "Plausible", + "type": "Analytics", + "url": "analytics.weval-consulting.com", + "port": 8000, + "server": "S204", + "auth": "authentik" + }, + { + "name": "DeerFlow", + "type": "AI Research", + "url": "deerflow.weval-consulting.com", + "port": 2024, + "server": "S204", + "auth": "authentik" + }, + { + "name": "Authentik", + "type": "SSO\/IAM", + "url": "auth.weval-consulting.com", + "port": 9090, + "server": "S204", + "auth": "admin" + }, + { + "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": 11435, + "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": "authentik" + }, + { + "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": 146, + "fail": 3, + "warn": 2, + "total": 151, + "timestamp": "2026-04-07 18:00:04", + "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": 34, + "fail": 0 + } + }, + "cortex": { + "fast_lines": 3607, + "router_lines": 753, + "router_functions": 12, + "today_requests": 0, + "today_cost": 0, + "avg_latency_ms": 0, + "top_provider": "N\/A", + "providers_used": 0 + }, + "optimizations": { + "recent_commits": [], + "auto_fixes": [ + { + "fact": "AUTO-FIX 07Apr2026 23:00: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 01:00:16.90042" + }, + { + "fact": "AUTO-FIX 07Apr2026 23:00: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 01:00:07.087959" + }, + { + "fact": "AUTO-FIX 07Apr2026 23:00: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 01:00:06.405296" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:30: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:30:21.130485" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:30: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:30:11.09058" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:30: 3 fixes applied. S204: PHP-FPM DOWN; Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:30:10.490848" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:27: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:27:45.78358" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:27: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:27:30.179368" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:27: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:27:29.257905" + }, + { + "fact": "AUTO-FIX 07Apr2026 22:26: 2 fixes applied. Ollama: 33.6GB de modèles; Ollama: 10 modèles chargés", + "created_at": "2026-04-08 00:26:16.281164" + } + ], + "architecture_decisions": [ + { + "fact": "Crons: root=48 www-data=30 cron.d=67 total=145", + "created_at": "2026-04-07 22:30:05.038912" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 20:30:06.738817" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 18:30:06.029677" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 16:30:06.059277" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 14:30:06.362814" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 12:30:06.045421" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 10:30:03.50112" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 08:30:03.795352" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 06:30:04.560763" + }, + { + "fact": "Crons: root=48 www-data=29 cron.d=67 total=144", + "created_at": "2026-04-07 04:30:04.643679" + }, + { + "fact": "Crons: root=45 www-data=29 cron.d=64 total=138", + "created_at": "2026-04-07 02:30:06.595514" + }, + { + "fact": "Crons: root=43 www-data=29 cron.d=64 total=136", + "created_at": "2026-04-07 01:38:13.144391" + }, + { + "fact": "42 crons active. 21 Docker containers. 15 domains ALL UP. Disk 81%. RAM 33%. SSL 363d.", + "created_at": "2026-04-07 01:26:55.069496" + }, + { + "fact": "Blade Agent v3: heartbeat+poll+execute. Web executor HTML. PowerShell. Heartbeat retourne exec_cmd. 0 inbound ports NAT.", + "created_at": "2026-04-06 07:38:44.329403" + }, + { + "fact": "Dashboard one-call \/api\/wevia-dashboard.php ~1s. System+SSL+AI+Quality+MTA+Domains+Blade+Ethica+Autonomy+Engine.", + "created_at": "2026-04-06 07:38:44.116865" + } + ], + "pipelines": [ + { + "name": "CORTEX Smart Router", + "status": "active", + "desc": "T0 Ollama → T1 Free APIs → T2 Fallbacks", + "routes": 3607 + }, + { + "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": "SSO Health", + "status": "active", + "desc": "Authentik outpost monitoring", + "freq": "*\/5" + }, + { + "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": "down", + "reports": 0, + "bridge": "\/api\/mirofish-bridge.php" + }, + "recommendations": { + "score": 98, + "total": 3, + "critical": 0, + "warning": 0, + "info": 1, + "opportunity": 2, + "auto_fixed": 2, + "fixes_log": [ + { + "title": "Ollama: 33.6GB de modèles", + "cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"qwen2.5:7b\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"mistral:latest\"} 2>\/dev\/null", + "output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for begi", + "time": "2026-04-07 23:30:06" + }, + { + "title": "Ollama: 10 modèles chargés", + "cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null", + "output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}", + "time": "2026-04-07 23:30:06" + } + ], + "recommendations": [ + { + "severity": "info", + "category": "SCALABILITY", + "title": "Ollama: 33.6GB de modèles", + "detail": "Espace modèles important. Considérer supprimer modèles non utilisés.", + "action": "auto", + "fix_cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"qwen2.5:7b\"} 2>\/dev\/null; curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"mistral:latest\"} 2>\/dev\/null", + "auto_fixed": true, + "fix_output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for beginning of object key string\"}{\"error\":\"invalid character 'n' looking for begi" + }, + { + "severity": "opportunity", + "category": "OPTIMIZATION", + "title": "Ollama: 10 modèles chargés", + "detail": "Beaucoup de modèles. Fine-tuner weval-brain-v3 comme modèle unique remplaçant les autres.", + "action": "auto", + "fix_cmd": "curl -s -X DELETE http:\/\/127.0.0.1:11435\/api\/delete -d {\"name\":\"weval-brain-v2:latest\"} 2>\/dev\/null", + "auto_fixed": true, + "fix_output": "{\"error\":\"invalid character 'n' looking for beginning of object key string\"}" + }, + { + "severity": "opportunity", + "category": "SECURITY", + "title": "10 apps internes sans Authentik", + "detail": "Migrer progressivement les apps internes (SearXNG, Qdrant UI, Vaultwarden) derrière Authentik Forward Auth.", + "action": "opportunity", + "fix_cmd": "" + } + ] + }, + "scan_time_ms": 3436 +} \ No newline at end of file diff --git a/api/architecture-topology.json b/api/architecture-topology.json index 9bc466448..2a97c1878 100644 --- a/api/architecture-topology.json +++ b/api/architecture-topology.json @@ -1,6 +1,42 @@ { - "generated": "2026-04-07 23:01:28", + "generated": "2026-04-07 23:30:14", "nodes": [ + { + "id": "docker_authentik-worker", + "label": "authentik-worker", + "type": "docker", + "server": "S204", + "status": "healthy", + "ports": [], + "group": "auth" + }, + { + "id": "docker_authentik-server", + "label": "authentik-server", + "type": "docker", + "server": "S204", + "status": "healthy", + "ports": [], + "group": "auth" + }, + { + "id": "docker_authentik-redis", + "label": "authentik-redis", + "type": "docker", + "server": "S204", + "status": "up", + "ports": [], + "group": "auth" + }, + { + "id": "docker_authentik-db", + "label": "authentik-db", + "type": "docker", + "server": "S204", + "status": "up", + "ports": [], + "group": "auth" + }, { "id": "docker_loki", "label": "loki", @@ -19,42 +55,6 @@ "ports": [], "group": "data" }, - { - "id": "docker_authentik-server", - "label": "authentik-server", - "type": "docker", - "server": "S204", - "status": "healthy", - "ports": [], - "group": "auth" - }, - { - "id": "docker_authentik-worker", - "label": "authentik-worker", - "type": "docker", - "server": "S204", - "status": "healthy", - "ports": [], - "group": "auth" - }, - { - "id": "docker_authentik-db", - "label": "authentik-db", - "type": "docker", - "server": "S204", - "status": "up", - "ports": [], - "group": "auth" - }, - { - "id": "docker_authentik-redis", - "label": "authentik-redis", - "type": "docker", - "server": "S204", - "status": "up", - "ports": [], - "group": "auth" - }, { "id": "docker_langfuse", "label": "langfuse", @@ -313,7 +313,7 @@ "type": "domain", "server": "S204", "status": "active", - "auth": "complete", + "auth": "none", "group": "nginx" }, { @@ -422,7 +422,7 @@ "status": "active", "group": "server", "ip": "204.168.152.13", - "disk": 84 + "disk": 83 }, { "id": "s95", @@ -628,12 +628,6 @@ "label": ":5890", "type": "proxy" }, - { - "from": "nginx_weval_consulting", - "to": "port_9090", - "label": ":9090", - "type": "proxy" - }, { "from": "nginx_weval_consulting", "to": "port_3001", @@ -966,20 +960,11 @@ ], "soa_services": [ { - "name": "loki", + "name": "authentik-worker", "type": "docker", "server": "S204", - "status": "up", - "group": "monitoring", - "protocol": "HTTP", - "discovery": "auto" - }, - { - "name": "chatwoot-redis", - "type": "docker", - "server": "S204", - "status": "up", - "group": "data", + "status": "healthy", + "group": "auth", "protocol": "HTTP", "discovery": "auto" }, @@ -993,10 +978,10 @@ "discovery": "auto" }, { - "name": "authentik-worker", + "name": "authentik-redis", "type": "docker", "server": "S204", - "status": "healthy", + "status": "up", "group": "auth", "protocol": "HTTP", "discovery": "auto" @@ -1011,11 +996,20 @@ "discovery": "auto" }, { - "name": "authentik-redis", + "name": "loki", "type": "docker", "server": "S204", "status": "up", - "group": "auth", + "group": "monitoring", + "protocol": "HTTP", + "discovery": "auto" + }, + { + "name": "chatwoot-redis", + "type": "docker", + "server": "S204", + "status": "up", + "group": "data", "protocol": "HTTP", "discovery": "auto" }, @@ -1269,7 +1263,7 @@ }, "stats": { "nodes": 52, - "edges": 38, - "scan_ms": 182 + "edges": 37, + "scan_ms": 144 } } \ No newline at end of file diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index ab7d19c71..c598eb23e 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,10 +1,10 @@ { - "ts": "2026-04-07T23:29:37+00:00", + "ts": "2026-04-07T23:39:54+00:00", "hostname": "LAPTOP-VE75QUHF", "cpu": "100%", - "ram": "84% (16GB)", + "ram": "80% (16GB)", "disk": "?", - "uptime": "0d22h37m", + "uptime": "0d22h47m", "user": "Yace", "ip": "41.248.190.86", "agent_version": "2.0" diff --git a/api/l99-autofix-log.json b/api/l99-autofix-log.json index 6228163c5..ed391465d 100644 --- a/api/l99-autofix-log.json +++ b/api/l99-autofix-log.json @@ -1,5 +1,5 @@ { - "ts": "2026-04-08T01:17:02", + "ts": "2026-04-08T01:32:01", "fixes": [], "total_fixes": 0, "total_issues": 0 diff --git a/api/l99-functional-result.json b/api/l99-functional-result.json index 5cd9d458f..e5f93279a 100644 --- a/api/l99-functional-result.json +++ b/api/l99-functional-result.json @@ -1,299 +1,299 @@ { - "ts": "2026-04-08T01:00:05.983691", + "ts": "2026-04-08T01:30:05.745534", "tests": [ { "name": "auth-login", "status": "PASS", "detail": "API ok=True cookie=True check=404 Not Found\nnginx/", "machine": "S204", - "ts": "2026-04-08T01:00:12.065089" + "ts": "2026-04-08T01:30:11.555014" }, { "name": "l99-saas-load", "status": "PASS", - "detail": "body=943ch", + "detail": "body=942ch", "machine": "S204", - "ts": "2026-04-08T01:00:15.412389" + "ts": "2026-04-08T01:30:14.345641" }, { "name": "l99-tab-command", "status": "PASS", - "detail": "Command Center 943ch", + "detail": "Command Center 942ch", "machine": "S204", - "ts": "2026-04-08T01:00:16.799086" + "ts": "2026-04-08T01:30:15.523973" }, { "name": "l99-tab-coverage", "status": "PASS", - "detail": "Test Coverage 648ch", + "detail": "Test Coverage 645ch", "machine": "S204", - "ts": "2026-04-08T01:00:18.057392" + "ts": "2026-04-08T01:30:16.697511" }, { "name": "l99-tab-servers", "status": "PASS", "detail": "Server Health 626ch", "machine": "S204", - "ts": "2026-04-08T01:00:19.211619" + "ts": "2026-04-08T01:30:17.817234" }, { "name": "l99-tab-history", "status": "PASS", "detail": "Run History 524ch", "machine": "S204", - "ts": "2026-04-08T01:00:20.393994" + "ts": "2026-04-08T01:30:18.975037" }, { "name": "admin-saas-load", "status": "PASS", "detail": "body=1414ch", "machine": "S204", - "ts": "2026-04-08T01:00:22.567608" + "ts": "2026-04-08T01:30:21.265359" }, { "name": "admin-tab-overview", "status": "PASS", "detail": "Overview 1414ch", "machine": "S204", - "ts": "2026-04-08T01:00:23.710028" + "ts": "2026-04-08T01:30:22.525217" }, { "name": "admin-tab-agents", "status": "PASS", "detail": "Agents 657ch", "machine": "S204", - "ts": "2026-04-08T01:00:24.929611" + "ts": "2026-04-08T01:30:23.643427" }, { "name": "admin-tab-pipelines", "status": "PASS", "detail": "Pipelines 959ch", "machine": "S204", - "ts": "2026-04-08T01:00:26.119018" + "ts": "2026-04-08T01:30:24.806057" }, { "name": "admin-tab-infrastructure", "status": "PASS", "detail": "Infrastructure 788ch", "machine": "S204", - "ts": "2026-04-08T01:00:27.304764" + "ts": "2026-04-08T01:30:25.936383" }, { "name": "admin-tab-alerts", "status": "PASS", "detail": "Alerts 491ch", "machine": "S204", - "ts": "2026-04-08T01:00:28.459435" + "ts": "2026-04-08T01:30:27.090892" }, { "name": "page-enterprise-model", "status": "PASS", - "detail": "195ch canvas=yes", + "detail": "302ch canvas=yes", "machine": "S204", - "ts": "2026-04-08T01:00:34.681749" + "ts": "2026-04-08T01:30:34.002030" }, { "name": "page-l99-classic", "status": "PASS", "detail": "2361ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:00:37.098916" + "ts": "2026-04-08T01:30:36.435610" }, { "name": "page-realtime-monitor", "status": "PASS", - "detail": "3573ch canvas=no", + "detail": "3576ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:00:39.264604" + "ts": "2026-04-08T01:30:38.643288" }, { "name": "page-cyber-monitor", "status": "PASS", "detail": "115ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:00:41.370119" + "ts": "2026-04-08T01:30:40.806352" }, { "name": "page-cron-control", "status": "WARN", "detail": "SSO redirect (auth needed)", "machine": "S204", - "ts": "2026-04-08T01:00:44.436291" + "ts": "2026-04-08T01:30:44.025634" }, { "name": "page-sovereign-claude", "status": "PASS", "detail": "339ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:00:46.631439" + "ts": "2026-04-08T01:30:46.210867" }, { "name": "page-nonreg", "status": "WARN", "detail": "SSO redirect (auth needed)", "machine": "S204", - "ts": "2026-04-08T01:00:49.432211" + "ts": "2026-04-08T01:30:49.132038" }, { "name": "page-ops-center", "status": "WARN", "detail": "SSO redirect (auth needed)", "machine": "S204", - "ts": "2026-04-08T01:00:52.318120" + "ts": "2026-04-08T01:30:51.954909" }, { "name": "page-crm", "status": "PASS", "detail": "715ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:00:54.610706" + "ts": "2026-04-08T01:30:54.171107" }, { "name": "page-tools-hub", "status": "WARN", "detail": "SSO redirect (auth needed)", "machine": "S204", - "ts": "2026-04-08T01:00:57.918062" + "ts": "2026-04-08T01:30:57.091475" }, { "name": "page-oss-discovery", "status": "PASS", "detail": "1181ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:01:00.161878" + "ts": "2026-04-08T01:30:59.388876" }, { "name": "page-monitoring", "status": "PASS", "detail": "125ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:01:02.336520" + "ts": "2026-04-08T01:31:01.571968" }, { "name": "page-wevia", "status": "PASS", "detail": "324ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:01:05.147979" + "ts": "2026-04-08T01:31:04.652087" }, { "name": "page-deerflow", "status": "PASS", "detail": "1348ch canvas=no", "machine": "S204", - "ts": "2026-04-08T01:01:07.494217" + "ts": "2026-04-08T01:31:07.156978" }, { "name": "page-blade-ai", "status": "FAIL", "detail": "Page.evaluate: Execution context was destroyed, most likely ", "machine": "S204", - "ts": "2026-04-08T01:01:09.839283" + "ts": "2026-04-08T01:31:09.441399" }, { "name": "api-health", "status": "PASS", - "detail": "JSON 883ch", + "detail": "JSON 687ch", "machine": "S204", - "ts": "2026-04-08T01:01:16.274042" + "ts": "2026-04-08T01:31:14.476421" }, { "name": "api-nonreg", "status": "PASS", "detail": "JSON 827ch", "machine": "S204", - "ts": "2026-04-08T01:01:17.372318" + "ts": "2026-04-08T01:31:15.592649" }, { "name": "api-failures", "status": "WARN", "detail": "TEXT 2130ch", "machine": "S204", - "ts": "2026-04-08T01:01:18.447131" + "ts": "2026-04-08T01:31:16.668597" }, { "name": "api-visual", "status": "PASS", "detail": "JSON 8882ch", "machine": "S204", - "ts": "2026-04-08T01:01:19.507517" + "ts": "2026-04-08T01:31:17.729700" }, { "name": "api-manifest", "status": "PASS", "detail": "JSON 66ch", "machine": "S204", - "ts": "2026-04-08T01:01:20.575338" + "ts": "2026-04-08T01:31:18.798586" }, { "name": "api-crm", "status": "PASS", "detail": "JSON 25ch", "machine": "S204", - "ts": "2026-04-08T01:01:21.681702" + "ts": "2026-04-08T01:31:19.898294" }, { "name": "api-aegis", "status": "PASS", "detail": "JSON 424ch", "machine": "S204", - "ts": "2026-04-08T01:01:22.783253" + "ts": "2026-04-08T01:31:20.975883" }, { "name": "api-blade", "status": "PASS", "detail": "JSON 19ch", "machine": "S204", - "ts": "2026-04-08T01:01:23.855861" + "ts": "2026-04-08T01:31:22.053668" }, { "name": "api-autofix", "status": "PASS", - "detail": "JSON 946ch", + "detail": "JSON 945ch", "machine": "S204", - "ts": "2026-04-08T01:01:24.928002" + "ts": "2026-04-08T01:31:23.121584" }, { "name": "s95-sentinel", "status": "PASS", "detail": "HTTP 200", "machine": "S95", - "ts": "2026-04-08T01:01:25.141652" + "ts": "2026-04-08T01:31:23.349065" }, { "name": "s151-tracking", "status": "PASS", "detail": "489ch", "machine": "S151", - "ts": "2026-04-08T01:01:25.667052" + "ts": "2026-04-08T01:31:23.803728" }, { "name": "wevads-home", "status": "WARN", "detail": "0ch", "machine": "S95", - "ts": "2026-04-08T01:01:26.720130" + "ts": "2026-04-08T01:31:24.582847" }, { "name": "db-paperclip", "status": "PASS", "detail": "738 rows", "machine": "S204", - "ts": "2026-04-08T01:01:26.906357" + "ts": "2026-04-08T01:31:24.665612" }, { "name": "db-ethica", "status": "PASS", "detail": "126123 rows", "machine": "S95", - "ts": "2026-04-08T01:01:27.024970" + "ts": "2026-04-08T01:31:24.796015" }, { "name": "db-authentik", "status": "PASS", "detail": "5 rows", "machine": "S204", - "ts": "2026-04-08T01:01:27.206682" + "ts": "2026-04-08T01:31:24.920029" } ], "wiki_updates": 0, @@ -302,7 +302,7 @@ "pass": 35, "fail": 1, "warn": 6, - "js_errors": 49, + "js_errors": 48, "wiki_updates": 0, "score": 83.3 }, @@ -311,7 +311,7 @@ "pass": 35, "fail": 1, "warn": 6, - "js_errors": 49, + "js_errors": 48, "wiki_updates": 0, "score": 83.3 } diff --git a/api/mirofish-ceo-cache.json b/api/mirofish-ceo-cache.json index 8077f9c45..5eb7e320e 100644 --- a/api/mirofish-ceo-cache.json +++ b/api/mirofish-ceo-cache.json @@ -13,5 +13,5 @@ "Run simulation", "CEO insights" ], - "timestamp": "2026-04-07 23:30:02" + "timestamp": "2026-04-07 23:40:02" } \ No newline at end of file diff --git a/api/nonreg-latest.json b/api/nonreg-latest.json index f487d8806..343176ea5 100644 --- a/api/nonreg-latest.json +++ b/api/nonreg-latest.json @@ -1 +1 @@ -{"ts": "20260408_012012", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 43.5, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 9, "fail": 1}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "Caps10", "c": "01AVR", "s": "FAIL", "d": "9/10"}]} \ No newline at end of file +{"ts": "20260408_013013", "version": "3.2", "score": 99, "pass": 152, "fail": 1, "total": 153, "elapsed": 41.7, "categories": {"S204": {"pass": 9, "fail": 0}, "S95-WV": {"pass": 12, "fail": 0}, "S95-ARS": {"pass": 17, "fail": 0}, "S95-iR": {"pass": 1, "fail": 0}, "INFRA": {"pass": 5, "fail": 0}, "API": {"pass": 27, "fail": 0}, "SEC": {"pass": 4, "fail": 0}, "S95-BK": {"pass": 6, "fail": 0}, "C2-API": {"pass": 4, "fail": 0}, "C2-SPA": {"pass": 1, "fail": 0}, "C2-WV": {"pass": 3, "fail": 0}, "SSO": {"pass": 25, "fail": 0}, "DATA": {"pass": 5, "fail": 0}, "CRONS": {"pass": 2, "fail": 0}, "BLADE": {"pass": 7, "fail": 0}, "LIFE": {"pass": 3, "fail": 0}, "FUNC": {"pass": 7, "fail": 0}, "01AVR": {"pass": 9, "fail": 1}, "STRUCT": {"pass": 5, "fail": 0}}, "failures": [{"n": "Caps10", "c": "01AVR", "s": "FAIL", "d": "9/10"}]} \ No newline at end of file diff --git a/api/nonreg-report.html b/api/nonreg-report.html index 4b079e096..e0e54a9a9 100644 --- a/api/nonreg-report.html +++ b/api/nonreg-report.html @@ -1 +1 @@ -
152/153 PASS | 1 FAIL | 43.5s | 10 couches | 4 machines
| Test | Couche | St | Detail |
|---|---|---|---|
| Home | S204 | PASS | 200 24KB |
| WEVIA | S204 | PASS | 200 148KB |
| Manager | S204 | PASS | 302 1KB |
| Radar | S204 | PASS | 200 60KB |
| ToolsHub | S204 | PASS | 302 1KB |
| Monitor | S204 | PASS | 200 7KB |
| Huawei | S204 | PASS | 200 43KB |
| DeerFlow | S204 | PASS | 200 24KB |
| CRM-Hub | S204 | PASS | 200 17KB |
| WV-Dash | S95-WV | PASS | 302 0KB |
| WV-Apps | S95-WV | PASS | 302 0KB |
| WV-IA | S95-WV | PASS | 302 0KB |
| WV-Proc | S95-WV | PASS | 302 0KB |
| WV-Widget | S95-WV | PASS | 302 0KB |
| WV-Sent | S95-WV | PASS | 302 0KB |
| WV-Ctrl | S95-WV | PASS | 302 0KB |
| WV-Brain | S95-WV | PASS | 302 0KB |
| WV-O365 | S95-WV | PASS | 302 0KB |
| WV-Deliv | S95-WV | PASS | 302 0KB |
| WV-Warm | S95-WV | PASS | 302 0KB |
| WV-Send | S95-WV | PASS | 302 0KB |
| A-ghost-ne | S95-ARS | PASS | 302 1KB |
| A-brain-se | S95-ARS | PASS | 302 1KB |
| A-campaign | S95-ARS | PASS | 302 1KB |
| A-growth-e | S95-ARS | PASS | 302 1KB |
| A-deal-pip | S95-ARS | PASS | 302 1KB |
| A-cloud-pr | S95-ARS | PASS | 302 1KB |
| A-cloudfla | S95-ARS | PASS | 302 1KB |
| A-dashboar | S95-ARS | PASS | 302 1KB |
| A-send-pip | S95-ARS | PASS | 302 1KB |
| A-harvest- | S95-ARS | PASS | 302 1KB |
| A-command- | S95-ARS | PASS | 302 1KB |
| A-domain-m | S95-ARS | PASS | 302 1KB |
| A-ceo-dash | S95-ARS | PASS | 302 1KB |
| A-reputati | S95-ARS | PASS | 302 1KB |
| A-newslett | S95-ARS | PASS | 302 1KB |
| A-tracking | S95-ARS | PASS | 302 1KB |
| A-self-hea | S95-ARS | PASS | 302 1KB |
| iResp-Root | S95-iR | PASS | 302 |
| Ethica | INFRA | PASS | 302 0KB |
| Consent | INFRA | PASS | 200 9KB |
| Twenty | INFRA | PASS | 302 0KB |
| n8n | INFRA | PASS | 302 0KB |
| MM | INFRA | PASS | 302 0KB |
| WEVIA | API | PASS | JSON 759B |
| Manifest | API | PASS | JSON 2906B |
| Health | API | PASS | JSON 400B |
| AEGIS | API | PASS | JSON 424B |
| AE-Sc | API | PASS | JSON 98B |
| AE-Pol | API | PASS | JSON 244B |
| SS | API | PASS | JSON 269B |
| SS-S | API | PASS | JSON 313B |
| SS-R | API | PASS | JSON 137B |
| AIOS | API | PASS | JSON 255B |
| AI-Ag | API | PASS | JSON 348B |
| AI-K | API | PASS | JSON 281B |
| OClaw | API | PASS | JSON 391B |
| Prom | API | PASS | JSON 121B |
| SMem | API | PASS | JSON 196B |
| Mstr | API | PASS | JSON 211B |
| Dify | API | PASS | JSON 479B |
| Evo | API | PASS | JSON 143B |
| APcs | API | PASS | JSON 125B |
| Goose | API | PASS | JSON 177B |
| BrUse | API | PASS | JSON 24B |
| EthP | API | PASS | JSON 78B |
| Rtr | API | PASS | JSON 189B |
| NR-JSON | API | PASS | JSON 2807B |
| CRM | API | PASS | JSON 25B |
| LvMet | API | PASS | JSON 93B |
| MonDsh | API | PASS | JSON 1528B |
| IP-WV | SEC | PASS | Clean |
| IP-WA | SEC | PASS | Clean |
| IP-CRM | SEC | PASS | Clean |
| Nuclei | SEC | PASS | 0 finds |
| KumoMTA | S95-BK | PASS | active |
| PMTA | S95-BK | PASS | 3 procs (senders standby) |
| EthDB | S95-BK | PASS | 126123 ct |
| SendDB | S95-BK | PASS | 3094652 ct |
| S95-Dsk | S95-BK | PASS | 81% |
| Docker | S95-BK | PASS | active |
| C2-API | PASS | JSON 352B | |
| WA-Hook | C2-API | PASS | 403 |
| SpamScore | C2-API | PASS | 200 |
| WEVADS-IA | C2-SPA | PASS | 302 0KB |
| Blacklist | C2-WV | PASS | 302 0KB |
| WorldDash | C2-WV | PASS | 302 0KB |
| Seeds | C2-WV | PASS | 302 0KB |
| NR-API | C2-API | PASS | JSON 2807B |
| SSO-blade-cent | SSO | PASS | 200 |
| SSO-blade-ai.h | SSO | PASS | 200 |
| SSO-claude-mon | SSO | PASS | 302 |
| SSO-crons-moni | SSO | PASS | 200 |
| SSO-monitoring | SSO | PASS | 200 |
| SSO-openclaw.h | SSO | PASS | 200 |
| SSO-crm.html | SSO | PASS | 200 |
| SSO-world-map- | SSO | PASS | 302 |
| B2B-Leads | DATA | PASS | 1398 leads |
| DATA | PASS | 1542 profiles | |
| Ethica-DZ | DATA | PASS | 87288 HCPs |
| Ethica-MA | DATA | PASS | 19450 HCPs |
| Ethica-TN | DATA | PASS | 17506 HCPs |
| Ethica-Crons | CRONS | PASS | 17 cron entries (crontab-based) |
| Ethica-Scripts | CRONS | PASS | 15 scripts |
| Blade-API | BLADE | PASS | JSON 325B |
| Blade-Brain | BLADE | PASS | 18B |
| Blade-AI | BLADE | PASS | 200 |
| Blade-Ctr | BLADE | PASS | 200 |
| Sentinel-PS1 | BLADE | PASS | 200 16KB |
| Life-API | LIFE | PASS | 50B |
| Life-App | LIFE | PASS | 302 1KB |
| Life-HTML | LIFE | PASS | 200 24KB |
| Blade-TG | BLADE | PASS | 11B |
| Blade-MM | BLADE | PASS | 108B |
| WEVIA-Chat | FUNC | PASS | Gemini 2.5 Flash 732ch |
| Life-Chat | FUNC | PASS | 1385ch |
| Ethica-Chat | FUNC | PASS | 219ch |
| Monitor-UP | FUNC | PASS | 10 services UP |
| Ollama-Live | FUNC | PASS | 10 models |
| Arsenal-HP | FUNC | PASS | 1377 screens |
| Ethica-HCPs | FUNC | PASS | 126123 HCPs |
| SSO-Blade | SSO | PASS | 200 |
| SSO-Monitor | SSO | PASS | 200 |
| SSO-CC | SSO | PASS | 302 |
| SSO-NR | SSO | PASS | 302 |
| SSO-MT | SSO | PASS | 302 |
| SSO-Ops | SSO | PASS | 302 |
| SSO-Tools | SSO | PASS | 302 |
| SSO-Apps | SSO | PASS | 302 |
| SSO-OClaw | SSO | PASS | 200 |
| SSO-CRM | SSO | PASS | 200 |
| SSO-Wksp | SSO | PASS | 302 |
| SSO-Life | SSO | PASS | 302 |
| SSO-Mega | SSO | PASS | 302 |
| Sub-CRM | SSO | PASS | 302 |
| Sub-n8n | SSO | PASS | 302 |
| Sub-MM | SSO | PASS | 302 |
| Sub-Deer | SSO | PASS | 302 |
| DF-Title | 01AVR | PASS | TWENTY! |
| CyberMon | 01AVR | PASS | 200 |
| Plausible | 01AVR | PASS | present |
| Plaus-Blog | 01AVR | PASS | present |
| Caps10 | 01AVR | FAIL | 9/10 |
| OSS-Disc | 01AVR | PASS | 200 9117B |
| EthFeed | 01AVR | PASS | 126123 HCPs 30 feed |
| BladeAPI | 01AVR | PASS | 200 325B |
| CC-SSO | 01AVR | PASS | 302 |
| HealthCk | 01AVR | PASS | exists |
| Bench-LB-Dict | STRUCT | PASS | type=list len=201 |
| Bench-LB-Scores | STRUCT | PASS | val_type=dict |
| Bench-Eco | STRUCT | PASS | score=80 |
| Bench-AIs | STRUCT | PASS | count=201 |
| CronStatus | STRUCT | PASS | 10 active 5 disabled |
152/153 PASS | 1 FAIL | 41.7s | 10 couches | 4 machines
| Test | Couche | St | Detail |
|---|---|---|---|
| Home | S204 | PASS | 200 24KB |
| WEVIA | S204 | PASS | 200 148KB |
| Manager | S204 | PASS | 302 1KB |
| Radar | S204 | PASS | 200 60KB |
| ToolsHub | S204 | PASS | 302 1KB |
| Monitor | S204 | PASS | 200 7KB |
| Huawei | S204 | PASS | 200 43KB |
| DeerFlow | S204 | PASS | 200 24KB |
| CRM-Hub | S204 | PASS | 200 17KB |
| WV-Dash | S95-WV | PASS | 302 0KB |
| WV-Apps | S95-WV | PASS | 302 0KB |
| WV-IA | S95-WV | PASS | 302 0KB |
| WV-Proc | S95-WV | PASS | 302 0KB |
| WV-Widget | S95-WV | PASS | 302 0KB |
| WV-Sent | S95-WV | PASS | 302 0KB |
| WV-Ctrl | S95-WV | PASS | 302 0KB |
| WV-Brain | S95-WV | PASS | 302 0KB |
| WV-O365 | S95-WV | PASS | 302 0KB |
| WV-Deliv | S95-WV | PASS | 302 0KB |
| WV-Warm | S95-WV | PASS | 302 0KB |
| WV-Send | S95-WV | PASS | 302 0KB |
| A-ghost-ne | S95-ARS | PASS | 302 1KB |
| A-brain-se | S95-ARS | PASS | 302 1KB |
| A-campaign | S95-ARS | PASS | 302 1KB |
| A-growth-e | S95-ARS | PASS | 302 1KB |
| A-deal-pip | S95-ARS | PASS | 302 1KB |
| A-cloud-pr | S95-ARS | PASS | 302 1KB |
| A-cloudfla | S95-ARS | PASS | 302 1KB |
| A-dashboar | S95-ARS | PASS | 302 1KB |
| A-send-pip | S95-ARS | PASS | 302 1KB |
| A-harvest- | S95-ARS | PASS | 302 1KB |
| A-command- | S95-ARS | PASS | 302 1KB |
| A-domain-m | S95-ARS | PASS | 302 1KB |
| A-ceo-dash | S95-ARS | PASS | 302 1KB |
| A-reputati | S95-ARS | PASS | 302 1KB |
| A-newslett | S95-ARS | PASS | 302 1KB |
| A-tracking | S95-ARS | PASS | 302 1KB |
| A-self-hea | S95-ARS | PASS | 302 1KB |
| iResp-Root | S95-iR | PASS | 302 |
| Ethica | INFRA | PASS | 302 0KB |
| Consent | INFRA | PASS | 200 9KB |
| Twenty | INFRA | PASS | 302 0KB |
| n8n | INFRA | PASS | 302 0KB |
| MM | INFRA | PASS | 302 0KB |
| WEVIA | API | PASS | JSON 786B |
| Manifest | API | PASS | JSON 2906B |
| Health | API | PASS | JSON 400B |
| AEGIS | API | PASS | JSON 424B |
| AE-Sc | API | PASS | JSON 98B |
| AE-Pol | API | PASS | JSON 244B |
| SS | API | PASS | JSON 269B |
| SS-S | API | PASS | JSON 313B |
| SS-R | API | PASS | JSON 137B |
| AIOS | API | PASS | JSON 255B |
| AI-Ag | API | PASS | JSON 348B |
| AI-K | API | PASS | JSON 281B |
| OClaw | API | PASS | JSON 391B |
| Prom | API | PASS | JSON 120B |
| SMem | API | PASS | JSON 196B |
| Mstr | API | PASS | JSON 211B |
| Dify | API | PASS | JSON 479B |
| Evo | API | PASS | JSON 143B |
| APcs | API | PASS | JSON 125B |
| Goose | API | PASS | JSON 177B |
| BrUse | API | PASS | JSON 24B |
| EthP | API | PASS | JSON 78B |
| Rtr | API | PASS | JSON 189B |
| NR-JSON | API | PASS | JSON 827B |
| CRM | API | PASS | JSON 25B |
| LvMet | API | PASS | JSON 93B |
| MonDsh | API | PASS | JSON 1528B |
| IP-WV | SEC | PASS | Clean |
| IP-WA | SEC | PASS | Clean |
| IP-CRM | SEC | PASS | Clean |
| Nuclei | SEC | PASS | 0 finds |
| KumoMTA | S95-BK | PASS | active |
| PMTA | S95-BK | PASS | 3 procs (senders standby) |
| EthDB | S95-BK | PASS | 126123 ct |
| SendDB | S95-BK | PASS | 3094652 ct |
| S95-Dsk | S95-BK | PASS | 81% |
| Docker | S95-BK | PASS | active |
| C2-API | PASS | JSON 352B | |
| WA-Hook | C2-API | PASS | 403 |
| SpamScore | C2-API | PASS | 200 |
| WEVADS-IA | C2-SPA | PASS | 302 0KB |
| Blacklist | C2-WV | PASS | 302 0KB |
| WorldDash | C2-WV | PASS | 302 0KB |
| Seeds | C2-WV | PASS | 302 0KB |
| NR-API | C2-API | PASS | JSON 827B |
| SSO-blade-cent | SSO | PASS | 200 |
| SSO-blade-ai.h | SSO | PASS | 200 |
| SSO-claude-mon | SSO | PASS | 302 |
| SSO-crons-moni | SSO | PASS | 200 |
| SSO-monitoring | SSO | PASS | 200 |
| SSO-openclaw.h | SSO | PASS | 200 |
| SSO-crm.html | SSO | PASS | 200 |
| SSO-world-map- | SSO | PASS | 302 |
| B2B-Leads | DATA | PASS | 1398 leads |
| DATA | PASS | 1542 profiles | |
| Ethica-DZ | DATA | PASS | 87288 HCPs |
| Ethica-MA | DATA | PASS | 19450 HCPs |
| Ethica-TN | DATA | PASS | 17506 HCPs |
| Ethica-Crons | CRONS | PASS | 17 cron entries (crontab-based) |
| Ethica-Scripts | CRONS | PASS | 15 scripts |
| Blade-API | BLADE | PASS | JSON 325B |
| Blade-Brain | BLADE | PASS | 18B |
| Blade-AI | BLADE | PASS | 200 |
| Blade-Ctr | BLADE | PASS | 200 |
| Sentinel-PS1 | BLADE | PASS | 200 16KB |
| Life-API | LIFE | PASS | 50B |
| Life-App | LIFE | PASS | 302 1KB |
| Life-HTML | LIFE | PASS | 200 24KB |
| Blade-TG | BLADE | PASS | 11B |
| Blade-MM | BLADE | PASS | 108B |
| WEVIA-Chat | FUNC | PASS | Gemini 2.5 Flash 521ch |
| Life-Chat | FUNC | PASS | 1858ch |
| Ethica-Chat | FUNC | PASS | 464ch |
| Monitor-UP | FUNC | PASS | 10 services UP |
| Ollama-Live | FUNC | PASS | 10 models |
| Arsenal-HP | FUNC | PASS | 1377 screens |
| Ethica-HCPs | FUNC | PASS | 126123 HCPs |
| SSO-Blade | SSO | PASS | 200 |
| SSO-Monitor | SSO | PASS | 200 |
| SSO-CC | SSO | PASS | 302 |
| SSO-NR | SSO | PASS | 302 |
| SSO-MT | SSO | PASS | 302 |
| SSO-Ops | SSO | PASS | 302 |
| SSO-Tools | SSO | PASS | 302 |
| SSO-Apps | SSO | PASS | 302 |
| SSO-OClaw | SSO | PASS | 200 |
| SSO-CRM | SSO | PASS | 200 |
| SSO-Wksp | SSO | PASS | 302 |
| SSO-Life | SSO | PASS | 302 |
| SSO-Mega | SSO | PASS | 302 |
| Sub-CRM | SSO | PASS | 302 |
| Sub-n8n | SSO | PASS | 302 |
| Sub-MM | SSO | PASS | 302 |
| Sub-Deer | SSO | PASS | 302 |
| DF-Title | 01AVR | PASS | TWENTY! |
| CyberMon | 01AVR | PASS | 200 |
| Plausible | 01AVR | PASS | present |
| Plaus-Blog | 01AVR | PASS | present |
| Caps10 | 01AVR | FAIL | 9/10 |
| OSS-Disc | 01AVR | PASS | 200 9117B |
| EthFeed | 01AVR | PASS | 126123 HCPs 30 feed |
| BladeAPI | 01AVR | PASS | 200 325B |
| CC-SSO | 01AVR | PASS | 302 |
| HealthCk | 01AVR | PASS | exists |
| Bench-LB-Dict | STRUCT | PASS | type=list len=201 |
| Bench-LB-Scores | STRUCT | PASS | val_type=dict |
| Bench-Eco | STRUCT | PASS | score=80 |
| Bench-AIs | STRUCT | PASS | count=201 |
| CronStatus | STRUCT | PASS | 10 active 5 disabled |