AUTO-BACKUP 20260417-0105
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
opus
2026-04-17 01:05:02 +02:00
parent 3e17d72458
commit 8634581a57
29 changed files with 555 additions and 8000 deletions

View File

@@ -1 +1,7 @@
<?php ignore_user_abort(true);set_time_limit(0);exec("sudo pkill -9 -f paperclipai");sleep(3);exec("sudo nohup bash -c \"cd /opt/paperclip-weval && PATH=/usr/local/bin:/usr/bin:/bin ANTHROPIC_BASE_URL=https://weval-consulting.com/api/wevia-openai.php ANTHROPIC_API_KEY=wevia-sovereign DATABASE_URL=postgres://paperclip:PaperclipWeval2026@127.0.0.1:5432/paperclip PORT=3100 npx paperclipai run >> /var/log/paperclip.log 2>&1\" &");sleep(18);echo trim(shell_exec("curl -s -o /dev/null -w %{http_code} http://127.0.0.1:3100/ 2>/dev/null"));
<?php
// Paperclip launcher — fire-and-forget (no wait)
header("Content-Type: application/json");
ignore_user_abort(true); set_time_limit(30);
@exec("sudo pkill -9 -f paperclipai 2>/dev/null");
@exec('sudo nohup bash -c "cd /opt/paperclip-weval && PATH=/usr/local/bin:/usr/bin:/bin ANTHROPIC_BASE_URL=https://weval-consulting.com/api/wevia-openai.php ANTHROPIC_API_KEY=wevia-sovereign DATABASE_URL=postgres://paperclip:PaperclipWeval2026@127.0.0.1:5432/paperclip PORT=3100 npx paperclipai run >> /var/log/paperclip.log 2>&1 &" >/dev/null 2>&1');
echo json_encode(["ok"=>true,"action"=>"paperclip_launched_async","check_url"=>"http://127.0.0.1:3100/","note"=>"use /api/paperclip-status.php to check ready state after 20s"]);

View File

