V9.62 Force autonomy-controller refresh - alerts stale showed 8 (S95 pmta kumomta postfix sentinel adx DOWN false positives) - S95 ports actually OPEN verified 5890 5821 5432 49222 all listening - autonomy-status.json stale 1h57 from 08:10 transient blip - manual force run PHP wevia-autonomy-controller - alerts back to 3 (tokens only) - cron every 5 min runs correctly per syslog just log write skipped some minutes - doctrine 13 cause racine log buffering vs stale json
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
This commit is contained in:
@@ -66,6 +66,13 @@ main{flex:1;display:flex;flex-direction:column;padding:16px 20px;max-width:1400p
|
||||
.orch-agent:hover{border-color:var(--cy);color:var(--t)}
|
||||
.orch-agent .d{width:5px;height:5px;border-radius:50%;background:var(--gr);flex-shrink:0}
|
||||
footer{padding:8px 18px;background:var(--bg2);border-top:1px solid var(--rim);font-size:9px;color:var(--dm);letter-spacing:.3px;display:flex;justify-content:space-between}
|
||||
|
||||
/* V122-POLISH: subtle animations + smooth transitions */
|
||||
#v-dashboards .dash-tile:focus{outline:2px solid var(--vl);outline-offset:2px}
|
||||
#v-dashboards #dash-search{transition:border-color 0.15s ease,box-shadow 0.15s ease}
|
||||
#v-dashboards #dash-search:focus{outline:none;border-color:var(--vl);box-shadow:0 0 0 3px rgba(132,110,255,0.2)}
|
||||
#v-dashboards #dash-grid{animation:fadeIn 0.2s ease}
|
||||
@keyframes fadeIn{from{opacity:0.4}to{opacity:1}}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
@@ -331,11 +338,11 @@ footer{padding:8px 18px;background:var(--bg2);border-top:1px solid var(--rim);fo
|
||||
<div class="orch-agents" id="orch-agents"></div>
|
||||
</section>
|
||||
|
||||
<!-- V116-DASHBOARDS-TAB: consolidated dashboards view -->
|
||||
<!-- V116-DASHBOARDS-TAB + V122-POLISH: consolidated dashboards view -->
|
||||
<section class="view" id="v-dashboards">
|
||||
<h2 style="color:var(--vl);margin-bottom:10px">📊 Dashboards Consolidés — 70 tuiles reliées</h2>
|
||||
<p style="color:var(--mu);margin-bottom:16px;font-size:12px">Point d'entrée unique pour tous les dashboards. Filtrer par catégorie. Tous les orphelins reliés (doctrine pas d'orphelin).</p>
|
||||
<div id="dash-filters" style="display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px">
|
||||
<div id="dash-filters" style="display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px;position:sticky;top:0;background:var(--bg);z-index:10;padding:8px 0;border-bottom:1px solid var(--bd)">
|
||||
<button class="mode dash-filter on" data-cat="all">Loading...</button>
|
||||
</div>
|
||||
<!-- V119-SEARCH: search + sort controls -->
|
||||
@@ -746,7 +753,7 @@ function renderDashGrid(items, cat){
|
||||
return '<span style="color:#ef4444;font-size:9px;margin-left:4px">● '+s+'</span>';
|
||||
}
|
||||
box.innerHTML = filtered.map(e =>
|
||||
'<a href="'+e.url+'" target="_blank" style="text-decoration:none;color:inherit;display:block;padding:10px;background:linear-gradient(135deg,'+e.color+'22,'+e.color+'11);border:1px solid '+e.color+'55;border-radius:6px">' +
|
||||
'<a href="'+e.url+'" target="_blank" class="dash-tile" style="text-decoration:none;color:inherit;display:block;padding:10px;background:linear-gradient(135deg,'+e.color+'22,'+e.color+'11);border:1px solid '+e.color+'55;border-radius:6px;transition:transform 0.15s ease,border-color 0.15s ease,box-shadow 0.15s ease" onmouseover="this.style.transform=\'translateY(-2px)\';this.style.borderColor=\''+e.color+'\';this.style.boxShadow=\'0 4px 12px '+e.color+'33\'" onmouseout="this.style.transform=\'\';this.style.borderColor=\''+e.color+'55\';this.style.boxShadow=\'\'">' +
|
||||
'<div style="font-size:18px;margin-bottom:4px">'+e.icon+' <span style="font-size:9px;color:'+e.color+';text-transform:uppercase">'+e.category+'</span>'+statusBadge(e.http_status)+'</div>' +
|
||||
'<div style="font-size:11px;font-weight:bold;line-height:1.3;margin-bottom:4px">'+e.display+'</div>' +
|
||||
'<div style="font-size:9px;color:var(--mu)">'+e.name+' - '+e.size_kb+'KB</div>' +
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"agent": "V41_Risk_Escalation",
|
||||
"ts": "2026-04-21T10:00:04+02:00",
|
||||
"ts": "2026-04-21T10:15:03+02:00",
|
||||
"dg_alerts_active": 7,
|
||||
"wevia_life_stats_preview": "{
|
||||
"ok": true,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated_at": "2026-04-21T10:10:01.915981",
|
||||
"generated_at": "2026-04-21T10:15:01.982937",
|
||||
"stats": {
|
||||
"total": 48,
|
||||
"pending": 31,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"status": "ALIVE",
|
||||
"ts": "2026-04-21T10:00:01.726981",
|
||||
"last_heartbeat": "2026-04-21T10:00:01.726981",
|
||||
"last_heartbeat_ts_epoch": 1776758401,
|
||||
"ts": "2026-04-21T10:15:02.264614",
|
||||
"last_heartbeat": "2026-04-21T10:15:02.264614",
|
||||
"last_heartbeat_ts_epoch": 1776759302,
|
||||
"tasks_today": 232,
|
||||
"tasks_week": 574,
|
||||
"agent_id": "blade-ops",
|
||||
|
||||
BIN
api/blade-tasks/v122-polish-proof/01-dashboards-polish.png
Normal file
BIN
api/blade-tasks/v122-polish-proof/01-dashboards-polish.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 819 KiB |
BIN
api/blade-tasks/v122-polish-proof/02-hover.png
Normal file
BIN
api/blade-tasks/v122-polish-proof/02-hover.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 553 KiB |
BIN
api/blade-tasks/v122-polish-proof/03-scrolled.png
Normal file
BIN
api/blade-tasks/v122-polish-proof/03-scrolled.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 644 KiB |
Binary file not shown.
10
api/blade-tasks/v122-polish-proof/proof.json
Normal file
10
api/blade-tasks/v122-polish-proof/proof.json
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"v122": "polish-smoke",
|
||||
"chat_on": true,
|
||||
"caps_count": 21,
|
||||
"dashboards_tiles": 69,
|
||||
"has_sticky_filters": true,
|
||||
"has_dash_tile_class": 69,
|
||||
"js_errors": [],
|
||||
"VERDICT": "OK"
|
||||
}
|
||||
@@ -0,0 +1,281 @@
|
||||
{
|
||||
"ts": "2026-04-21T08:15:01+00:00",
|
||||
"server": "s204",
|
||||
"s204": {
|
||||
"load": 2.2,
|
||||
"uptime": "2026-04-14 11:51:24",
|
||||
"ram_total_mb": 31335,
|
||||
"ram_used_mb": 12556,
|
||||
"ram_free_mb": 18778,
|
||||
"disk_total": "150G",
|
||||
"disk_used": "116G",
|
||||
"disk_free": "29G",
|
||||
"disk_pct": "81%",
|
||||
"fpm_workers": 140,
|
||||
"docker_containers": 19,
|
||||
"cpu_cores": 8
|
||||
},
|
||||
"s95": {
|
||||
"load": 0.83,
|
||||
"disk_pct": "81%",
|
||||
"status": "UP",
|
||||
"ram_total_mb": 15610,
|
||||
"ram_free_mb": 12052
|
||||
},
|
||||
"pmta": [
|
||||
{
|
||||
"name": "SER6",
|
||||
"ip": "110.239.84.121",
|
||||
"status": "DOWN"
|
||||
},
|
||||
{
|
||||
"name": "SER7",
|
||||
"ip": "110.239.65.64",
|
||||
"status": "DOWN"
|
||||
},
|
||||
{
|
||||
"name": "SER8",
|
||||
"ip": "182.160.55.107",
|
||||
"status": "DOWN"
|
||||
},
|
||||
{
|
||||
"name": "SER9",
|
||||
"ip": "110.239.86.68",
|
||||
"status": "DOWN"
|
||||
}
|
||||
],
|
||||
"assets": {
|
||||
"html_pages": 293,
|
||||
"php_apis": 774,
|
||||
"wiki_entries": 1928,
|
||||
"vault_doctrines": 59,
|
||||
"vault_sessions": 104,
|
||||
"vault_decisions": 12
|
||||
},
|
||||
"tools": {
|
||||
"total": 627,
|
||||
"registry_version": "?"
|
||||
},
|
||||
"sovereign": {
|
||||
"status": "UP",
|
||||
"providers": [
|
||||
"Cerebras-fast",
|
||||
"Cerebras-think",
|
||||
"Groq",
|
||||
"Cloudflare-AI",
|
||||
"Gemini",
|
||||
"SambaNova",
|
||||
"NVIDIA-NIM",
|
||||
"Mistral",
|
||||
"Groq-OSS",
|
||||
"HF-Space",
|
||||
"HF-Router",
|
||||
"OpenRouter",
|
||||
"GitHub-Models"
|
||||
],
|
||||
"active": 13,
|
||||
"total": 13,
|
||||
"primary": "Cerebras-fast",
|
||||
"cost": "0€"
|
||||
},
|
||||
"ethica": {
|
||||
"total_hcps": 161733,
|
||||
"with_email": 110582,
|
||||
"with_phone": 155151,
|
||||
"gap_email": 51151,
|
||||
"pct_email": 68.4,
|
||||
"pct_phone": 95.9,
|
||||
"by_country": [
|
||||
{
|
||||
"country": "DZ",
|
||||
"hcps": 122337,
|
||||
"with_email": 78486,
|
||||
"with_tel": 119396,
|
||||
"pct_email": 64.2,
|
||||
"pct_tel": 97.6
|
||||
},
|
||||
{
|
||||
"country": "MA",
|
||||
"hcps": 19723,
|
||||
"with_email": 15074,
|
||||
"with_tel": 18737,
|
||||
"pct_email": 76.4,
|
||||
"pct_tel": 95
|
||||
},
|
||||
{
|
||||
"country": "TN",
|
||||
"hcps": 17794,
|
||||
"with_email": 15143,
|
||||
"with_tel": 17018,
|
||||
"pct_email": 85.1,
|
||||
"pct_tel": 95.6
|
||||
},
|
||||
{
|
||||
"country": "INTL",
|
||||
"hcps": 1879,
|
||||
"with_email": 1879,
|
||||
"with_tel": 0,
|
||||
"pct_email": 100,
|
||||
"pct_tel": 0
|
||||
}
|
||||
]
|
||||
},
|
||||
"docker": [
|
||||
{
|
||||
"name": "loki",
|
||||
"status": "Up 4 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "listmonk",
|
||||
"status": "Up 4 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "plausible-plausible-1",
|
||||
"status": "Up 3 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "plausible-plausible-db-1",
|
||||
"status": "Up 3 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "plausible-plausible-events-db-1",
|
||||
"status": "Up 3 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "n8n-docker-n8n-1",
|
||||
"status": "Up 5 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "mattermost-docker-mm-db-1",
|
||||
"status": "Up 5 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "mattermost-docker-mattermost-1",
|
||||
"status": "Up 5 days (healthy)",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "twenty",
|
||||
"status": "Up 4 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "twenty-redis",
|
||||
"status": "Up 5 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "langfuse",
|
||||
"status": "Up 5 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "redis-weval",
|
||||
"status": "Up 6 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "gitea",
|
||||
"status": "Up 6 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "node-exporter",
|
||||
"status": "Up 6 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "prometheus",
|
||||
"status": "Up 6 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "searxng",
|
||||
"status": "Up 6 days",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "uptime-kuma",
|
||||
"status": "Up 32 hours (healthy)",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "vaultwarden",
|
||||
"status": "Up 6 days (healthy)",
|
||||
"ports": ""
|
||||
},
|
||||
{
|
||||
"name": "qdrant",
|
||||
"status": "Up 6 days",
|
||||
"ports": ""
|
||||
}
|
||||
],
|
||||
"crons": {
|
||||
"active": 35
|
||||
},
|
||||
"git": {
|
||||
"head": "39e6a97da auto-sync-1015",
|
||||
"dirty": 4,
|
||||
"status": "DIRTY"
|
||||
},
|
||||
"nonreg": {
|
||||
"total": 153,
|
||||
"passed": 153,
|
||||
"score": "100%"
|
||||
},
|
||||
"services": [
|
||||
{
|
||||
"name": "DeerFlow",
|
||||
"port": 3002,
|
||||
"status": "UP"
|
||||
},
|
||||
{
|
||||
"name": "DeerFlow API",
|
||||
"port": 8001,
|
||||
"status": "UP"
|
||||
},
|
||||
{
|
||||
"name": "Qdrant",
|
||||
"port": 6333,
|
||||
"status": "UP"
|
||||
},
|
||||
{
|
||||
"name": "Ollama",
|
||||
"port": 11434,
|
||||
"status": "UP"
|
||||
},
|
||||
{
|
||||
"name": "Redis",
|
||||
"port": 6379,
|
||||
"status": "UP"
|
||||
},
|
||||
{
|
||||
"name": "Sovereign",
|
||||
"port": 4000,
|
||||
"status": "UP"
|
||||
},
|
||||
{
|
||||
"name": "SearXNG",
|
||||
"port": 8080,
|
||||
"status": "UP"
|
||||
}
|
||||
],
|
||||
"whisper": {
|
||||
"binary": "COMPILED",
|
||||
"model": "142MB"
|
||||
},
|
||||
"grand_total": 3700,
|
||||
"health": {
|
||||
"score": 5,
|
||||
"max": 6,
|
||||
"pct": 83
|
||||
},
|
||||
"elapsed_ms": 11766
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"ok": true,
|
||||
"version": "V83-business-kpi",
|
||||
"ts": "2026-04-21T08:13:44+00:00",
|
||||
"ts": "2026-04-21T08:15:17+00:00",
|
||||
"summary": {
|
||||
"total_categories": 8,
|
||||
"total_kpis": 64,
|
||||
|
||||
Reference in New Issue
Block a user