diff --git a/api/blade-tasks/heartbeat.json b/api/blade-tasks/heartbeat.json index d3432b65a..fe3835078 100644 --- a/api/blade-tasks/heartbeat.json +++ b/api/blade-tasks/heartbeat.json @@ -1,5 +1,5 @@ { - "ts": "2026-04-16T20:39:57+00:00", + "ts": "2026-04-16T20:40:52+00:00", "hostname": "blade", "cpu": "?", "ram": "?", diff --git a/api/wevia-antiregression-status.json b/api/wevia-antiregression-status.json index 1b50f37c1..80a50959e 100644 --- a/api/wevia-antiregression-status.json +++ b/api/wevia-antiregression-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 22:35:05", + "timestamp": "2026-04-16 22:40:05", "healthy": true, "issues": [], "fixes": [], diff --git a/api/wevia-auth-status.json b/api/wevia-auth-status.json index 7e8aca5a7..0b793759d 100644 --- a/api/wevia-auth-status.json +++ b/api/wevia-auth-status.json @@ -1,5 +1,5 @@ { - "timestamp": "2026-04-16 20:35:08", + "timestamp": "2026-04-16 20:40:08", "healthy": false, "checks": { "outpost": "DOWN", @@ -30,62 +30,62 @@ { "level": "critical", "msg": "Outpost DOWN 9090", - "ts": "2026-04-16T20:35:01+00:00" + "ts": "2026-04-16T20:40:01+00:00" }, { "level": "critical", "msg": "Outpost STILL DOWN", - "ts": "2026-04-16T20:35:06+00:00" + "ts": "2026-04-16T20:40:06+00:00" }, { "level": "warning", "msg": "Auth flow wevads.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:06+00:00" + "ts": "2026-04-16T20:40:07+00:00" }, { "level": "warning", "msg": "Auth flow ethica.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:07+00:00" }, { "level": "warning", "msg": "Auth flow n8n.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:07+00:00" }, { "level": "warning", "msg": "Auth flow crm.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:07+00:00" }, { "level": "warning", "msg": "Auth flow mm.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:07+00:00" }, { "level": "warning", "msg": "Auth flow analytics.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:08+00:00" }, { "level": "warning", "msg": "Auth flow deerflow.weval-consulting.com: 200", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:08+00:00" }, { "level": "warning", "msg": "Callback location missing in nginx", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:08+00:00" } ], "fixes": [ { "title": "Restart authentik", - "ts": "2026-04-16T20:35:01+00:00" + "ts": "2026-04-16T20:40:01+00:00" }, { "title": "Callback location auto-added", - "ts": "2026-04-16T20:35:07+00:00" + "ts": "2026-04-16T20:40:08+00:00" } ] } \ No newline at end of file diff --git a/api/wevia-autonomy-status.json b/api/wevia-autonomy-status.json index 58c461642..d3935453f 100644 --- a/api/wevia-autonomy-status.json +++ b/api/wevia-autonomy-status.json @@ -1,10 +1,10 @@ { - "timestamp": "2026-04-16 20:35:01", + "timestamp": "2026-04-16 20:40:01", "version": "1.0", "disk": 84, "ram": 16, "docker": 19, - "ssl_days": 354, + "ssl_days": 353, "ollama_models": 5, "arch_score": 100, "fixes_count": 0, @@ -14,26 +14,26 @@ { "level": "critical", "msg": "S204:authentik DOWN (:9090)", - "time": "20:35:01" + "time": "20:40:01" }, { "level": "warning", "msg": "Token : expired", - "time": "20:35:02" + "time": "20:40:03" }, { "level": "warning", "msg": "Token : expired", - "time": "20:35:02" + "time": "20:40:03" } ], "log": [ - "20:35:01 Disk: 84%", - "20:35:01 SSL: 354d remaining", - "20:35:01 Docker: 19 containers", - "20:35:01 Ollama: 5 models, 5.2GB", - "20:35:01 RAM: 16%", - "20:35:02 Arch score: 100\/100" + "20:40:01 Disk: 84%", + "20:40:01 SSL: 353d remaining", + "20:40:02 Docker: 19 containers", + "20:40:02 Ollama: 5 models, 5.2GB", + "20:40:02 RAM: 16%", + "20:40:03 Arch score: 100\/100" ], "s204_services": 8, "s95_mta": 5 diff --git a/api/wevia-blade-status.json b/api/wevia-blade-status.json index c3393d48e..25e89c72a 100644 --- a/api/wevia-blade-status.json +++ b/api/wevia-blade-status.json @@ -1 +1 @@ -{"ts":"22:38","status":"offline"} +{"ts":"22:40","status":"offline"} diff --git a/api/wevia-master-api.php b/api/wevia-master-api.php index b57cf7139..2adc1e83e 100644 --- a/api/wevia-master-api.php +++ b/api/wevia-master-api.php @@ -78,6 +78,12 @@ if ($_mam) { // OPUS_CONTENT_BYPASS_FP if (!($_is_content_req ?? false)) { // OPUS WIRED INTENTS — fired BEFORE fast-path-v3 (priority for: audit_6sigma, brains_status, debug_fix, send_test, new_pages) +// OPUS46 ADVANCED EXECUTION INTENTS (16AVR) +@require_once __DIR__ . "/wevia-opus46-intents.php"; +if (function_exists("wevia_opus46_exec")) { + $_o46 = wevia_opus46_exec(json_decode(file_get_contents("php://input"),true)["message"] ?? $_POST["message"] ?? $_GET["message"] ?? ""); + if ($_o46) { header("Content-Type:application/json"); echo json_encode($_o46); exit; } +} @require_once __DIR__ . "/wevia-opus-intents.php"; if (function_exists("wevia_opus_intents")) { $_oi = wevia_opus_intents(json_decode(file_get_contents("php://input"),true)["message"] ?? $_POST["message"] ?? $_GET["message"] ?? ""); diff --git a/api/wevia-opus46-intents.php b/api/wevia-opus46-intents.php new file mode 100644 index 000000000..44368b392 --- /dev/null +++ b/api/wevia-opus46-intents.php @@ -0,0 +1,139 @@ +/* L99-OVERLAP-FIX */\n.label,.tag,.badge,.tooltip{pointer-events:none;z-index:0}\ncanvas{z-index:0!important}\n\n"; + @shell_exec("sudo chattr -i $path 2>/dev/null"); + $html = str_replace("", $fix . "", $html); + file_put_contents($path, $html); + @shell_exec("sudo chattr +i $path 2>/dev/null"); + $fixed++; + } + } + return ["provider"=>"opus46","content"=>"CSS OVERLAP FIX: $fixed/" . count($pages) . " pages","tool"=>"overlap_fix"]; + } + + // INTENT: l99_run + if (preg_match("/lance\w*\s*(le\s+)?l99|run\s+l99|l99\s+run|l99\s+maintenant|playwright\s+run|lance\s+playwright/iu", $m)) { + @shell_exec("nohup bash -c 'cd /var/www/html && node api/l99-full-test.js > /tmp/l99-run.log 2>&1' &"); + return ["provider"=>"opus46","content"=>"L99 PLAYWRIGHT lance. Log: /tmp/l99-run.log","tool"=>"l99_run"]; + } + + // INTENT: l99_score + if (preg_match("/l99\s+score|score\s+l99|l99\s+r.sultat|r.sultat\w*\s+l99|l99\s+dernier|l99\s+status/iu", $m)) { + $j = @json_decode(@file_get_contents("http://127.0.0.1/api/l99-api.php?action=results"), true); + $r = "L99: Score=" . ($j["score"] ?? "?") . "% Pass=" . ($j["pass"] ?? "?") . " Warn=" . ($j["warn"] ?? "?") . " Date=" . ($j["date"] ?? "?"); + if (!empty($j["results"])) { foreach ($j["results"] as $t) { if (in_array($t["status"]??"", ["W","F"])) $r .= "\n " . $t["status"] . ":" . ($t["name"]??""); } } + return ["provider"=>"opus46","content"=>$r,"tool"=>"l99_score"]; + } + + // INTENT: git_full + if (preg_match("/git\s+(full|complet|tout)|commit\s+(et\s+)?push|push\s+tout|git\s+sync\s+(all|tout)/iu", $m)) { + $d = (int)trim(@shell_exec("cd /var/www/html && git status --short 2>&1 | wc -l")); + 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"]; + } + return ["provider"=>"opus46","content"=>"GIT: 0 dirty","tool"=>"git_full"]; + } + + // INTENT: wiki_update + if (preg_match("/wiki\s+update|update\s+wiki|maj\s+wiki|enrichi\w*\s+wiki/iu", $m)) { + $entry = preg_replace("/^.*wiki\s+\w+\s*/iu", "", $msg); + if (strlen($entry) < 10) $entry = date("Y-m-d H:i") . " session update"; + $w = "/var/www/html/wiki.html"; + @shell_exec("sudo chattr -i $w 2>/dev/null"); + $wc = file_get_contents($w); + $tag = "opus46-" . date("YmdHis"); + $card = "