@@ -1,5 +1,5 @@
{
"ts": "2026-04-16T23:00:02+00:00",
"ts": "2026-04-16T23:04:56+00:00",
"hostname": "blade",
"cpu": "?",
"ram": "?",

View File

@@ -1,6 +1,9 @@
<?php
header("Content-Type:text/plain");
$t = $_GET["t"] ?? "ETHICA_API_2026_SECURE";
if ($t !== "ETHICA_API_2026_SECURE") { die("NO"); }
// Ethica MA scraper launcher — async via nohup (no wait)
header("Content-Type:application/json");
$t = $_GET["t"] ?? "";
if ($t !== "ETHICA_API_2026_SECURE") { http_response_code(403); die(json_encode(["error"=>"NO"])); }
$b = (int)($_GET["batch"] ?? 50);
echo shell_exec("python3 /opt/weval-l99/ethica-enrich-ma.py $b 2>&1");
$logfile = "/var/log/weval/ethica-ma-boost-" . date("Ymd-His") . ".log";
@exec("nohup python3 /opt/weval-l99/ethica-enrich-ma.py $b > $logfile 2>&1 &");
echo json_encode(["ok"=>true,"action"=>"scraper_launched_async","batch"=>$b,"log"=>$logfile]);

View File

@@ -1,117 +0,0 @@
<?php
ignore_user_abort(true);
set_time_limit(300);
header('Content-Type: application/json');
$r = [];
// ═══ FIX 1: L99 CRON LINE 433 ═══
$l99 = file_get_contents("/opt/weval-l99/l99-master.py");
// Fix the broken line: "crontab -l 2>/dev/null; sudo crontab -l 2>/dev/null | grep..."
// Replace with: "sudo crontab -l 2>/dev/null | grep -v '^#' | grep -v '^$' | wc -l"
$l99 = str_replace(
'crontab -l 2>/dev/null; sudo crontab -l 2>/dev/null',
'sudo crontab -l 2>/dev/null',
$l99
);
file_put_contents("/opt/weval-l99/l99-master.py", $l99);
$r['l99_cron'] = 'fixed line 433';
// ═══ FIX 2: ARSENAL PROXY — serve from S204 instead of S95 ═══
// warmup-manager exists as PHP at /var/www/weval/arsenal/warmup-manager.php
// Create an HTML redirect/proxy
$warmup_html = file_get_contents("/var/www/weval/arsenal/warmup-manager.php");
if ($warmup_html) {
file_put_contents("/var/www/html/warmup-manager.html", $warmup_html);
$r['arsenal'] = 'warmup-manager.html created from PHP source';
} else {
// Create simple placeholder
$html = '<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><title>Warmup Manager</title></head><body style="background:#0a0e1a;color:#e2e8f0;font-family:monospace;padding:40px"><h1>🔥 Warmup Manager</h1><p>Service intégré dans WEVADS Arsenal.</p><p><a href="/wevads-ia/" style="color:#6d28d9">→ Accéder à WEVADS IA</a></p></body></html>';
file_put_contents("/var/www/html/warmup-manager.html", $html);
$r['arsenal'] = 'placeholder created';
}
// ═══ FIX 3: LOKI — restart with --network host ═══
$loki_status = trim(shell_exec("docker ps --filter name=loki --format '{{.Status}}' 2>/dev/null"));
if (!$loki_status) {
// Try to start Loki with --network host
shell_exec("sudo docker rm -f loki 2>/dev/null");
shell_exec("sudo docker run -d --name loki --network host --restart unless-stopped -v /opt/loki-data:/loki grafana/loki:latest -config.file=/etc/loki/local-config.yaml 2>&1");
sleep(5);
$loki_status = trim(shell_exec("docker ps --filter name=loki --format '{{.Status}}' 2>/dev/null"));
$r['loki'] = $loki_status ?: 'failed to start';
} else {
$r['loki'] = "already running: $loki_status";
}
// ═══ FIX 4: PAPERCLIP — restart + add keepalive cron ═══
shell_exec("sudo pkill -9 -f paperclipai 2>/dev/null");
sleep(2);
shell_exec("sudo bash -c 'cd /opt/paperclip-weval && nohup env ANTHROPIC_BASE_URL=https://weval-consulting.com/api/wevia-anthropic.php ANTHROPIC_API_KEY=wevia-sovereign-key DATABASE_URL=postgres://paperclip:PaperclipWeval2026@127.0.0.1:5432/paperclip PORT=3100 npx paperclipai run >> /var/log/paperclip.log 2>&1 &'");
sleep(8);
$pc_http = (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3100/ 2>/dev/null"));
$r['paperclip'] = "HTTP $pc_http";
// Add keepalive cron (check every 5 min, restart if down)
$keepalive = '*/5 * * * * curl -s -o /dev/null -w "%{http_code}" http://127.0.0.1:3100/ 2>/dev/null | grep -q 200 || (cd /opt/paperclip-weval && sudo pkill -f paperclipai; sleep 2; nohup env ANTHROPIC_BASE_URL=https://weval-consulting.com/api/wevia-anthropic.php ANTHROPIC_API_KEY=wevia-sovereign-key DATABASE_URL=postgres://paperclip:PaperclipWeval2026@127.0.0.1:5432/paperclip PORT=3100 npx paperclipai run >> /var/log/paperclip.log 2>&1 &)';
$existing_cron = shell_exec("crontab -l 2>/dev/null");
if (strpos($existing_cron, 'paperclipai') === false) {
shell_exec("(crontab -l 2>/dev/null; echo '$keepalive') | crontab -");
$r['paperclip_cron'] = 'keepalive added';
} else {
$r['paperclip_cron'] = 'already exists';
}
// ═══ FIX 5: L99 CSS LEAK — inject hide rule ═══
// The CSS "Day/Night Theme Toggle" is injected by React runtime
// Add CSS rule in the page to hide any raw CSS text rendered as body content
// Since we can't modify the React bundle, inject a fix via weval-faq-fix.js
$faq = file_get_contents("/var/www/html/weval-faq-fix.js");
if (strpos($faq, 'hideCSSLeak') === false) {
$css_fix = '
/* Fix CSS leak in L99/Brain pages */
(function hideCSSLeak(){
var b=document.body;
if(!b)return;
var nodes=b.childNodes;
for(var i=0;i<nodes.length;i++){
var n=nodes[i];
if(n.nodeType===3 && n.textContent && n.textContent.indexOf("data-theme")>-1){
n.textContent="";
}
}
// Also hide any text node containing CSS code
setTimeout(function(){
var all=document.querySelectorAll("body > *");
for(var j=0;j<all.length;j++){
var el=all[j];
if(el.tagName!=="STYLE" && el.tagName!=="SCRIPT" && el.textContent &&
el.textContent.indexOf("weval-theme-btn")>-1 && el.textContent.indexOf("{")>-1) {
el.style.display="none";
}
}
},500);
})();
';
file_put_contents("/var/www/html/weval-faq-fix.js", $faq . $css_fix);
$r['css_leak'] = 'hide fix injected in faq-fix.js';
} else {
$r['css_leak'] = 'already fixed';
}
// ═══ FIX 6: OPCACHE RESET ═══
opcache_reset();
$r['opcache'] = 'reset';
// ═══ VERIFY ═══
sleep(2);
$checks = [
'paperclip' => (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:3100/ 2>/dev/null")),
'wedroid' => (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' 'https://weval-consulting.com/api/wedroid-brain-api.php?k=DROID2026&action=status' 2>/dev/null")),
'warmup' => (int)trim(shell_exec("curl -s -o /dev/null -w '%{http_code}' 'https://weval-consulting.com/warmup-manager.html' 2>/dev/null")),
'loki' => (int)trim(shell_exec("docker ps --filter name=loki --format '{{.Status}}' 2>/dev/null | wc -c")),
'docker_total' => (int)trim(shell_exec("docker ps --format '{{.Names}}' | wc -l")),
];
$r['verify'] = $checks;
echo json_encode(["ok"=>true, "results"=>$r], JSON_PRETTY_PRINT);
unlink(__FILE__);

View File

@@ -1,10 +1,8 @@
<?php
$name = basename($_GET["n"] ?? "");
$path = "/var/www/html/images/$name";
if ($name && file_exists($path)) {
$ext = pathinfo($name, PATHINFO_EXTENSION);
$types = ["png"=>"image/png","jpg"=>"image/jpeg","gif"=>"image/gif","svg"=>"image/svg+xml","webp"=>"image/webp"];
header("Content-Type: " . ($types[$ext] ?? "application/octet-stream"));
header("Cache-Control: public, max-age=2592000");
readfile($path);
} else { http_response_code(404); echo "Not found"; }
header("Content-Type: application/json");
http_response_code(200);
echo json_encode([
"status"=>"stub",
"info"=>"Legacy endpoint — use /api/imagegen.php or /api/vision-proxy.php instead",
"migration"=>"2026-04"
]);

View File

@@ -1,11 +1,11 @@
{
"ts": "2026-04-16T22:49:46+00:00",
"ts": "2026-04-16T23:02:51+00:00",
"results": {
"GITHUB_TOKEN": 401,
"GROQ_KEY": 200,
"GROQ_KEY": 429,
"CEREBRAS_API_KEY": 200,
"GEMINI_KEY": 200,
"SAMBANOVA_KEY": 0,
"SAMBANOVA_KEY": 402,
"MISTRAL_KEY": 200
},
"expired": [
@@ -16,8 +16,8 @@
},
{
"name": "SAMBANOVA_KEY",
"code": 0,
"reason": "FAIL"
"code": 402,
"reason": "NO_BALANCE"
}
],
"renewed": [],

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-17T00:45:19.931225",
"timestamp": "2026-04-17T01:00:19.756484",
"layers": {
"DOCKER": {
"n": "DOCKER",
@@ -45,8 +45,8 @@
},
"QDRANT": {
"n": "QDRANT",
"t": 8,
"p": 8,
"t": 14,
"p": 14,
"c": "em"
},
"NONREG": {
@@ -57,6 +57,6 @@
}
},
"fixes": [],
"total": 201,
"pass": 192
"total": 207,
"pass": 198
}

View File

@@ -13,5 +13,5 @@
"Run simulation",
"CEO insights"
],
"timestamp": "2026-04-16 23:00:03"
"timestamp": "2026-04-16 23:05:01"
}

View File

@@ -5,7 +5,12 @@
"not_wired": 0,
"with_readme": 34,
"with_docker": 14,
"scan_time": "2026-04-17T01:00:02.503749"
"scan_time": "2026-04-17T01:00:02.503749",
"by_status": {
"integrated": 70,
"discovered": 0,
"evaluated": 0
}
},
"tools": {
"weval-l99": {
@@ -57,7 +62,7 @@
"has_node": true,
"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.",
"description": "**Language:** English | [Portugu\u00eas (Brasil)](docs/pt-BR/README.md) | [\u7b80\u4f53\u4e2d\u6587](README.zh-CN.md) | [\u7e41\u9ad4\u4e2d\u6587](docs/zh-TW/README.md) | [\u65e5\u672c\u8a9e](docs/ja-JP/README.",
"discovered": "2026-04-17T01:00:02.285206"
},
"open-webui-fresh": {
@@ -70,7 +75,7 @@
"has_node": true,
"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/",
"description": "# Open WebUI \ud83d\udc4b ![GitHub stars](https://img.shields.io/github/stars/open-webui/open-webui?style=social) ![GitHub forks](https://img.shields.io/github/",
"discovered": "2026-04-17T01:00:02.324157"
},
"activepieces": {
@@ -96,7 +101,7 @@
"has_node": true,
"has_docker": false,
"wired": true,
"description": "English | [한국어](README.ko.md) | [中文](README.zh.md) | [日本語](README.ja.md) | [Español](README.es.md) | [Tiếng Việt](README.vi.md) | [Português](README.p",
"description": "English | [\ud55c\uad6d\uc5b4](README.ko.md) | [\u4e2d\u6587](README.zh.md) | [\u65e5\u672c\u8a9e](README.ja.md) | [Espa\u00f1ol](README.es.md) | [Ti\u1ebfng Vi\u1ec7t](README.vi.md) | [Portugu\u00eas](README.p",
"discovered": "2026-04-17T01:00:02.320990"
},
"mxyhi_ok-skills": {
@@ -109,7 +114,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "# OK Skills: AI Coding Agent Skills for Codex, Claude Code, Cursor, OpenClaw, and More English | [简体中文](README.zh-CN.md) | [繁體中文](README.zh-TW.md) | ",
"description": "# OK Skills: AI Coding Agent Skills for Codex, Claude Code, Cursor, OpenClaw, and More English | [\u7b80\u4f53\u4e2d\u6587](README.zh-CN.md) | [\u7e41\u9ad4\u4e2d\u6587](README.zh-TW.md) | ",
"discovered": "2026-04-17T01:00:02.315238"
},
"SuperClaude_Framework": {
@@ -122,7 +127,7 @@
"has_node": true,
"has_docker": false,
"wired": true,
"description": "<div align=\"center\"> # 🚀 SuperClaude Framework [![Run in Smithery](https://smithery.ai/badge/skills/SuperClaude-Org)](https://smithery.ai/skills?ns=",
"description": "<div align=\"center\"> # \ud83d\ude80 SuperClaude Framework [![Run in Smithery](https://smithery.ai/badge/skills/SuperClaude-Org)](https://smithery.ai/skills?ns=",
"discovered": "2026-04-17T01:00:02.200301"
},
"paperclip-weval": {
@@ -135,7 +140,7 @@
"has_node": true,
"has_docker": true,
"wired": true,
"description": "<p align=\"center\"> <img src=\"doc/assets/header.png\" alt=\"Paperclip runs your business\" width=\"720\" /> </p> <p align=\"center\"> <a href=\"#quickst",
"description": "<p align=\"center\"> <img src=\"doc/assets/header.png\" alt=\"Paperclip \u2014 runs your business\" width=\"720\" /> </p> <p align=\"center\"> <a href=\"#quickst",
"discovered": "2026-04-17T01:00:02.328902"
},
"vllm": {
@@ -161,7 +166,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "# 🦌 DeerFlow - 2.0 English | [中文](./README_zh.md) | [日本語](./README_ja.md) | [Français](./README_fr.md) | [Русский](./README_ru.md) [![Python](https:",
"description": "# \ud83e\udd8c DeerFlow - 2.0 English | [\u4e2d\u6587](./README_zh.md) | [\u65e5\u672c\u8a9e](./README_ja.md) | [Fran\u00e7ais](./README_fr.md) | [\u0420\u0443\u0441\u0441\u043a\u0438\u0439](./README_ru.md) [![Python](https:",
"discovered": "2026-04-17T01:00:02.281719"
},
"system-prompts-ai": {
@@ -174,7 +179,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "<p align=\"center\"> Support my work here: <a href=\"https://bags.fm/DEffWzJyaFRNyA4ogUox631hfHuv3KLeCcpBh2ipBAGS\">Bags.fm</a> <a href=\"https://",
"description": "<p align=\"center\"> Support my work here: <a href=\"https://bags.fm/DEffWzJyaFRNyA4ogUox631hfHuv3KLeCcpBh2ipBAGS\">Bags.fm</a> \u2022 <a href=\"https://",
"discovered": "2026-04-17T01:00:02.420597"
},
"librechat": {
@@ -213,7 +218,7 @@
"has_node": false,
"has_docker": true,
"wired": true,
"description": "<h1 align=\"center\">⚔️ 三省六部 · Edict</h1> <p align=\"center\"> <strong>我用 1300 年前的帝国制度,重新设计了 AI 多 Agent 协作架构。<br>结果发现,古人比现代 AI 框架更懂分权制衡。</strong> </p> ",
"description": "<h1 align=\"center\">\u2694\ufe0f \u4e09\u7701\u516d\u90e8 \u00b7 Edict</h1> <p align=\"center\"> <strong>\u6211\u7528 1300 \u5e74\u524d\u7684\u5e1d\u56fd\u5236\u5ea6\uff0c\u91cd\u65b0\u8bbe\u8ba1\u4e86 AI \u591a Agent \u534f\u4f5c\u67b6\u6784\u3002<br>\u7ed3\u679c\u53d1\u73b0\uff0c\u53e4\u4eba\u6bd4\u73b0\u4ee3 AI \u6846\u67b6\u66f4\u61c2\u5206\u6743\u5236\u8861\u3002</strong> </p> ",
"discovered": "2026-04-17T01:00:02.368930"
},
"anythingllm": {
@@ -278,7 +283,7 @@
"has_node": true,
"has_docker": false,
"wired": true,
"description": "<!-- registry-sync: version=9.4.0; skills=1340; stars=28867; updated_at=2026-03-31T16:30:41+00:00 --> # 🌌 Antigravity Awesome Skills: 1,340+ Agentic S",
"description": "<!-- registry-sync: version=9.4.0; skills=1340; stars=28867; updated_at=2026-03-31T16:30:41+00:00 --> # \ud83c\udf0c Antigravity Awesome Skills: 1,340+ Agentic S",
"discovered": "2026-04-17T01:00:02.226697"
},
"deepagent": {
@@ -291,7 +296,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "# DeepAgents 기반 Research Multi Agent System Agent 2.0 Paradigm 을 잘 구현하는 DeepAgent 를 활용해서, FileSystem 기반 Context Engineering 을 원활히 수행하는 Research Mul",
"description": "# DeepAgents \uae30\ubc18 Research Multi Agent System Agent 2.0 Paradigm \uc744 \uc798 \uad6c\ud604\ud558\ub294 DeepAgent \ub97c \ud65c\uc6a9\ud574\uc11c, FileSystem \uae30\ubc18 Context Engineering \uc744 \uc6d0\ud65c\ud788 \uc218\ud589\ud558\ub294 Research \uc6a9 Mul",
"discovered": "2026-04-17T01:00:02.278281"
},
"rnd-astron-agent": {
@@ -330,7 +335,7 @@
"has_node": false,
"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) | ",
"description": "\ud83c\udf0d **English** | [Espa\u00f1ol](docs/translations/README.es.md) | [Fran\u00e7ais](docs/translations/README.fr.md) | [Italiano](docs/translations/README.it.md) | ",
"discovered": "2026-04-17T01:00:02.180884"
},
"aios": {
@@ -473,7 +478,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "# Claude Code Plugins: Orchestration and Automation > ** Updated for Opus 4.6, Sonnet 4.6 & Haiku 4.5** Three-tier model strategy for optimal perf",
"description": "# Claude Code Plugins: Orchestration and Automation > **\u26a1 Updated for Opus 4.6, Sonnet 4.6 & Haiku 4.5** \u2014 Three-tier model strategy for optimal perf",
"discovered": "2026-04-17T01:00:02.356347"
},
"weval-ops": {
@@ -499,7 +504,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "# Agent Skill Creator **Turn any workflow into reusable AI agent software that installs on 14+ tools no spec writing, no prompt engineering, no cod",
"description": "# Agent Skill Creator **Turn any workflow into reusable AI agent software that installs on 14+ tools \u2014 no spec writing, no prompt engineering, no cod",
"discovered": "2026-04-17T01:00:02.165353"
},
"obsidian-vault": {
@@ -564,7 +569,7 @@
"has_node": false,
"has_docker": false,
"wired": true,
"description": "# Writing Style Skill 可复用的写作风格 Skill 模板。**内置自动学习** — 从你的修改中自动提取规则SKILL.md 越用越准。 兼容 **Claude Code** + **OpenClaw (ClawHub)**。 ## 原理 ``` AI SKILL",
"description": "# Writing Style Skill \u53ef\u590d\u7528\u7684\u5199\u4f5c\u98ce\u683c Skill \u6a21\u677f\u3002**\u5185\u7f6e\u81ea\u52a8\u5b66\u4e60** \u2014 \u4ece\u4f60\u7684\u4fee\u6539\u4e2d\u81ea\u52a8\u63d0\u53d6\u89c4\u5219\uff0cSKILL.md \u8d8a\u7528\u8d8a\u51c6\u3002 \u517c\u5bb9 **Claude Code** + **OpenClaw (ClawHub)**\u3002 ## \u539f\u7406 ``` AI \u7528 SKILL",
"discovered": "2026-04-17T01:00:02.291524"
},
"qdrant-data": {
@@ -918,5 +923,41 @@
"description": "",
"discovered": "2026-04-17T01:00:02.487655"
}
}
},
"skills": {
"total": 6178,
"injected": 694
},
"trending": [
{
"name": "weval-l99"
},
{
"name": "wevia-brain"
},
{
"name": "skills"
},
{
"name": "everything-claude-code"
},
{
"name": "open-webui-fresh"
},
{
"name": "activepieces"
},
{
"name": "oh-my-claudecode"
},
{
"name": "mxyhi_ok-skills"
},
{
"name": "SuperClaude_Framework"
},
{
"name": "paperclip-weval"
}
]
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"ts": "2026-04-16 22:59:18",
"ts": "2026-04-16 23:03:00",
"r": {
"reconcile": "OK",
"nonreg": "NONREG: 153\/153 (100%)",
@@ -7,7 +7,7 @@
"docker": 19,
"disk": 84,
"hubs": 29,
"dirty": 1,
"dirty": 22,
"pushed": true,
"alerts": [
"CLEAR"

1
api/tmpq8wyf2ui.tmp Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-17T00:30:11",
"timestamp": "2026-04-17T01:00:08",
"features": {
"total": 36,
"pass": 35
@@ -13,7 +13,7 @@
"score": 97.2,
"log": [
"=== UX AGENT v1.0 ===",
"Time: 2026-04-17 00:30:01",
"Time: 2026-04-17 01:00:01",
" core: 4/4",
" layout: 3/4",
" interaction: 6/6",

View File

@@ -1,8 +1,10 @@
{
"timestamp": "2026-04-17 00:55:04",
"healthy": true,
"issues": [],
"timestamp": "2026-04-17 01:00:11",
"healthy": false,
"issues": [
"Chatbot check error: Expecting value: line 1 column 1 (char 0)"
],
"fixes": [],
"issues_count": 0,
"issues_count": 1,
"fixes_count": 0
}

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-16 22:55:08",
"timestamp": "2026-04-16 23:00:09",
"healthy": false,
"checks": {
"outpost": "DOWN",
@@ -30,62 +30,62 @@
{
"level": "critical",
"msg": "Outpost DOWN 9090",
"ts": "2026-04-16T22:55:01+00:00"
"ts": "2026-04-16T23:00:02+00:00"
},
{
"level": "critical",
"msg": "Outpost STILL DOWN",
"ts": "2026-04-16T22:55:06+00:00"
"ts": "2026-04-16T23:00:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow wevads.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:06+00:00"
"ts": "2026-04-16T23:00:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow ethica.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:06+00:00"
"ts": "2026-04-16T23:00:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow n8n.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow crm.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:07+00:00"
},
{
"level": "warning",
"msg": "Auth flow mm.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:08+00:00"
},
{
"level": "warning",
"msg": "Auth flow analytics.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:08+00:00"
},
{
"level": "warning",
"msg": "Auth flow deerflow.weval-consulting.com: 200",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:08+00:00"
},
{
"level": "warning",
"msg": "Callback location missing in nginx",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:08+00:00"
}
],
"fixes": [
{
"title": "Restart authentik",
"ts": "2026-04-16T22:55:01+00:00"
"ts": "2026-04-16T23:00:02+00:00"
},
{
"title": "Callback location auto-added",
"ts": "2026-04-16T22:55:07+00:00"
"ts": "2026-04-16T23:00:08+00:00"
}
]
}

View File

@@ -1 +1 @@
{"ts":"01:00","status":"online","cpu":"?%","ram":"?%","ip":"105.159.153.96","uptime":"?","pending":30,"via":"heartbeat"}
{"ts":"01:04","status":"offline"}

View File

@@ -1,8 +1,8 @@
{
"date": "2026-04-16 22:45:01",
"score": "7\/13 (53.8%)",
"passed": 7,
"failed": 6,
"date": "2026-04-16 23:00:02",
"score": "8\/13 (61.5%)",
"passed": 8,
"failed": 5,
"total": 13,
"regressions": [],
"auto_fixes": [],
@@ -14,8 +14,8 @@
},
{
"name": "eng:Code",
"ok": false,
"detail": "1t 0a"
"ok": true,
"detail": "23t 0a"
},
{
"name": "eng:Docker",
@@ -30,7 +30,7 @@
{
"name": "eng:SSL",
"ok": true,
"detail": "26t 0a"
"detail": "19t 0a"
},
{
"name": "eng:Compare",

View File

@@ -46,7 +46,7 @@ function wevia_opus46_exec($msg) {
if ($d > 0) {
@shell_exec("cd /var/www/html && git add -A && git commit -m 'auto-sync-opus46' && git push origin main 2>&1");
@shell_exec("cd /opt/weval-l99 && git add -A && git commit -m 'auto-sync-opus46' && git push 2>&1");
return ["provider"=>"opus46","content"=>"GIT FULL: $d files committed+pushed","tool"=>"git_full"];
$hb=trim(@shell_exec("cd /var/www/html && git rev-parse HEAD 2>&1")); $ha=trim(@shell_exec("cd /var/www/html && git rev-parse origin/main 2>&1")); $da=(int)trim(@shell_exec("cd /var/www/html && git status --short 2>&1 | wc -l")); if ($hb===$ha && $da>=$d) return ["provider"=>"opus46","content"=>"GIT FAILED: HEAD=".substr($hb,0,8)." unchanged, dirty=$da","tool"=>"git_full"]; return ["provider"=>"opus46","content"=>"GIT OK: $d files, HEAD=".substr($hb,0,8)." dirty_after=$da","tool"=>"git_full"];
}
return ["provider"=>"opus46","content"=>"GIT: 0 dirty","tool"=>"git_full"];
}

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-16 22:55:07",
"timestamp": "2026-04-16 23:00:08",
"frameworks": [
{
"name": "Lean Six Sigma",
@@ -46,7 +46,7 @@
{
"name": "Change Mgmt",
"ok": true,
"detail": "2495 commits\/7d"
"detail": "2502 commits\/7d"
},
{
"name": "SLA Monitor",
@@ -153,7 +153,7 @@
{
"name": "CI\/CD",
"ok": true,
"detail": "2495 commits"
"detail": "2502 commits"
},
{
"name": "Auto testing",

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-16 22:59:32",
"timestamp": "2026-04-16 23:03:00",
"healthy": false,
"global_pass": 292,
"global_fail": 2,
@@ -34,24 +34,24 @@
"total": 93
},
"chat_monitor": {
"pass": 3,
"fail": 0,
"pass": 0,
"fail": 3,
"total": 3,
"caps": {
"Lean Six Sigma": {
"ok": true,
"code": 200,
"json": true
"ok": false,
"code": 429,
"json": false
},
"Qdrant": {
"ok": true,
"code": 200,
"json": true
"ok": false,
"code": 429,
"json": false
},
"SearXNG": {
"ok": true,
"code": 200,
"json": true
"ok": false,
"code": 429,
"json": false
}
}
},
@@ -64,9 +64,9 @@
"score": 100
},
"chatbot_post": {
"healthy": false,
"provider": "none",
"code": 0
"healthy": true,
"provider": "Cerebras-fast",
"code": 200
},
"regression_scan": {
"ok": 250,
@@ -83,8 +83,8 @@
},
"issues": [
"L99 Command: 2 failures",
"Chat Monitor: 3 capabilities returning non-JSON",
"Auth Agent: unhealthy",
"Chatbot POST: returning maintenance\/crash (provider cascade broken)",
"L99 Mission: 2 failures (QUALITY, ssl)"
],
"issues_count": 4

View File

@@ -1,8 +0,0 @@
<?php
// 1. index.php point dentrée unique, route vers les modules
require_once 'config.php';
require_once 'kernel/Kernel.php';
session_start();
$kernel = new Kernel();
$kernel->handle($_SERVER['REQUEST_URI']);

View File

@@ -1,6 +0,0 @@
<?php
// 5. Models/Client.php entité métier
namespace Models;
class Client extends Model {
protected static string $table = 'clients';
}

View File

@@ -1,58 +0,0 @@
<!-- 8. views/cart.php - Vue panier basique -->
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mon Panier - <?= SITE_NAME ?></title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container py-4">
<h1>Mon Panier</h1>
<?php if (empty($_SESSION['cart'] ?? [])): ?>
<div class="alert alert-info">Votre panier est vide.</div>
<a href="<?= BASE_URL ?>" class="btn btn-primary">Continuer vos achats</a>
<?php else: ?>
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Produit</th>
<th>Quantité</th>
<th>Prix unitaire</th>
<th>Total</th>
</tr>
</thead>
<tbody>
<?php
$total = 0;
foreach ($_SESSION['cart'] as $item):
$itemTotal = $item['price'] * $item['quantity'];
$total += $itemTotal;
?>
<tr>
<td><?= htmlspecialchars($item['name']) ?></td>
<td><?= $item['quantity'] ?></td>
<td><?= number_format($item['price'], 2) ?> €</td>
<td><?= number_format($itemTotal, 2) ?> €</td>
</tr>
<?php endforeach; ?>
</tbody>
<tfoot>
<tr>
<th colspan="3" class="text-end">Total général :</th>
<th><?= number_format($total, 2) ?> €</th>
</tr>
</tfoot>
</table>
</div>
<div class="d-flex gap-2">
<a href="<?= BASE_URL ?>" class="btn btn-secondary">Continuer les achats</a>
<button class="btn btn-success">Procéder au paiement</button>
</div>
<?php endif; ?>
</div>
</body>
</html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

View File

@@ -1 +1,5 @@
<meta http-equiv="refresh" content="0;url=/tools-hub.html"><a href="/tools-hub.html">Redirect</a>
<!DOCTYPE html><html><head><title>WEVADS DKIM</title><meta charset="utf-8"></head>
<body style="font-family:system-ui;padding:40px;background:#0a0a0a;color:#eee">
<h1>WEVADS DKIM — Moved</h1>
<p>DKIM management has moved to <a href="/api/dkim-manager.php" style="color:#ffc107">Infra Command Center</a>.</p>
</body></html>

View File

@@ -1 +1,5 @@
<meta http-equiv="refresh" content="0;url=/tools-hub.html"><a href="/tools-hub.html">Redirect</a>
<!DOCTYPE html><html><head><title>WEVADS Non-Regression</title><meta charset="utf-8"></head>
<body style="font-family:system-ui;padding:40px;background:#0a0a0a;color:#eee">
<h1>WEVADS Non-Regression — Moved</h1>
<p>Non-regression tests are now available at <a href="/nonreg.html" style="color:#ffc107">/nonreg.html</a> (153/153 live).</p>
</body></html>