diff --git a/api/blade-actions-surfaced.json b/api/blade-actions-surfaced.json
index 286cc5722..c42dbee55 100644
--- a/api/blade-actions-surfaced.json
+++ b/api/blade-actions-surfaced.json
@@ -1,15 +1,15 @@
{
- "generated_at": "2026-04-19T19:45:01.642938",
+ "generated_at": "2026-04-19T19:50:01.225679",
"stats": {
- "total": 473,
- "pending": 907,
+ "total": 474,
+ "pending": 909,
"kaouther_surfaced": 29,
"chrome_surfaced": 10,
"notif_only_done": 0,
"autofix_archived": 0,
"cerebras_archived": 0,
"older_3d_archived": 0,
- "unknown": 434,
+ "unknown": 435,
"errors": 0
},
"actions": [
diff --git a/api/blade-tasks/task_20260419175001_a30b7d.json b/api/blade-tasks/task_20260419175001_a30b7d.json
new file mode 100644
index 000000000..77b00d445
--- /dev/null
+++ b/api/blade-tasks/task_20260419175001_a30b7d.json
@@ -0,0 +1,11 @@
+{
+ "id": "task_20260419175001_a30b7d",
+ "name": "Blade self-heal 19:50",
+ "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-19T17:50:01+00:00",
+ "created_by": "blade-control-ui"
+}
\ No newline at end of file
diff --git a/api/mql-scoring-status.json b/api/mql-scoring-status.json
index fc77cba85..024db01ef 100644
--- a/api/mql-scoring-status.json
+++ b/api/mql-scoring-status.json
@@ -1,27 +1,27 @@
{
"ok": true,
"agent": "V42_MQL_Scoring_Agent_REAL",
- "ts": "2026-04-19T17:46:08+00:00",
+ "ts": "2026-04-19T17:50:01+00:00",
"status": "DEPLOYED_AUTO",
"deployed": true,
"algorithm": "weighted_behavioral_signals",
"signals_tracked": {
"wtp_engagement": 100,
- "chat_engagement": 0,
+ "chat_engagement": 24,
"roi_tool": 0,
"email_opened": 0
},
- "avg_score": 25,
+ "avg_score": 31,
"mql_threshold": 50,
"sql_threshold": 75,
"leads_captured": 48,
- "mql_auto_scored": 20,
+ "mql_auto_scored": 21,
"sql_auto_scored": 8,
- "mql_auto_pct": 41,
+ "mql_auto_pct": 43,
"improvement_vs_manual": {
"before_manual_pct": 33.3,
- "after_auto_pct": 41,
- "delta": 7.700000000000003
+ "after_auto_pct": 43,
+ "delta": 9.700000000000003
},
"paperclip_db_ok": false,
"paperclip_tables": 0,
diff --git a/erp-gap-fill-offer.html b/erp-gap-fill-offer.html
index db418c27b..b4bcd6e6a 100644
--- a/erp-gap-fill-offer.html
+++ b/erp-gap-fill-offer.html
@@ -542,5 +542,69 @@ function renderServices(){
load();
+
+
+
+