From ee3f4d9bca8af3f911d86243fecc06cf361f7ef9 Mon Sep 17 00:00:00 2001 From: opus Date: Tue, 21 Apr 2026 09:05:02 +0200 Subject: [PATCH] AUTO-BACKUP 20260421-0905 --- api/agent-leads-sync.json | 2 +- api/architecture-scan.json | 1956 +++++++++++++++++ api/blade-actions-surfaced.json | 8 +- .../task_20260421070013_e0360f.json | 14 + api/crm-observation-latest.json | 14 +- .../crm-pipeline-20260421-090004.png | Bin 0 -> 24481 bytes api/oss-trending.json | 144 +- api/ux-agent-report.json | 4 +- api/v83-business-kpi-latest.json | 2 +- 9 files changed, 2057 insertions(+), 87 deletions(-) create mode 100644 api/blade-tasks/task_20260421070013_e0360f.json create mode 100644 api/crm-observation-screenshots/crm-pipeline-20260421-090004.png diff --git a/api/agent-leads-sync.json b/api/agent-leads-sync.json index d0c2dd892..f9fb60ac8 100644 --- a/api/agent-leads-sync.json +++ b/api/agent-leads-sync.json @@ -1,6 +1,6 @@ { "agent": "V45_Leads_Sync", - "ts": "2026-04-21T08:50:02+02:00", + "ts": "2026-04-21T09:00:03+02:00", "paperclip_total": 48, "active_customer": 4, "warm_prospect": 5, diff --git a/api/architecture-scan.json b/api/architecture-scan.json index e69de29bb..548210eff 100644 --- a/api/architecture-scan.json +++ b/api/architecture-scan.json @@ -0,0 +1,1956 @@ +{ + "generated": "2026-04-21 07:00:01", + "version": "1.0", + "servers": [ + { + "id": "S204", + "ip": "204.168.152.13", + "private": "10.1.0.2", + "role": "PRIMARY", + "ssh": 49222, + "disk_pct": 81, + "disk_avail": "29G", + "uptime": "up 6 days, 21 hours, 8 minutes", + "nginx": "active", + "php_fpm": "active", + "php_version": "8.5.5" + }, + { + "id": "S95", + "ip": "95.216.167.89", + "private": "10.1.0.3", + "role": "WEVADS Arsenal", + "ssh": 22, + "disk_pct": 81, + "disk_avail": "29G", + "sentinel": 1 + }, + { + "id": "S151", + "ip": "151.80.235.110", + "private": null, + "role": "DR\/Tracking OVH", + "ssh": 22 + } + ], + "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 5 days", + "ports": "" + }, + { + "name": "mattermost-docker-mm-db-1", + "status": "Up 5 days", + "ports": "" + }, + { + "name": "mattermost-docker-mattermost-1", + "status": "Up 5 days (healthy)", + "ports": "" + }, + { + "name": "twenty", + "status": "Up 4 days", + "ports": "" + }, + { + "name": "twenty-redis", + "status": "Up 5 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 31 hours (healthy)", + "ports": "" + }, + { + "name": "vaultwarden", + "status": "Up 6 days (healthy)", + "ports": "" + }, + { + "name": "qdrant", + "status": "Up 6 days", + "ports": "" + } + ], + "domains": [ + { + "file": "analytics.weval-consulting.com", + "server_names": [ + "analytics.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "arsenal.weval-consulting.com", + "server_names": [ + "arsenal.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "code-weval", + "server_names": [ + "code.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "crm.weval-consulting.com", + "server_names": [ + "crm.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "ethica", + "server_names": [ + "ethica.wevup.app", + "consent.wevup.app" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "git.weval-consulting.com", + "server_names": [ + "git.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "langfuse.weval-consulting.com", + "server_names": [ + "langfuse.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "mirofish.weval-consulting.com", + "server_names": [ + "mirofish.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "mm.weval-consulting.com", + "server_names": [ + "mm.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "monitor.weval-consulting.com", + "server_names": [ + "monitor.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "n8n.weval-consulting.com", + "server_names": [ + "n8n.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "paperclip.weval-consulting.com", + "server_names": [ + "paperclip.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "wevads.weval-consulting.com", + "server_names": [ + "wevads.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + }, + { + "file": "weval-consulting", + "server_names": [ + "weval-consulting.com", + "www.weval-consulting.com" + ], + "ssl": true, + "php-session": false, + "php-session_paths": false, + "auth_complete": false + } + ], + "screens": { + "s204_html": 293, + "s204_products": 104, + "s204_api_php": 774, + "s204_wevia_php": 23, + "s95_arsenal_html": 1377, + "s95_arsenal_api": 377 + }, + "auth": { + "system": "PHP Session Auth", + "authentik": "REMOVED", + "pass": 24, + "fail": 0 + }, + "databases": { + "s204": [ + "postgres", + "adx_system", + "wevia_db", + "twenty_db", + "mattermost_db", + "deerflow", + "nocodb", + "paperclip", + "langfuse" + ], + "key_tables": { + "kb_learnings": 5531, + "kb_documents": 0, + "ethica_medecins": 50004, + "enterprise_agents": 0 + } + }, + "ollama": [ + { + "name": "weval-brain-v4:latest", + "family": "qwen3", + "params": "4.0B", + "quant": "Q4_K_M", + "size_gb": 2.5 + }, + { + "name": "llama3.2:latest", + "family": "llama", + "params": "3.2B", + "quant": "Q4_K_M", + "size_gb": 2 + }, + { + "name": "nomic-embed-text:latest", + "family": "nomic-bert", + "params": "137M", + "quant": "F16", + "size_gb": 0.3 + }, + { + "name": "weval-brain-v3:latest", + "family": "qwen3", + "params": "4.0B", + "quant": "Q4_K_M", + "size_gb": 2.5 + }, + { + "name": "nomic-embed-text:v1.5", + "family": "nomic-bert", + "params": "137M", + "quant": "F16", + "size_gb": 0.3 + }, + { + "name": "qwen3:4b", + "family": "qwen3", + "params": "4.0B", + "quant": "Q4_K_M", + "size_gb": 2.5 + }, + { + "name": "all-minilm:latest", + "family": "bert", + "params": "23M", + "quant": "F16", + "size_gb": 0 + } + ], + "qdrant": [ + { + "name": "weval_skills", + "vectors": 19089 + }, + { + "name": "wevia_graph", + "vectors": 3 + }, + { + "name": "weval_intents_memory", + "vectors": 50 + }, + { + "name": "obsidian_vault", + "vectors": 46 + }, + { + "name": "kb_bpmn_flows", + "vectors": 7 + }, + { + "name": "kb_ethica_pharma", + "vectors": 16 + }, + { + "name": "kb_consulting_strategy", + "vectors": 6 + }, + { + "name": "wevia_learnings", + "vectors": 1736 + }, + { + "name": "wevia_brain_knowledge", + "vectors": 294 + }, + { + "name": "kb_vsm_best_practices", + "vectors": 7 + }, + { + "name": "kb_bpmn_patterns", + "vectors": 7 + }, + { + "name": "kb_dmaic_playbooks", + "vectors": 7 + }, + { + "name": "kb_wevads_deliv", + "vectors": 6 + }, + { + "name": "wevia_memory_768", + "vectors": 82 + }, + { + "name": "wevia_kb_768", + "vectors": 255 + }, + { + "name": "weval_agents_registry", + "vectors": 50 + }, + { + "name": "wevia_kb", + "vectors": 386 + }, + { + "name": "wevia_memory", + "vectors": 48 + }, + { + "name": "kb_lean6sigma", + "vectors": 10 + } + ], + "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": 35, + "s204_total": 35, + "key_crons": [ + { + "name": "L99 Master", + "freq": "*\/30", + "target": "l99-master.py" + }, + { + "name": "Autonomous Engine", + "freq": "*\/5", + "target": "wevia-master-autonomous" + }, + { + "name": "L99 Pipeline", + "freq": "*\/15", + "target": "l99-pipeline.py" + }, + { + "name": "L99 Alive", + "freq": "*\/10", + "target": "l99-alive.py" + }, + { + "name": "Infra Guardian", + "freq": "*\/5", + "target": "infra-guardian.sh" + }, + { + "name": "Blade Watchdog", + "freq": "*\/5", + "target": "blade-watchdog.php" + }, + { + "name": "RAG Ingest", + "freq": "*\/30", + "target": "wevia-rag-ingest.sh" + }, + { + "name": "Blade Orchestrator", + "freq": "*\/30", + "target": "blade-orchestrator.sh" + }, + { + "name": "WEVIA Dream", + "freq": "*\/30", + "target": "wevia-dream-cron.php" + }, + { + "name": "Port Protection", + "freq": "*\/5", + "target": "port-protection" + }, + { + "name": "Watchdog", + "freq": "*\/3", + "target": "weval-watchdog.php" + }, + { + "name": "Ethica Enrich", + "freq": "daily 01h", + "target": "ethica-enrich-v4.py" + }, + { + "name": "Daily Brief", + "freq": "daily 07h", + "target": "weval-daily-brief.py" + } + ] + }, + "wiki": { + "total_entries": 5531, + "categories": [ + { + "category": "AUTO-FIX", + "cnt": "2972" + }, + { + "category": "TOPOLOGY", + "cnt": "1203" + }, + { + "category": "DISCOVERY", + "cnt": "610" + }, + { + "category": "SYSTEMATIC", + "cnt": "204" + }, + { + "category": "L99-FULLSCAN", + "cnt": "80" + }, + { + "category": "INFRA", + "cnt": "74" + }, + { + "category": "CONTROL-TOWER", + "cnt": "42" + }, + { + "category": "ALERT", + "cnt": "34" + }, + { + "category": "AGENT", + "cnt": "20" + }, + { + "category": "L99-SCAN", + "cnt": "12" + }, + { + "category": "FIX", + "cnt": "10" + }, + { + "category": "FLEET", + "cnt": "8" + }, + { + "category": "MASTER-INTENT", + "cnt": "6" + }, + { + "category": "SESSION-5AVR", + "cnt": "5" + }, + { + "category": "Maroc", + "cnt": "5" + }, + { + "category": "Analyse", + "cnt": "5" + }, + { + "category": "AUTH", + "cnt": "5" + }, + { + "category": "claude_2026", + "cnt": "4" + }, + { + "category": "SERVICES", + "cnt": "4" + }, + { + "category": "WEVAL Consulting", + "cnt": "4" + }, + { + "category": "Intelligence Artificielle", + "cnt": "3" + }, + { + "category": "PARADIGM", + "cnt": "3" + }, + { + "category": "INTEGRATION", + "cnt": "3" + }, + { + "category": "FIX-CRITIQUE", + "cnt": "3" + }, + { + "category": "Voici", + "cnt": "2" + }, + { + "category": "Vous", + "cnt": "2" + }, + { + "category": "Pouvez", + "cnt": "2" + }, + { + "category": "Image", + "cnt": "2" + }, + { + "category": "Contexte", + "cnt": "2" + }, + { + "category": "L99-EXHAUSTIVE", + "cnt": "2" + }, + { + "category": "L99-GAP", + "cnt": "2" + }, + { + "category": "WEVAL Consulting Casablanca", + "cnt": "2" + }, + { + "category": "Test", + "cnt": "2" + }, + { + "category": "Salut", + "cnt": "2" + }, + { + "category": "L99-E2E", + "cnt": "2" + }, + { + "category": "Document", + "cnt": "2" + }, + { + "category": "PROVIDERS", + "cnt": "2" + }, + { + "category": "Bien", + "cnt": "2" + }, + { + "category": "WEVIA", + "cnt": "2" + }, + { + "category": "Diagramme", + "cnt": "2" + }, + { + "category": "Comparaison", + "cnt": "2" + }, + { + "category": "L99-MEGA", + "cnt": "2" + }, + { + "category": "QUALITY", + "cnt": "2" + }, + { + "category": "Cependant", + "cnt": "2" + }, + { + "category": "MONITORING", + "cnt": "2" + }, + { + "category": "L99", + "cnt": "2" + }, + { + "category": "Introduction", + "cnt": "2" + }, + { + "category": "Pour", + "cnt": "2" + }, + { + "category": "Casablanca", + "cnt": "2" + }, + { + "category": "Pourriez", + "cnt": "2" + }, + { + "category": "Vistex BTP Signavio", + "cnt": "1" + }, + { + "category": "Conduite", + "cnt": "1" + }, + { + "category": "DMAIC", + "cnt": "1" + }, + { + "category": "Industrie", + "cnt": "1" + }, + { + "category": "Proposition", + "cnt": "1" + }, + { + "category": "Accueil\nBienvenue", + "cnt": "1" + }, + { + "category": "Logo", + "cnt": "1" + }, + { + "category": "SAP ECC", + "cnt": "1" + }, + { + "category": "Votre", + "cnt": "1" + }, + { + "category": "Probl", + "cnt": "1" + }, + { + "category": "ANTI-REGRESSION", + "cnt": "1" + }, + { + "category": "Explique", + "cnt": "1" + }, + { + "category": "Zero Trust", + "cnt": "1" + }, + { + "category": "Augmented Generation", + "cnt": "1" + }, + { + "category": "RLHF", + "cnt": "1" + }, + { + "category": "Service", + "cnt": "1" + }, + { + "category": "Transformer", + "cnt": "1" + }, + { + "category": "Bonjour Bonjour", + "cnt": "1" + }, + { + "category": "Transformation", + "cnt": "1" + }, + { + "category": "Audit", + "cnt": "1" + }, + { + "category": "WEVAL", + "cnt": "1" + }, + { + "category": "Strat", + "cnt": "1" + }, + { + "category": "Maghreb", + "cnt": "1" + }, + { + "category": "ERP SAP", + "cnt": "1" + }, + { + "category": "Quelle", + "cnt": "1" + }, + { + "category": "Oracle", + "cnt": "1" + }, + { + "category": "Data", + "cnt": "1" + }, + { + "category": "Donn", + "cnt": "1" + }, + { + "category": "Quel", + "cnt": "1" + }, + { + "category": "Syst", + "cnt": "1" + }, + { + "category": "Ahmed", + "cnt": "1" + }, + { + "category": "UiPath", + "cnt": "1" + }, + { + "category": "Niveau PhD", + "cnt": "1" + }, + { + "category": "CLEANUP", + "cnt": "1" + }, + { + "category": "Notre", + "cnt": "1" + }, + { + "category": "TOUTES", + "cnt": "1" + }, + { + "category": "Maroc DDMRP OTIF", + "cnt": "1" + }, + { + "category": "Crit", + "cnt": "1" + }, + { + "category": "SAP Vistex Revenue Management", + "cnt": "1" + }, + { + "category": "Fine", + "cnt": "1" + }, + { + "category": "Compare AWS Azure GCP", + "cnt": "1" + }, + { + "category": "Healthcare", + "cnt": "1" + }, + { + "category": "BLADE", + "cnt": "1" + }, + { + "category": "Plan", + "cnt": "1" + }, + { + "category": "Conseil", + "cnt": "1" + }, + { + "category": "Nous", + "cnt": "1" + }, + { + "category": "Zero Trust SOC SIEM", + "cnt": "1" + }, + { + "category": "Amazon Web Services", + "cnt": "1" + }, + { + "category": "Retiens", + "cnt": "1" + }, + { + "category": "Diff", + "cnt": "1" + }, + { + "category": "QDRANT", + "cnt": "1" + }, + { + "category": "MITRE ATT", + "cnt": "1" + }, + { + "category": "FMCG", + "cnt": "1" + }, + { + "category": "Supply", + "cnt": "1" + }, + { + "category": "Exercice", + "cnt": "1" + }, + { + "category": "Redige", + "cnt": "1" + }, + { + "category": "Supply Chain", + "cnt": "1" + }, + { + "category": "Quels", + "cnt": "1" + }, + { + "category": "Propose", + "cnt": "1" + }, + { + "category": "Plateforme", + "cnt": "1" + }, + { + "category": "Cyber", + "cnt": "1" + }, + { + "category": "Tableau", + "cnt": "1" + }, + { + "category": "Migration SAP", + "cnt": "1" + }, + { + "category": "AUTH-AGENT", + "cnt": "1" + }, + { + "category": "Fais", + "cnt": "1" + }, + { + "category": "Iran", + "cnt": "1" + }, + { + "category": "OLLAMA", + "cnt": "1" + }, + { + "category": "Reessayez", + "cnt": "1" + }, + { + "category": "MORNE WEVAL", + "cnt": "1" + }, + { + "category": "Analyse SWOT", + "cnt": "1" + }, + { + "category": "SAP Vistex", + "cnt": "1" + }, + { + "category": "IoT WMS", + "cnt": "1" + }, + { + "category": "Industry", + "cnt": "1" + }, + { + "category": "What", + "cnt": "1" + }, + { + "category": "Strategie", + "cnt": "1" + }, + { + "category": "Rappelle", + "cnt": "1" + }, + { + "category": "DMAIC Six Sigma", + "cnt": "1" + }, + { + "category": "Avantages", + "cnt": "1" + }, + { + "category": "Explique RLHF", + "cnt": "1" + }, + { + "category": "Huawei Cloud", + "cnt": "1" + }, + { + "category": "PMO SAFe", + "cnt": "1" + }, + { + "category": "Migration SAP ECC", + "cnt": "1" + }, + { + "category": "team_work", + "cnt": "1" + }, + { + "category": "Bonjour Pr", + "cnt": "1" + }, + { + "category": "Maroc DDMRP OTIF WMS TMS", + "cnt": "1" + }, + { + "category": "Architecture", + "cnt": "1" + }, + { + "category": "Framework NIST", + "cnt": "1" + }, + { + "category": "Automatiser", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Genere", + "cnt": "1" + }, + { + "category": "Elle", + "cnt": "1" + }, + { + "category": "Constitutional AI", + "cnt": "1" + }, + { + "category": "Brownfield", + "cnt": "1" + }, + { + "category": "Confirmation", + "cnt": "1" + }, + { + "category": "Architecture IA", + "cnt": "1" + }, + { + "category": "KPIs", + "cnt": "1" + }, + { + "category": "Quelles", + "cnt": "1" + }, + { + "category": "SWOT", + "cnt": "1" + }, + { + "category": "Comparons", + "cnt": "1" + }, + { + "category": "Services", + "cnt": "1" + }, + { + "category": "Maroc TMA", + "cnt": "1" + }, + { + "category": "Contraintes", + "cnt": "1" + }, + { + "category": "Intelligence", + "cnt": "1" + }, + { + "category": "Donne", + "cnt": "1" + }, + { + "category": "Vistex", + "cnt": "1" + }, + { + "category": "Maroc CMI", + "cnt": "1" + }, + { + "category": "Audite", + "cnt": "1" + }, + { + "category": "Aide", + "cnt": "1" + }, + { + "category": "DKIM DMARC", + "cnt": "1" + }, + { + "category": "Zero Trust SOC", + "cnt": "1" + }, + { + "category": "Bonjour Yacine", + "cnt": "1" + }, + { + "category": "Workshop", + "cnt": "1" + }, + { + "category": "Compare RLHF DPO GRPO Constitutional AI", + "cnt": "1" + }, + { + "category": "Comparatif ERP PME", + "cnt": "1" + }, + { + "category": "Programme", + "cnt": "1" + }, + { + "category": "SAP MM", + "cnt": "1" + }, + { + "category": "Phases", + "cnt": "1" + }, + { + "category": "Autres", + "cnt": "1" + }, + { + "category": "FHIR", + "cnt": "1" + }, + { + "category": "SESSION-7AVR", + "cnt": "1" + }, + { + "category": "FHIR IA", + "cnt": "1" + }, + { + "category": "MLOps", + "cnt": "1" + }, + { + "category": "MIROFISH", + "cnt": "1" + }, + { + "category": "Ecris", + "cnt": "1" + }, + { + "category": "Suite", + "cnt": "1" + }, + { + "category": "Nearshore", + "cnt": "1" + }, + { + "category": "Bienvenue", + "cnt": "1" + }, + { + "category": "Retrieval", + "cnt": "1" + }, + { + "category": "KYC BAM", + "cnt": "1" + }, + { + "category": "Afrique", + "cnt": "1" + }, + { + "category": "Dans", + "cnt": "1" + }, + { + "category": "Azure", + "cnt": "1" + }, + { + "category": "Budget", + "cnt": "1" + }, + { + "category": "INSTRUCTION SYSTEME", + "cnt": "1" + }, + { + "category": "CNDP", + "cnt": "1" + }, + { + "category": "Compare", + "cnt": "1" + }, + { + "category": "HubSpot", + "cnt": "1" + }, + { + "category": "Control", + "cnt": "1" + }, + { + "category": "SESSION-6AVR", + "cnt": "1" + }, + { + "category": "Bonjour Salut", + "cnt": "1" + }, + { + "category": "Maroc KPIs OTIF", + "cnt": "1" + }, + { + "category": "Vistex SAP", + "cnt": "1" + }, + { + "category": "Traduis", + "cnt": "1" + }, + { + "category": "Maroc IoT WMS", + "cnt": "1" + }, + { + "category": "SaaS", + "cnt": "1" + }, + { + "category": "CODE BLOCK", + "cnt": "1" + }, + { + "category": "Cahier", + "cnt": "1" + }, + { + "category": "Maroc FHIR", + "cnt": "1" + }, + { + "category": "DESIGN", + "cnt": "1" + }, + { + "category": "Compare RLHF", + "cnt": "1" + }, + { + "category": "Dynamics", + "cnt": "1" + }, + { + "category": "Python", + "cnt": "1" + }, + { + "category": "FORMAT OBLIGATOIRE", + "cnt": "1" + }, + { + "category": "SAP ERP", + "cnt": "1" + }, + { + "category": "INFRA-SESSION", + "cnt": "1" + }, + { + "category": "Cette", + "cnt": "1" + }, + { + "category": "OWASP Top", + "cnt": "1" + }, + { + "category": "Logo Weval", + "cnt": "1" + }, + { + "category": "ADKAR", + "cnt": "1" + }, + { + "category": "GENERAL", + "cnt": "1" + } + ], + "qdrant_vectors": 386 + }, + "applications": [ + { + "name": "WEVIA Chatbot", + "type": "AI", + "url": "\/wevia", + "port": null, + "server": "S204", + "auth": "public" + }, + { + "name": "WEVIA Admin", + "type": "Admin", + "url": "\/wevia-admin", + "port": null, + "server": "S204", + "auth": "php-session" + }, + { + "name": "WEVIA Life", + "type": "Email AI", + "url": "\/products\/wevialife-app.html", + "port": null, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Workspace", + "type": "Hub", + "url": "\/products\/workspace.html", + "port": null, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Arsenal\/WEVADS", + "type": "Email Marketing", + "url": "wevads.weval-consulting.com", + "port": 5890, + "server": "S95", + "auth": "php-session" + }, + { + "name": "ADX\/iResponse", + "type": "Email Platform", + "url": "wevads.weval-consulting.com", + "port": 5821, + "server": "S95", + "auth": "iResponse" + }, + { + "name": "Ethica HCP", + "type": "Healthcare B2B", + "url": "consent.wevup.app", + "port": null, + "server": "S204", + "auth": "ethica-auth" + }, + { + "name": "CRM (Twenty)", + "type": "CRM", + "url": "crm.weval-consulting.com", + "port": 3000, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Mattermost", + "type": "Chat", + "url": "mm.weval-consulting.com", + "port": 8065, + "server": "S204", + "auth": "php-session" + }, + { + "name": "n8n", + "type": "Automation", + "url": "n8n.weval-consulting.com", + "port": 5678, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Uptime Kuma", + "type": "Monitoring", + "url": "monitor.weval-consulting.com", + "port": 3001, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Plausible", + "type": "Analytics", + "url": "analytics.weval-consulting.com", + "port": 8000, + "server": "S204", + "auth": "php-session" + }, + { + "name": "DeerFlow", + "type": "AI Research", + "url": "deerflow.weval-consulting.com", + "port": 2024, + "server": "S204", + "auth": "php-session" + }, + { + "name": "SearXNG", + "type": "Search", + "url": null, + "port": 8888, + "server": "S204", + "auth": "internal" + }, + { + "name": "Qdrant", + "type": "Vector DB", + "url": null, + "port": 6333, + "server": "S204", + "auth": "internal" + }, + { + "name": "Ollama", + "type": "LLM Runtime", + "url": null, + "port": 11434, + "server": "S204", + "auth": "internal" + }, + { + "name": "Flowise", + "type": "AI Flow", + "url": null, + "port": 3088, + "server": "S204", + "auth": "internal" + }, + { + "name": "MiroFish", + "type": "AI Agent", + "url": "mirofish.weval-consulting.com", + "port": 3050, + "server": "S204", + "auth": "php-session" + }, + { + "name": "Open WebUI", + "type": "LLM UI", + "url": null, + "port": 3002, + "server": "S204", + "auth": "internal" + }, + { + "name": "Vaultwarden", + "type": "Passwords", + "url": null, + "port": 8222, + "server": "S204", + "auth": "internal" + }, + { + "name": "Prometheus", + "type": "Metrics", + "url": null, + "port": 9000, + "server": "S204", + "auth": "internal" + }, + { + "name": "PMTA", + "type": "MTA", + "url": null, + "port": 25, + "server": "S95", + "auth": "internal" + }, + { + "name": "KumoMTA", + "type": "MTA", + "url": null, + "port": 8010, + "server": "S95", + "auth": "internal" + }, + { + "name": "Sentinel", + "type": "Orchestrator", + "url": null, + "port": 5890, + "server": "S95", + "auth": "internal" + } + ], + "cloud": [ + { + "provider": "Hetzner", + "role": "S204+S95", + "type": "Bare Metal", + "region": "Germany" + }, + { + "provider": "OVH", + "role": "S151 DR\/Tracking", + "type": "VPS", + "region": "France" + }, + { + "provider": "Cloudflare", + "role": "CDN+DNS+WAF", + "type": "SaaS", + "region": "Global" + }, + { + "provider": "Huawei Cloud", + "role": "Partner Certifié", + "type": "IaaS", + "region": "MENA" + }, + { + "provider": "Scaleway", + "role": "GPU Inference", + "type": "IaaS", + "region": "France" + } + ], + "partnerships": [ + "SAP Gold Partner", + "Huawei Cloud", + "Vistex", + "IQVIA", + "Scaleway" + ], + "ux_agent": { + "pass": 3, + "fail": 0, + "warn": 0, + "total": 3, + "timestamp": "", + "gauge_health_center": "X=0px Y=0px", + "gauge_auto_center": "X=0px Y=0px", + "design_tokens": { + "bg": "#09090b", + "card": "#18181b", + "font": "Inter" + } + }, + "l99": { + "master": { + "total": 93, + "pass": 89, + "fail": 2, + "timestamp": "2026-04-07T01:32:48.454012" + }, + "auth": { + "pass": 24, + "fail": 0 + } + }, + "cortex": { + "fast_lines": 3620, + "router_lines": 6152, + "router_functions": 17, + "today_requests": 4, + "today_cost": 0, + "avg_latency_ms": 1832, + "top_provider": "cerebras", + "providers_used": 2 + }, + "optimizations": { + "recent_commits": [], + "auto_fixes": [ + { + "fact": "AUTONOMY 19Apr 18:50: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 20:50:05.112821" + }, + { + "fact": "AUTONOMY 19Apr 18:45: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 20:45:05.896272" + }, + { + "fact": "AUTONOMY 19Apr 18:40: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 20:40:05.29453" + }, + { + "fact": "AUTONOMY 19Apr 18:35: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 20:35:06.160485" + }, + { + "fact": "AUTONOMY 19Apr 18:30: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 20:30:07.536885" + }, + { + "fact": "AUTONOMY 19Apr 17:30: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 19:30:06.670863" + }, + { + "fact": "AUTONOMY 19Apr 17:25: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 19:25:05.927364" + }, + { + "fact": "AUTONOMY 19Apr 17:20: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 19:20:05.814206" + }, + { + "fact": "AUTONOMY 19Apr 17:15: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 19:15:05.697284" + }, + { + "fact": "AUTONOMY 19Apr 17:10: 1 fixes. Disk light cleanup 85%", + "created_at": "2026-04-19 19:10:05.683959" + } + ], + "architecture_decisions": [ + { + "fact": "Crons: root=51 www-data=55 cron.d=72 total=178", + "created_at": "2026-04-13 00:30:48.940882" + }, + { + "fact": "Crons: root=51 www-data=55 cron.d=70 total=176", + "created_at": "2026-04-12 20:30:07.357094" + }, + { + "fact": "Crons: root=51 www-data=55 cron.d=70 total=176", + "created_at": "2026-04-12 18:30:05.962933" + }, + { + "fact": "Crons: root=51 www-data=55 cron.d=70 total=176", + "created_at": "2026-04-12 16:30:13.56815" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 14:30:11.101941" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 12:30:08.795912" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 10:30:04.181935" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 08:30:04.196728" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 06:30:04.792965" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 04:30:06.68899" + }, + { + "fact": "Crons: root=51 www-data=57 cron.d=70 total=178", + "created_at": "2026-04-12 02:30:07.207832" + }, + { + "fact": "Crons: root=51 www-data=54 cron.d=69 total=174", + "created_at": "2026-04-12 00:30:13.084556" + }, + { + "fact": "Crons: root=50 www-data=52 cron.d=69 total=171", + "created_at": "2026-04-11 22:30:07.088896" + }, + { + "fact": "Crons: root=50 www-data=52 cron.d=69 total=171", + "created_at": "2026-04-11 20:30:08.94444" + }, + { + "fact": "Crons: root=50 www-data=48 cron.d=69 total=167", + "created_at": "2026-04-11 18:30:04.55611" + } + ], + "pipelines": [ + { + "name": "CORTEX Smart Router", + "status": "active", + "desc": "T0 Ollama → T1 Free APIs → T2 Fallbacks", + "routes": 3620 + }, + { + "name": "RAG Ingest", + "status": "active", + "desc": "Cron *\/30 → Qdrant semantic indexing", + "freq": "*\/30" + }, + { + "name": "L99 Quality Gate", + "status": "active", + "desc": "253+ tests, 28 auth tests", + "freq": "*\/30" + }, + { + "name": "Blade Orchestrator", + "status": "active", + "desc": "GPU polling + model sync", + "freq": "*\/30" + }, + { + "name": "Infra Guardian", + "status": "active", + "desc": "Auto-restart nginx\/php\/docker", + "freq": "*\/5" + }, + { + "name": "Ethica Scraper Pipeline", + "status": "active", + "desc": "4 spiders, RichScraper, SearXNG", + "freq": "daily" + }, + { + "name": "WEVIA Dream", + "status": "active", + "desc": "Background learning + dataset enrichment", + "freq": "*\/30" + }, + { + "name": "Daily Brief", + "status": "active", + "desc": "Morning synthesis → Mattermost", + "freq": "daily 07h" + }, + { + "name": "Architecture Scanner", + "status": "active", + "desc": "This page — auto-scan + recommendations", + "freq": "*\/30" + } + ], + "agents_deployed": [ + { + "name": "Monitor Agent", + "role": "Watches all services, auto-restarts", + "status": "active" + }, + { + "name": "DevOps Agent", + "role": "Git sync, deployment, rollback", + "status": "active" + }, + { + "name": "Ethica Agent", + "role": "HCP scraping, validation, enrichment", + "status": "active" + }, + { + "name": "Security Agent", + "role": "Key rotation, secret scan, vulnerability check", + "status": "active" + }, + { + "name": "Blade Agent", + "role": "GPU orchestration, model management", + "status": "active" + }, + { + "name": "Dream Agent", + "role": "Background learning, dataset generation", + "status": "active" + }, + { + "name": "RAG Agent", + "role": "Knowledge ingestion, vector indexing", + "status": "active" + }, + { + "name": "Quality Agent", + "role": "L99 NonReg, regression detection", + "status": "active" + } + ] + }, + "mirofish": { + "status": "active", + "reports": 0, + "bridge": "\/api\/mirofish-bridge.php" + }, + "recommendations": { + "score": 100, + "total": 1, + "critical": 0, + "warning": 0, + "info": 0, + "opportunity": 1, + "auto_fixed": 0, + "fixes_log": [], + "recommendations": [ + { + "severity": "opportunity", + "category": "SCALABILITY", + "title": "Qdrant: 22,105 vecteurs", + "detail": "Volume vectoriel croissant. Planifier sharding ou migration vers cluster Qdrant.", + "action": "opportunity", + "fix_cmd": "" + } + ] + }, + "scan_time_ms": 2628, + "gaps": [], + "score": 100, + "automation": { + "coverage": 100, + "steps": 30, + "total": 30 + } +} \ No newline at end of file diff --git a/api/blade-actions-surfaced.json b/api/blade-actions-surfaced.json index 219df934d..cec11c4d6 100644 --- a/api/blade-actions-surfaced.json +++ b/api/blade-actions-surfaced.json @@ -1,11 +1,11 @@ { - "generated_at": "2026-04-21T09:00:01.992485", + "generated_at": "2026-04-21T09:05:01.476918", "stats": { - "total": 43, - "pending": 34, + "total": 44, + "pending": 36, "kaouther_surfaced": 18, "chrome_surfaced": 2, - "notif_only_done": 0, + "notif_only_done": 1, "autofix_archived": 0, "cerebras_archived": 0, "older_3d_archived": 0, diff --git a/api/blade-tasks/task_20260421070013_e0360f.json b/api/blade-tasks/task_20260421070013_e0360f.json new file mode 100644 index 000000000..ae7ad958c --- /dev/null +++ b/api/blade-tasks/task_20260421070013_e0360f.json @@ -0,0 +1,14 @@ +{ + "id": "task_20260421070013_e0360f", + "name": "CRM Observation Alert", + "type": "powershell", + "command": "Write-Host 'CRM ALERT: Day3: delta_today=294 < 500 (day 3 after reactivation)'; New-BurntToastNotification -Text 'WEVAL CRM', 'Day3: delta_today=294 < 500 (day 3 after reactivation)' -ErrorAction SilentlyContinue", + "cmd": "Write-Host 'CRM ALERT: Day3: delta_today=294 < 500 (day 3 after reactivation)'; New-BurntToastNotification -Text 'WEVAL CRM', 'Day3: delta_today=294 < 500 (day 3 after reactivation)' -ErrorAction SilentlyContinue", + "priority": "high", + "status": "done", + "created": "2026-04-21T07:00:13+00:00", + "created_by": "blade-control-ui", + "completed_by": "s204-reconciler", + "completed_at": "2026-04-21T09:05:01.476024", + "reconciler_reason": "notification-only, no action needed" +} \ No newline at end of file diff --git a/api/crm-observation-latest.json b/api/crm-observation-latest.json index 72eb8585f..2ef94b357 100644 --- a/api/crm-observation-latest.json +++ b/api/crm-observation-latest.json @@ -1,15 +1,15 @@ { - "ts": "2026-04-20T09:00:05.664002", - "day_since_reactivation": 2, - "total": 3094652, - "delta_today": 0, - "runs_ok_24h": 74, + "ts": "2026-04-21T09:00:13.028409", + "day_since_reactivation": 3, + "total": 3097643, + "delta_today": 294, + "runs_ok_24h": 76, "runs_err_24h": 0, "last_run_age": "30min", "cron_status": "active", "alert_triggered": true, "alert_reasons": [ - "delta_today=0 < 500 (day 2 after reactivation)" + "delta_today=294 < 500 (day 3 after reactivation)" ], - "screenshot": null + "screenshot": "/var/www/html/api/crm-observation-screenshots/crm-pipeline-20260421-090004.png" } \ No newline at end of file diff --git a/api/crm-observation-screenshots/crm-pipeline-20260421-090004.png b/api/crm-observation-screenshots/crm-pipeline-20260421-090004.png new file mode 100644 index 0000000000000000000000000000000000000000..e1bf5fb74a4895c2ce040c6a33e743cc4ffebab1 GIT binary patch literal 24481 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 A*Z=?k literal 0 HcmV?d00001 diff --git a/api/oss-trending.json b/api/oss-trending.json index 84626fb53..7901c3028 100644 --- a/api/oss-trending.json +++ b/api/oss-trending.json @@ -10,7 +10,7 @@ "has_docker": false, "wired": true, "description": "", - "discovered": "2026-04-21T08:00:03.946061" + "discovered": "2026-04-21T09:00:03.714415" }, { "name": "wevia-brain", @@ -23,7 +23,7 @@ "has_docker": false, "wired": true, "description": "", - "discovered": "2026-04-21T08:00:04.108390" + "discovered": "2026-04-21T09:00:03.802146" }, { "name": "skills", @@ -36,7 +36,7 @@ "has_docker": false, "wired": true, "description": "", - "discovered": "2026-04-21T08:00:03.784896" + "discovered": "2026-04-21T09:00:03.495583" }, { "name": "everything-claude-code", @@ -49,7 +49,7 @@ "has_docker": false, "wired": true, "description": "**Language:** English | [Português (Brasil)](docs/pt-BR/README.md) | [简体中文](README.zh-CN.md) | [繁體中文](docs/zh-TW/README.md) | [日本語](docs/ja-JP/README.", - "discovered": "2026-04-21T08:00:02.807949" + "discovered": "2026-04-21T09:00:02.796963" }, { "name": "open-webui-fresh", @@ -62,7 +62,7 @@ "has_docker": true, "wired": true, "description": "# Open WebUI 👋 ![GitHub stars](https://img.shields.io/github/stars/open-webui/open-webui?style=social) ![GitHub forks](https://img.shields.io/github/", - "discovered": "2026-04-21T08:00:03.426047" + "discovered": "2026-04-21T09:00:03.255703" }, { "name": "weval-nonreg", @@ -75,7 +75,7 @@ "has_docker": false, "wired": true, "description": "", - "discovered": "2026-04-21T08:00:03.987451" + "discovered": "2026-04-21T09:00:03.734397" }, { "name": "activepieces", @@ -88,7 +88,7 @@ "has_docker": true, "wired": true, "description": "

\"Activepieces\" # 🚀 SuperClaude Framework [![Run in Smithery](https://smithery.ai/badge/skills/SuperClaude-Org)](https://smithery.ai/skills?ns=", - "discovered": "2026-04-21T08:00:02.501937" + "discovered": "2026-04-21T09:00:02.495540" }, { "name": "paperclip-weval", @@ -140,7 +140,7 @@ "has_docker": true, "wired": true, "description": "

\"Paperclip

Support my work here: Bags.fm

[![listmonk-logo](https://user-ima", - "discovered": "2026-04-21T08:00:03.013112" + "discovered": "2026-04-21T09:00:02.945066" }, { "name": "claw-code", @@ -218,7 +218,7 @@ "has_docker": false, "wired": true, "description": "
\"icon\"/

⚔️ 三省六部 · Edict

我用 1300 年前的帝国制度,重新设计了 AI 多 Agent 协作架构。
结果发现,古人比现代 AI 框架更懂分权制衡。

", - "discovered": "2026-04-21T08:00:03.744028" + "discovered": "2026-04-21T09:00:03.453739" }, { "name": "anythingllm", @@ -244,7 +244,7 @@ "has_docker": false, "wired": true, "description": "



# 🌌 Antigravity Awesome Skills: 1,340+ Agentic S", - "discovered": "2026-04-21T08:00:02.512266" + "discovered": "2026-04-21T09:00:02.556616" }, { "name": "deepagent", @@ -283,7 +283,7 @@ "has_docker": false, "wired": true, "description": "# DeepAgents 기반 Research Multi Agent System Agent 2.0 Paradigm 을 잘 구현하는 DeepAgent 를 활용해서, FileSystem 기반 Context Engineering 을 원활히 수행하는 Research 용 Mul", - "discovered": "2026-04-21T08:00:02.712700" + "discovered": "2026-04-21T09:00:02.750132" }, { "name": "whisper.cpp", @@ -296,7 +296,7 @@ "has_docker": false, "wired": true, "description": "# whisper.cpp ![whisper.cpp](https://user-images.githubusercontent.com/1991296/235238348-05d0f6a4-da44-4900-a1de-d0707e75b763.jpeg) [![Actions Statu", - "discovered": "2026-04-21T08:00:04.144922" + "discovered": "2026-04-21T09:00:03.833918" }, { "name": "rnd-astron-agent", @@ -309,7 +309,7 @@ "has_docker": false, "wired": true, "description": "[![Astron_Readme](./docs/imgs/Astron_Readme.png)](https://agent.xfyun.cn)
[![License](https://img.shields.io/badge/license-apac", - "discovered": "2026-04-21T08:00:03.708391" + "discovered": "2026-04-21T09:00:03.451414" }, { "name": "sovereign-api", @@ -322,7 +322,7 @@ "has_docker": false, "wired": true, "description": "", - "discovered": "2026-04-21T08:00:03.799875" + "discovered": "2026-04-21T09:00:03.535886" }, { "name": "autogen", @@ -335,7 +335,7 @@ "has_docker": false, "wired": true, "description": "
\"AutoGen [![Twit", - "discovered": "2026-04-21T08:00:02.543241" + "discovered": "2026-04-21T09:00:02.618361" }, { "name": "HolyClaude", @@ -348,7 +348,7 @@ "has_docker": true, "wired": true, "description": "🌍 **English** | [Español](docs/translations/README.es.md) | [Français](docs/translations/README.fr.md) | [Italiano](docs/translations/README.it.md) | ", - "discovered": "2026-04-21T08:00:02.496948" + "discovered": "2026-04-21T09:00:02.447488" }, { "name": "aios", @@ -361,7 +361,7 @@ "has_docker": true, "wired": true, "description": "# AIOS: AI Agent Operating System