diff --git a/api/blade-actions-surfaced.json b/api/blade-actions-surfaced.json index 1df67eece..35d2c90e6 100644 --- a/api/blade-actions-surfaced.json +++ b/api/blade-actions-surfaced.json @@ -1,15 +1,15 @@ { - "generated_at": "2026-04-19T22:50:02.226201", + "generated_at": "2026-04-19T22:55:01.835687", "stats": { - "total": 507, - "pending": 975, + "total": 508, + "pending": 977, "kaouther_surfaced": 29, "chrome_surfaced": 10, "notif_only_done": 0, "autofix_archived": 0, "cerebras_archived": 0, "older_3d_archived": 0, - "unknown": 468, + "unknown": 469, "errors": 0 }, "actions": [ diff --git a/api/blade-tasks/task_20260419205501_103401.json b/api/blade-tasks/task_20260419205501_103401.json new file mode 100644 index 000000000..f6497ae79 --- /dev/null +++ b/api/blade-tasks/task_20260419205501_103401.json @@ -0,0 +1,11 @@ +{ + "id": "task_20260419205501_103401", + "name": "Blade self-heal 22:55", + "type": "powershell", + "command": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n", + "cmd": "\n# Blade self-heal\nWrite-Host \"Self-heal triggered $(Get-Date)\"\n$agentProc = Get-Process powershell | Where-Object { $_.CommandLine -match 'sentinel-agent' }\nif (!$agentProc) {\n Write-Host \"Agent not running, starting...\"\n Start-Process powershell -ArgumentList \"-ExecutionPolicy\",\"Bypass\",\"-File\",\"C:\\ProgramData\\WEVAL\\sentinel-agent.ps1\" -WindowStyle Hidden\n}\n# Clear stale tasks > 3 days locally\n$cutoff = (Get-Date).AddDays(-3)\nGet-ChildItem \"C:\\ProgramData\\WEVAL\\tasks\\*.json\" -ErrorAction SilentlyContinue | Where-Object { $_.LastWriteTime -lt $cutoff } | Move-Item -Destination \"C:\\ProgramData\\WEVAL\\tasks\\archived\\\" -Force -ErrorAction SilentlyContinue\nWrite-Host \"Self-heal complete\"\n", + "priority": "high", + "status": "pending", + "created": "2026-04-19T20:55:01+00:00", + "created_by": "blade-control-ui" +} \ No newline at end of file diff --git a/api/handlers/blade-wake-instructions.sh b/api/handlers/blade-wake-instructions.sh new file mode 100755 index 000000000..9785dca2d --- /dev/null +++ b/api/handlers/blade-wake-instructions.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Opus 19avr: Blade wake instructions +cat <220h offline)", + "instructions_for_yacine": [ + "1. Open PowerShell as Administrator on Razer laptop", + "2. Run: Start-Service WevalSentinel", + "3. Run: & 'C:\\ProgramData\\WEVAL\\sentinel-agent.ps1'", + "4. Run: Start-ScheduledTask WEVAL-Sentinel", + "5. Verify on dashboard: blade heartbeat should refresh within 30s" + ], + "impact_if_not_waken": "loses only local Razer dev monitoring - production unaffected", + "alternative": "Remote wake via WOL is not configured - PowerShell admin required locally", + "ts": "$(date -Iseconds)" +} +EOF diff --git a/api/v83-business-kpi-latest.json b/api/v83-business-kpi-latest.json index 8931ad54f..590f23fa6 100644 --- a/api/v83-business-kpi-latest.json +++ b/api/v83-business-kpi-latest.json @@ -1,7 +1,7 @@ { "ok": true, "version": "V83-business-kpi", - "ts": "2026-04-19T20:54:46+00:00", + "ts": "2026-04-19T20:56:36+00:00", "summary": { "total_categories": 7, "total_kpis": 56, diff --git a/api/wave-wiring-queue.json b/api/wave-wiring-queue.json index f3d54589a..66e35bdd5 100644 --- a/api/wave-wiring-queue.json +++ b/api/wave-wiring-queue.json @@ -5292,5 +5292,19 @@ "status": "PENDING_APPROVAL", "created_at": "2026-04-19T20:46:08+00:00", "source": "opus4-autowire-early-v2" + }, + "398": { + "name": "blade_wake", + "triggers": [ + "blade wake", + "wake blade", + "blade instructions", + "blade restart", + "blade help" + ], + "cmd": "\/var\/www\/html\/api\/handlers\/blade-wake-instructions.sh", + "status": "PENDING_APPROVAL", + "created_at": "2026-04-19T20:56:43+00:00", + "source": "opus4-autowire-early-v2" } } \ No newline at end of file diff --git a/api/wired-pending/intent-opus4-blade_wake.php b/api/wired-pending/intent-opus4-blade_wake.php index 344bfb6c0..9c0a69e12 100644 --- a/api/wired-pending/intent-opus4-blade_wake.php +++ b/api/wired-pending/intent-opus4-blade_wake.php @@ -1,25 +1,16 @@ 'blade_wake', 'triggers' => array ( 0 => 'blade wake', 1 => 'wake blade', - 2 => 'reveille blade', + 2 => 'blade instructions', + 3 => 'blade restart', + 4 => 'blade help', ), - 'cmd' => 'curl -sk https://weval-consulting.com/api/opus5-blade-wake.php', + 'cmd' => '/var/www/html/api/handlers/blade-wake-instructions.sh', 'status' => 'EXECUTED', - 'created_at' => '2026-04-18T13:02:19+00:00', + 'created_at' => '2026-04-19T20:56:43+00:00', 'source' => 'opus4-autowire-early-v2', - 'executed_at' => '2026-04-19T16:02:52+00:00', - 'out_preview' => '{ - "ts": "2026-04-19T16:02:51+00:00", - "source": "opus5-blade-wake", - "last_seen": "2026-04-10T15:51:59+00:00", - "age_hours": 216.2, - "verdict": "DEAD", - "wake_instructions": { - ', - 'ms' => 424.0, ); diff --git a/ethica-drill.html b/ethica-drill.html index a5de35f9e..baac0dcc6 100644 --- a/ethica-drill.html +++ b/ethica-drill.html @@ -7,4 +7,8 @@

Ethica Drill Dashboard

Redirection vers Ethica Dashboard Live...

+ + + + \ No newline at end of file diff --git a/ethica-sms.html b/ethica-sms.html index 7a74a3e3c..0d097591c 100644 --- a/ethica-sms.html +++ b/ethica-sms.html @@ -4,4 +4,8 @@

📱 Ethica SMS Campaign

Campagne SMS HCP · Ethica Maghreb. Redirection dashboard live...

+ + + + \ No newline at end of file diff --git a/marketplace.html b/marketplace.html index 979ad96b4..33a98fa8e 100644 --- a/marketplace.html +++ b/marketplace.html @@ -1,4 +1,8 @@ WEVAL Marketplace -

Redirection vers Marketplace

\ No newline at end of file +

Redirection vers Marketplace

+ + + + \ No newline at end of file diff --git a/tasks-live-opus5.html b/tasks-live-opus5.html index a9dc800a1..f86ed302f 100644 --- a/tasks-live-opus5.html +++ b/tasks-live-opus5.html @@ -37,7 +37,7 @@ h2{color:#c084fc;margin-top:20px;font-size:18px;font-weight:500}
Avg latency
Ethica HCPs
156 714
NR status
153/153
-
L99 status
304/304
+
L99 status
chargement...
Blade
checking...
diff --git a/tasks-live-opus5.html.gold-placeholder-fix-19avr b/tasks-live-opus5.html.gold-placeholder-fix-19avr new file mode 100644 index 000000000..a9dc800a1 --- /dev/null +++ b/tasks-live-opus5.html.gold-placeholder-fix-19avr @@ -0,0 +1,272 @@ + + +WEVAL Tasks Live Opus5 + + +
+

Tasks Live Opus5 Dispatch-Proxy Monitor

+

Connected to /api/opus5-task-log.php auto-refresh 5s streaming ready

+ +
+
Events tracked
+
Dispatches
+
Proxy (master-api)
+
Avg latency
+
Ethica HCPs
156 714
+
NR status
153/153
+
L99 status
304/304
+
Blade
checking...
+
+ +

Quick triggers (one-click test)

+
+ + + + + + + + +
+ + +

Recent events (live)

+
+
+ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/wevia-admin.html b/wevia-admin.html index 985563cc5..754d043fa 100644 --- a/wevia-admin.html +++ b/wevia-admin.html @@ -1 +1,4 @@ -Redirect \ No newline at end of file +Redirect + + + diff --git a/wevia-control-center.html b/wevia-control-center.html index 4d34d5467..228eaa354 100644 --- a/wevia-control-center.html +++ b/wevia-control-center.html @@ -1 +1,4 @@ -Redirect \ No newline at end of file +Redirect + + + diff --git a/wevia-dashboard.html b/wevia-dashboard.html index 985563cc5..754d043fa 100644 --- a/wevia-dashboard.html +++ b/wevia-dashboard.html @@ -1 +1,4 @@ -Redirect \ No newline at end of file +Redirect + + + diff --git a/wevia-monitor.html b/wevia-monitor.html index 985563cc5..754d043fa 100644 --- a/wevia-monitor.html +++ b/wevia-monitor.html @@ -1 +1,4 @@ -Redirect \ No newline at end of file +Redirect + + +