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

This commit is contained in:
opus
2026-04-19 19:50:01 +02:00
parent be41b296ba
commit 2c8af1ecfd
5 changed files with 99 additions and 19 deletions

View File

@@ -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": [

View File

@@ -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"
}

View File

@@ -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,

View File

@@ -542,5 +542,69 @@ function renderServices(){
load();
</script>
<!-- V67 ERP AGENTS REGISTRY BADGE ENRICHMENT (injected by Opus 19avr) -->
<style>
.v67-badge{display:inline-block;margin-left:8px;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;background:rgba(34,197,94,.15);color:#22c55e;border:1px solid rgba(34,197,94,.3);vertical-align:middle}
.v67-savings{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:10px;font-size:.72rem;font-weight:600;background:rgba(251,191,36,.12);color:#fbbf24;border:1px solid rgba(251,191,36,.25);vertical-align:middle}
.v67-kpi{position:fixed;bottom:16px;right:16px;background:rgba(15,23,42,.92);border:1px solid rgba(148,163,184,.25);padding:10px 14px;border-radius:10px;font-size:.78rem;color:#e2e8f0;backdrop-filter:blur(8px);z-index:999;max-width:280px}
.v67-kpi b{color:#22c55e}
.v67-kpi .s{color:#fbbf24;font-weight:700}
</style>
<script>
(function(){
var tries=0,max=30;
function norm(s){return (s||'').toLowerCase().replace(/[^a-z0-9]/g,'');}
function enrich(){
tries++;
if(tries>max) return;
fetch('/api/wevia-v67-erp-agents-registry.php?t='+Date.now())
.then(r=>r.json())
.then(function(d){
if(!d||!d.agents)return;
var byName={};
d.agents.forEach(function(a){byName[norm(a.name)]=a;});
// Find all agent-name elements rendered by V65 (delayed by JS)
var items=document.querySelectorAll('.gap-item, .erp-gap, [class*="agent"], strong, .gap-row');
var hits=0;
items.forEach(function(el){
var t=(el.textContent||'').trim();
var k=norm(t);
// Try direct match or contains
var match=byName[k];
if(!match){
for(var key in byName){
if(k.length>8 && (k.indexOf(key)>=0 || key.indexOf(k)>=0)){match=byName[key];break;}
}
}
if(match && !el.querySelector('.v67-badge')){
var b=document.createElement('span');
b.className='v67-badge';
b.textContent='✅ Registered';
b.title='Agent V67 registry • dept: '+match.department;
var s=document.createElement('span');
s.className='v67-savings';
s.textContent='💰 '+Math.round((match.savings_eur_year||0)/1000)+'k€/an';
el.appendChild(b);el.appendChild(s);
hits++;
}
});
if(hits===0 && tries<max){setTimeout(enrich,800);return;}
// Global KPI card
if(!document.getElementById('v67-kpi')){
var k=document.createElement('div');
k.id='v67-kpi';k.className='v67-kpi';
k.innerHTML='<div><b>V67 Registry</b> — '+d.erp_agents+' ERP agents / '+d.total_agents+' total</div>'+
'<div>Savings potentiel : <span class="s">'+(d.savings_eur_year_total/1000000).toFixed(2)+' M€/an</span></div>'+
'<div style="opacity:.7;font-size:.7rem;margin-top:4px">Paperclip source-of-truth • API V67</div>';
document.body.appendChild(k);
}
}).catch(function(e){if(tries<max)setTimeout(enrich,1000);});
}
// Start after initial V65 render
if(document.readyState==='complete') setTimeout(enrich,1500);
else window.addEventListener('load',function(){setTimeout(enrich,1500);});
})();
</script>
</body>
</html>

View File

@@ -144,25 +144,30 @@ header .pitch {
.spinner { width: 42px; height: 42px; border: 3px solid var(--bg-3); border-top-color: var(--accent); border-radius: 50%; margin: 0 auto 18px; animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
/* === OPUS RESPONSIVE FIX 19avr — append-only, doctrine #14 === */
/* === OPUS RESPONSIVE FIX v2 19avr — append-only, doctrine #14 === */
@media(max-width: 480px) {
.container { padding: 16px 12px 40px; }
header h1 { font-size: 22px; }
header .sub { font-size: 12.5px; }
html, body { overflow-x: hidden; max-width: 100vw; }
.container { padding: 16px 12px 40px; max-width: 100vw; }
header, header > * { width: 100%; max-width: 100%; }
header h1 { font-size: 22px; word-break: break-word; }
header .sub { font-size: 12.5px; word-break: break-word; max-width: 100%; }
.pitch, header .pitch { word-break: break-word; overflow-wrap: anywhere; font-size: 12px; }
.kpi-strip { grid-template-columns: 1fr; gap: 10px; }
.erp-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
.pp-grid { grid-template-columns: 1fr; gap: 12px; }
.filter-bar { gap: 4px; }
.dogfood { padding: 16px; }
.filter-bar { gap: 4px; flex-wrap: wrap; }
.dogfood { padding: 16px; grid-template-columns: 1fr; }
.dogfood .icon { font-size: 36px; }
.dogfood .stat-v { font-size: 20px; }
.actions { flex-wrap: wrap; }
.actions { flex-wrap: wrap; width: 100%; }
.actions .btn { font-size: 11.5px; padding: 6px 10px; }
.pp-card, .erp-card { max-width: 100%; word-break: break-word; }
pre, code { word-break: break-all; white-space: pre-wrap; }
}
@media(max-width: 360px) {
.erp-grid { grid-template-columns: 1fr; }
}
/* === OPUS RESPONSIVE FIX END === */
/* === OPUS RESPONSIVE FIX v2 END === */
</style>
</head>
<body>