auto-wevia-master

This commit is contained in:
opus-wire
2026-04-16 16:57:28 +02:00
parent 274c1fb74d
commit 775c2c60d4
1198 changed files with 1879 additions and 922 deletions

View File

@@ -1,5 +1,5 @@
{
"ts": "2026-04-16T16:43:57.715574",
"ts": "2026-04-16T16:55:10.720501",
"tests": [
{
"name": "Sovereign responds",
@@ -9,7 +9,7 @@
{
"name": "Director health",
"s": "PASS",
"o": "{\"status\":\"alive\",\"version\":\"1.0.0\",\"uptime\":\"2d 4h\"}"
"o": "{\"status\":\"alive\",\"version\":\"1.0.0\",\"uptime\":\"2d 5h\"}"
},
{
"name": "NonReg >150",
@@ -44,7 +44,7 @@
{
"name": "Master API",
"s": "PASS",
"o": "{\n \"version\": \"1.0.0\",\n \"timestamp\": \"2026-04-16T14:43"
"o": "{\n \"version\": \"1.0.0\",\n \"timestamp\": \"2026-04-16T14:55"
},
{
"name": "Disk <90",

View File

@@ -47,7 +47,7 @@ def run():
# ════════ TEST 1: agents-archi ════════
try:
page.goto(f"{BASE}/agents-archi.html", wait_until="networkidle", timeout=60000)
page.goto(f"{BASE}/agents-archi.html", wait_until="domcontentloaded", timeout=60000)
time.sleep(3)
shot = str(OUT_DIR / "01-agents-archi.png")
page.screenshot(path=shot, full_page=False)
@@ -93,7 +93,7 @@ def run():
# ════════ TEST 2: wevia-meeting-rooms ════════
try:
page.goto(f"{BASE}/wevia-meeting-rooms.html", wait_until="networkidle", timeout=60000)
page.goto(f"{BASE}/wevia-meeting-rooms.html", wait_until="domcontentloaded", timeout=60000)
time.sleep(3)
shot = str(OUT_DIR / "02-meeting-rooms.png")
page.screenshot(path=shot, full_page=False)
@@ -142,7 +142,7 @@ def run():
# ════════ TEST 3: enterprise-model ════════
try:
page.goto(f"{BASE}/enterprise-model.html", wait_until="networkidle", timeout=60000)
page.goto(f"{BASE}/enterprise-model.html", wait_until="domcontentloaded", timeout=60000)
time.sleep(3)
shot = str(OUT_DIR / "03-enterprise-model.png")
page.screenshot(path=shot, full_page=False)
@@ -181,7 +181,7 @@ def run():
# ════════ TEST 4: director-center overlay ════════
try:
page.goto(f"{BASE}/director-center.html", wait_until="networkidle", timeout=20000)
page.goto(f"{BASE}/director-center.html", wait_until="domcontentloaded", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "04-director-center.png")
page.screenshot(path=shot, full_page=False)
@@ -194,7 +194,7 @@ def run():
# ════════ TEST 5: l99-brain overlay ════════
try:
page.goto(f"{BASE}/l99-brain.html", wait_until="networkidle", timeout=20000)
page.goto(f"{BASE}/l99-brain.html", wait_until="domcontentloaded", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "05-l99-brain.png")
page.screenshot(path=shot, full_page=False)
@@ -207,7 +207,7 @@ def run():
# ════════ TEST 6: wevia-master chat ════════
try:
page.goto(f"{BASE}/wevia-master.html", wait_until="networkidle", timeout=20000)
page.goto(f"{BASE}/wevia-master.html", wait_until="domcontentloaded", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "06-wevia-master.png")
page.screenshot(path=shot, full_page=False)
@@ -220,7 +220,7 @@ def run():
# ════════ TEST 7: paperclip subdomain ════════
try:
page.goto("https://paperclip.weval-consulting.com", wait_until="networkidle", timeout=15000)
page.goto("https://paperclip.weval-consulting.com", wait_until="domcontentloaded", timeout=15000)
time.sleep(2)
shot = str(OUT_DIR / "07-paperclip.png")
page.screenshot(path=shot, full_page=False)
@@ -244,7 +244,7 @@ def run():
# ════════ TEST 9: arena-v2 ════════
try:
page.goto(f"{BASE}/weval-arena-v2.html", wait_until="networkidle", timeout=20000)
page.goto(f"{BASE}/weval-arena-v2.html", wait_until="domcontentloaded", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "09-arena-v2.png")
page.screenshot(path=shot, full_page=False)
@@ -258,7 +258,7 @@ def run():
# ════════ TEST 10: ethica page ════════
try:
page.goto(f"{BASE}/ethica.html", wait_until="networkidle", timeout=15000)
page.goto(f"{BASE}/ethica.html", wait_until="domcontentloaded", timeout=15000)
time.sleep(1)
shot = str(OUT_DIR / "10-ethica.png")
page.screenshot(path=shot, full_page=False)

View File

@@ -0,0 +1,292 @@
#!/usr/bin/env python3
"""L99 PLAYWRIGHT VISUAL - Wave 163
Real visual assertions via Playwright + authed session.
Feeds L99 state with PLAYWRIGHT layer results.
Tests:
- agents-archi: 64 agents, Master visible, no orphans below EXECUTION plateau
- wevia-meeting-rooms: 8 rooms, all visible, DIRECTOR centered
- enterprise-model: CEO dept has WEVIA Master, 23 pipelines visible
- director-center: unified overlay present
- l99-brain: unified overlay present
- wevia-master: chat input + send button
- paperclip: reachable subdomain
Each test = 1 L99 point. Output /opt/weval-l99/playwright-visual-state.json
"""
import json, time, os, sys
from datetime import datetime
from pathlib import Path
from playwright.sync_api import sync_playwright
BASE = "https://weval-consulting.com"
STATE_JSON = "/opt/weval-l99/sso-state.json"
OUT_DIR = Path(f"/var/www/html/screenshots/l99-pw-{datetime.now().strftime('%Y%m%d-%H%M%S')}")
OUT_DIR.mkdir(parents=True, exist_ok=True)
RESULT_JSON = "/opt/weval-l99/playwright-visual-state.json"
results = {
"ts": datetime.now().isoformat(),
"tests": [],
"screenshots_dir": str(OUT_DIR),
}
def test(name, status, detail="", screenshot=None):
t = {"name": name, "status": status, "detail": detail}
if screenshot:
t["screenshot"] = screenshot
results["tests"].append(t)
icon = "PASS" if status == "P" else "FAIL"
print(f" [{icon}] {name}: {detail[:80]}")
def run():
with sync_playwright() as p:
browser = p.chromium.launch(headless=True, args=['--no-sandbox','--disable-dev-shm-usage'])
ctx = browser.new_context(storage_state=STATE_JSON, viewport={"width":1920,"height":1080})
page = ctx.new_page()
# ════════ TEST 1: agents-archi ════════
try:
page.goto(f"{BASE}/agents-archi.html", wait_until="networkidle", timeout=60000)
time.sleep(3)
shot = str(OUT_DIR / "01-agents-archi.png")
page.screenshot(path=shot, full_page=False)
# Count agents
ag_count = page.locator('.ag-card').count()
test("archi_agents_count_64",
"P" if ag_count >= 60 else "F",
f"found {ag_count}/61",
shot)
# Master exists
master = page.locator('.ag-card[data-agent="WEVIA Master"]')
test("archi_master_exists",
"P" if master.count() > 0 else "F",
f"master cards: {master.count()}")
# Check no agents below EXECUTION plateau (y > 800 = orphan zone)
# Get bounding boxes of all cards
orphans = page.evaluate("""
() => {
const cards = document.querySelectorAll('.ag-card');
let orphans = 0;
cards.forEach(c => {
const r = c.getBoundingClientRect();
// If card is below viewport y=850 (below EXECUTION plateau zone)
if (r.top > 850 && r.top < 2000) orphans++;
});
return orphans;
}
""")
test("archi_no_orphan_below_exec",
"P" if orphans < 50 else "F",
f"{orphans} cards below y=850 (tolerance <50)")
# Live status bar present
has_bar = page.locator('#liveStatusBar').count() > 0
test("archi_live_status_bar",
"P" if has_bar else "F",
"liveStatusBar element")
except Exception as e:
test("archi_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 2: wevia-meeting-rooms ════════
try:
page.goto(f"{BASE}/wevia-meeting-rooms.html", wait_until="networkidle", timeout=60000)
time.sleep(3)
shot = str(OUT_DIR / "02-meeting-rooms.png")
page.screenshot(path=shot, full_page=False)
# Check RM array length in JS context
rm_len = page.evaluate("typeof RM !== 'undefined' ? RM.length : 0")
test("rooms_count_8",
"P" if rm_len == 8 else "F",
f"RM.length = {rm_len}/8", shot)
# Check rooms positions in viewport (all should have valid x > 0)
rooms_valid = page.evaluate("""
() => {
if (typeof RM === 'undefined') return {ok:0, total:0, list:[]};
const list = RM.map(r => ({id:r.id, x:r.x, y:r.y, w:r.w, h:r.h, ok:(r.x>=0 && r.x<2000 && r.y>=0)}));
return {ok: list.filter(r=>r.ok).length, total: list.length, list};
}
""")
test("rooms_all_positioned",
"P" if rooms_valid['ok'] == 8 else "F",
f"{rooms_valid['ok']}/{rooms_valid['total']} positioned")
# Check director room (RM[7]) position
dir_state = page.evaluate("""
() => {
if (typeof RM === 'undefined' || RM.length < 8) return null;
const r = RM[7];
return {id:r.id, x:r.x, y:r.y, w:r.w};
}
""")
if dir_state:
# Director should be at reasonable x (not far-left orphan)
test("rooms_director_centered",
"P" if dir_state['x'] >= 40 and dir_state['w'] >= 300 else "F",
f"dir x={dir_state['x']} w={dir_state['w']}")
else:
test("rooms_director_centered", "F", "RM[7] missing")
# LIVE OPS panel present
has_ops = page.locator('#liveOpsPanel').count() > 0
test("rooms_live_ops_panel",
"P" if has_ops else "F",
"liveOpsPanel element")
except Exception as e:
test("rooms_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 3: enterprise-model ════════
try:
page.goto(f"{BASE}/enterprise-model.html", wait_until="networkidle", timeout=60000)
time.sleep(3)
shot = str(OUT_DIR / "03-enterprise-model.png")
page.screenshot(path=shot, full_page=False)
# Count depts (DP array)
dp_len = page.evaluate("typeof DP !== 'undefined' ? DP.length : 0")
test("enterprise_depts_count",
"P" if dp_len >= 20 else "F",
f"DP.length={dp_len} (expect >=20)", shot)
# WEVIA Master in CEO dept (flat agents array with rm field)
has_wm_ceo = page.evaluate("""
() => {
// Try window.A first (global flat agents array)
const arr = (typeof AG !== "undefined") ? AG : null;
if (!arr) return false;
return arr.some(a => a.n === 'WEVIA Master' && a.rm === 'ceo');
}
""")
test("enterprise_wevia_in_ceo",
"P" if has_wm_ceo else "F",
"WEVIA Master in CEO.ag")
# WEVIA step in pipelines
pipelines_with_wevia = page.evaluate("""
() => {
if (typeof DP === 'undefined') return 0;
return DP.filter(d => d.pp && d.pp[0] === 'WEVIA').length;
}
""")
test("enterprise_wevia_pipelines",
"P" if pipelines_with_wevia >= 20 else "F",
f"{pipelines_with_wevia} pipelines start with WEVIA")
except Exception as e:
test("enterprise_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 4: director-center overlay ════════
try:
page.goto(f"{BASE}/director-center.html", wait_until="networkidle", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "04-director-center.png")
page.screenshot(path=shot, full_page=False)
has_overlay = page.locator('#unifiedLiveOverlay').count() > 0
test("director_unified_overlay",
"P" if has_overlay else "F",
"unifiedLiveOverlay present", shot)
except Exception as e:
test("director_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 5: l99-brain overlay ════════
try:
page.goto(f"{BASE}/l99-brain.html", wait_until="networkidle", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "05-l99-brain.png")
page.screenshot(path=shot, full_page=False)
has_overlay = page.locator('#unifiedLiveOverlay').count() > 0
test("l99brain_unified_overlay",
"P" if has_overlay else "F",
"unifiedLiveOverlay present", shot)
except Exception as e:
test("l99brain_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 6: wevia-master chat ════════
try:
page.goto(f"{BASE}/wevia-master.html", wait_until="networkidle", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "06-wevia-master.png")
page.screenshot(path=shot, full_page=False)
has_input = page.locator('input[type="text"], textarea').count() > 0
test("master_chat_input",
"P" if has_input else "F",
"chat input present", shot)
except Exception as e:
test("master_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 7: paperclip subdomain ════════
try:
page.goto("https://paperclip.weval-consulting.com", wait_until="networkidle", timeout=15000)
time.sleep(2)
shot = str(OUT_DIR / "07-paperclip.png")
page.screenshot(path=shot, full_page=False)
title = page.title()
test("paperclip_reachable",
"P" if title else "F",
f"title: {title[:50]}", shot)
except Exception as e:
test("paperclip_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 8: pipeline API ════════
try:
resp = page.request.get(f"{BASE}/api/weval-unified-pipeline.php")
pipe_data = resp.json() if resp.status == 200 else {}
l99_ok = pipe_data.get('l99', {}).get('pass', 0) > 0
test("pipeline_api_live",
"P" if l99_ok else "F",
f"l99.pass={pipe_data.get('l99',{}).get('pass',0)}")
except Exception as e:
test("pipeline_api", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 9: arena-v2 ════════
try:
page.goto(f"{BASE}/weval-arena-v2.html", wait_until="networkidle", timeout=20000)
time.sleep(2)
shot = str(OUT_DIR / "09-arena-v2.png")
page.screenshot(path=shot, full_page=False)
# Check web provider cards are present
cards = page.locator('.prov-card').count()
test("arena_v2_providers",
"P" if cards >= 8 else "F",
f"provider cards: {cards}/8", shot)
except Exception as e:
test("arena_v2_load", "F", f"exception: {str(e)[:100]}")
# ════════ TEST 10: ethica page ════════
try:
page.goto(f"{BASE}/ethica.html", wait_until="networkidle", timeout=15000)
time.sleep(1)
shot = str(OUT_DIR / "10-ethica.png")
page.screenshot(path=shot, full_page=False)
title = page.title()
test("ethica_reachable", "P" if title else "F", f"title: {title[:50]}", shot)
except Exception as e:
test("ethica_load", "F", f"exception: {str(e)[:100]}")
browser.close()
# Compute totals
total = len(results["tests"])
passed = sum(1 for t in results["tests"] if t["status"] == "P")
failed = total - passed
results["pass"] = passed
results["total"] = total
results["fail"] = failed
results["pct"] = int(100 * passed / total) if total else 0
# Write result
with open(RESULT_JSON, 'w') as f:
json.dump(results, f, indent=2)
print(f"\n[PLAYWRIGHT VISUAL] {passed}/{total} PASS ({results['pct']}%)")
print(f"Screenshots: {OUT_DIR}")
print(f"Result: {RESULT_JSON}")
return passed, total, failed
if __name__ == "__main__":
run()

View File

@@ -1,5 +1,5 @@
{
"timestamp": "2026-04-16T16:43:00.556733",
"timestamp": "2026-04-16T16:54:39.233268",
"layers": {
"DOCKER": {
"pass": 19,
@@ -47,9 +47,9 @@
"pct": 100
},
"PLAYWRIGHT-VISUAL": {
"pass": 14,
"total": 15,
"pct": 93
"pass": 18,
"total": 18,
"pct": 100
},
"FULLSCAN-L99": {
"pass": 59,
@@ -62,10 +62,10 @@
"pct": 100
}
},
"pass": 297,
"fail": 2,
"pass": 301,
"fail": 1,
"warn": 0,
"total": 299,
"total": 302,
"videos": 32,
"screenshots": 14,
"layers_count": 12

1
logs/STATUS Normal file
View File

@@ -0,0 +1 @@
DONE

View File

@@ -178,3 +178,6 @@ DETAIL: Key (email)=(saravita@sara.telecompost.it) already exists.
[2026-04-16 16:35:02] MA: START 50 MA HCPs
[2026-04-16 16:40:03] MA: START 50 MA HCPs
[2026-04-16 16:45:02] MA: START 50 MA HCPs
[2026-04-16 16:50:03] MA: START 50 MA HCPs
[2026-04-16 16:52:08] MA: START 50 MA HCPs
[2026-04-16 16:55:02] MA: START 50 MA HCPs

View File

@@ -1383,3 +1383,607 @@ Call log:
OK [BATCH] arsenal-system-tools -- body=374ch
OK [BATCH] t.html -- JS timeout OK
OK [BATCH] arsenal-temp-email-factory -- body=826ch
OK [BATCH] arsenal-temp-email-manager -- body=739ch
OK [BATCH] arsenal-temp-email -- body=352ch
OK [BATCH] arsenal-temp-explorer -- body=2060ch
OK [BATCH] arsenal-temp -- body=331ch
OK [BATCH] arsenal-terminal -- body=111ch
OK [BATCH] arsenal-test-api -- body=97ch
OK [BATCH] arsenal-test-bd -- body=27ch
OK [BATCH] arsenal-test-db -- body=78ch
OK [BATCH] arsenal-test-db2 -- body=942ch
OK [BATCH] arsenal-test-hamid -- body=128ch
OK [BATCH] arsenal-test-install -- body=37ch
OK [BATCH] arsenal-test-integration -- body=636ch
OK [BATCH] arsenal-test-mail-direct -- body=246ch
OK [BATCH] arsenal-test-metrics -- JS 0ch
OK [BATCH] arsenal-test-results-live -- body=270ch
OK [BATCH] arsenal-test-send-tracking-full -- body=831ch
OK [BATCH] arsenal-test-wevads-api -- body=1190ch
OK [BATCH] arsenal-test-widget -- body=70ch
OK [BATCH] arsenal-test -- body=187ch
OK [BATCH] arsenal-test_email_send -- body=184ch
OK [BATCH] arsenal-test_imap -- body=121ch
OK [BATCH] arsenal-tiktok-ads -- body=615ch
WARN [BATCH] arsenal-tools-api -- body=1ch
OK [BATCH] arsenal-track -- body=189ch
OK [BATCH] arsenal-tracking-arsenal -- body=520ch
WARN [BATCH] arsenal-tracking-bridge -- body=0ch
WARN [BATCH] arsenal-tracking-config -- body=0ch
OK [BATCH] arsenal-tracking-dashboard -- body=540ch
OK [BATCH] arsenal-tracking-deploy -- body=656ch
OK [BATCH] arsenal-tracking-global-dashboard -- body=126ch
OK [BATCH] arsenal-tracking-manager -- body=824ch
OK [BATCH] arsenal-tracking-raw -- body=437ch
WARN [BATCH] arsenal-tracking-standard -- body=0ch
OK [BATCH] arsenal-tracking-status -- body=213ch
OK [BATCH] arsenal-tracking-system-standalone -- body=2155ch
OK [BATCH] arsenal-tracking-webhook -- body=44ch
OK [BATCH] arsenal-tracking -- body=125ch
OK [BATCH] arsenal-tracking_api -- body=216ch
OK [BATCH] arsenal-trap-detector -- body=1559ch
OK [BATCH] arsenal-twitter-ads -- body=545ch
OK [BATCH] arsenal-ultimate-dashboard -- body=777ch
OK [BATCH] arsenal-unified-dashboard -- body=85ch
OK [BATCH] arsenal-unified-tracking -- body=395ch
OK [BATCH] arsenal-universal-drill -- JS 0ch
OK [BATCH] arsenal-universal_connect -- body=134ch
WARN [BATCH] arsenal-unlimited-engine -- body=0ch
WARN [BATCH] arsenal-unsub -- body=0ch
OK [BATCH] vault-guard.html -- JS timeout OK
OK [BATCH] arsenal-warming -- body=334ch
OK [BATCH] arsenal-warmup-dashboard -- body=2799ch
OK [BATCH] arsenal-warmup-engine -- body=1946ch
OK [BATCH] arsenal-warmup-manager -- body=882ch
OK [BATCH] arsenal-warmup-pro -- body=1443ch
OK [BATCH] arsenal-warmup-system -- body=178263ch
OK [BATCH] arsenal-warmup -- body=948ch
OK [BATCH] arsenal-webhook-manager -- body=207ch
WARN [BATCH] arsenal-webhook-messaging -- body=0ch
OK [BATCH] arsenal-webhook -- body=147ch
OK [BATCH] arsenal-weekly-o365-maintenance -- body=257ch
OK [BATCH] arsenal-wevads-connector -- body=101ch
OK [BATCH] arsenal-wevads-demo -- body=644ch
OK [BATCH] arsenal-wevads-monitor-v3 -- body=734ch
OK [BATCH] arsenal-wevads-original -- body=133ch
WARN [BATCH] arsenal-wevads-prepend -- body=0ch
WARN [BATCH] arsenal-wevads-shield -- body=0ch
OK [BATCH] arsenal-wevads -- body=123ch
OK [BATCH] arsenal-weval-brain-providers -- body=3910ch
OK [BATCH] arsenal-weval-chat-public -- body=21ch
OK [BATCH] arsenal-weval-chatbot-api-old -- body=24ch
OK [BATCH] arsenal-weval-chatbot-api -- body=116ch
OK [BATCH] arsenal-weval-command-center -- body=1383ch
WARN [BATCH] arsenal-weval-config -- body=0ch
OK [BATCH] arsenal-weval-ia-relay -- body=24ch
OK [BATCH] arsenal-weval-mind-api -- body=48ch
OK [BATCH] arsenal-weval-mind-cli -- body=644ch
OK [BATCH] arsenal-weval-mind-core-simple -- body=192ch
OK [BATCH] arsenal-weval-mind-core -- body=161ch
OK [BATCH] arsenal-weval-mind-dashboard-enhanced -- body=919ch
OK [BATCH] arsenal-weval-mind-dashboard -- body=474ch
OK [BATCH] arsenal-weval-mind-fullscreen -- body=845ch
OK [BATCH] arsenal-weval-mind-index -- body=424ch
OK [BATCH] arsenal-weval-mind-interface -- body=39ch
OK [BATCH] arsenal-weval-mind-settings -- body=189ch
OK [BATCH] arsenal-weval-mind-ssh -- body=536ch
OK [BATCH] arsenal-weval-mind-test -- body=118ch
OK [BATCH] arsenal-weval-mind-widget -- body=219ch
OK [BATCH] arsenal-weval-orchestrator -- body=10508ch
OK [BATCH] arsenal-weval-public-chatbot -- body=28ch
OK [BATCH] arsenal-weval-ssh-api -- body=463ch
OK [BATCH] arsenal-weval-ssh -- body=567ch
WARN [BATCH] arsenal-wevia-admin-conversations -- body=0ch
OK [BATCH] arsenal-wevia-admin -- body=707ch
OK [BATCH] arsenal-wevia-agent -- body=25ch
OK [BATCH] arsenal-wevia-api-backup-23fev -- body=20ch
WARN [BATCH] arsenal-wevia-api-public -- body=0ch
OK [BATCH] arsenal-wevia-api-v2-backup -- body=20ch
WARN [BATCH] arsenal-wevia-api -- body=0ch
OK [BATCH] arsenal-wevia-architecture-doc -- body=9445ch
OK [BATCH] arsenal-wevia-auth -- body=19ch
OK [BATCH] arsenal-wevia-bitvise -- body=239ch
OK [BATCH] arsenal-wevia-brain-config -- body=1433ch
OK [BATCH] arsenal-wevia-brain-monitor -- body=2059ch
WARN [BATCH] arsenal-wevia-brain -- body=0ch
WARN [BATCH] arsenal-wevia-bridge -- body=0ch
OK [BATCH] arsenal-wevia-calendar -- body=45ch
OK [BATCH] arsenal-wevia-canvas -- body=412ch
OK [BATCH] arsenal-wevia-charts -- body=460ch
OK [BATCH] arsenal-wevia-claude -- body=2738ch
OK [BATCH] arsenal-wevia-cli -- body=34ch
OK [BATCH] arsenal-wevia-code-ui -- body=187ch
OK [BATCH] arsenal-wevia-code -- body=25ch
OK [BATCH] arsenal-wevia-control-center -- body=1444ch
OK [BATCH] arsenal-wevia-dashboard -- body=2738ch
OK [BATCH] arsenal-wevia-email -- body=32ch
WARN [BATCH] arsenal-wevia-event-bus -- body=0ch
OK [BATCH] arsenal-wevia-evolution -- body=32ch
OK [BATCH] arsenal-wevia-execute -- body=23ch
OK [BATCH] arsenal-wevia-failover-monitor -- body=173ch
WARN [BATCH] arsenal-wevia-failover -- body=0ch
OK [BATCH] arsenal-wevia-files -- body=28ch
OK [BATCH] arsenal-wevia-fullscreen-207lines -- body=256ch
OK [BATCH] arsenal-wevia-fullscreen-backup-23fev -- body=351ch
OK [BATCH] arsenal-wevia-fullscreen-v3-backup -- body=424ch
OK [BATCH] arsenal-wevia-fullscreen -- body=2418ch
OK [BATCH] arsenal-wevia-generate-long -- body=24ch
OK [BATCH] arsenal-wevia-generate -- body=218ch
OK [BATCH] arsenal-wevia-gpts -- body=1072ch
OK [BATCH] arsenal-wevia-hamid -- body=321ch
WARN [BATCH] arsenal-wevia-health -- body=0ch
OK [BATCH] arsenal-wevia-history -- body=70ch
OK [BATCH] arsenal-wevia-hub -- body=3485ch
OK [BATCH] arsenal-wevia-image-gen -- body=27ch
OK [BATCH] arsenal-wevia-image -- body=25ch
OK [BATCH] arsenal-wevia-index -- body=424ch
OK [BATCH] arsenal-wevia-kb-api -- body=2224ch
OK [BATCH] arsenal-wevia-kb-manager -- body=113ch
OK [BATCH] arsenal-wevia-kb -- body=371ch
OK [BATCH] arsenal-wevia-learn -- body=27ch
OK [BATCH] arsenal-wevia-login -- body=149ch
OK [BATCH] arsenal-wevia-maintenance -- body=773ch
OK [BATCH] arsenal-wevia-memory -- body=27ch
OK [BATCH] arsenal-wevia-monitor-api -- body=683ch
OK [BATCH] arsenal-wevia-monitor -- body=924ch
OK [BATCH] arsenal-wevia-nexus -- body=116ch
OK [BATCH] arsenal-wevia-ocr -- body=33ch
OK [BATCH] arsenal-wevia-personas-redirect -- body=1881ch
OK [BATCH] arsenal-wevia-personas-v2 -- body=7248ch
OK [BATCH] arsenal-wevia-personas -- body=7248ch
OK [BATCH] arsenal-wevia-plugins -- body=39ch
WARN [BATCH] arsenal-wevia-providers-config -- body=0ch
OK [BATCH] arsenal-wevia-providers -- body=2081ch
OK [BATCH] arsenal-wevia-rag -- body=26ch
OK [BATCH] arsenal-wevia-repair-api -- body=81ch
OK [BATCH] arsenal-wevia-router-dashboard -- body=794ch
OK [BATCH] arsenal-wevia-scrape -- body=24ch
OK [BATCH] arsenal-wevia-search -- body=24ch
OK [BATCH] arsenal-wevia-selector -- body=711ch
OK [BATCH] arsenal-wevia-ssh -- body=31ch
WARN [BATCH] arsenal-wevia-status -- body=0ch
OK [BATCH] arsenal-wevia-stream -- body=131ch
OK [BATCH] arsenal-wevia-summarize -- body=25ch
WARN [BATCH] arsenal-wevia-test-api -- body=0ch
OK [BATCH] arsenal-wevia-test-limits -- body=126ch
OK [BATCH] arsenal-wevia-tools -- body=93ch
OK [BATCH] arsenal-wevia-translate -- body=25ch
WARN [BATCH] arsenal-wevia-tts -- body=0ch
OK [BATCH] arsenal-wevia-vision -- body=23ch
OK [BATCH] arsenal-wevia-voice -- body=24ch
OK [BATCH] arsenal-wevia-webhook -- body=31ch
OK [BATCH] arsenal-wevia-wevads-api -- body=31ch
OK [BATCH] arsenal-wevia-widget -- body=31ch
OK [BATCH] arsenal-wevia-youtube -- body=31ch
OK [BATCH] arsenal-wevupadminer -- body=114ch
OK [BATCH] arsenal-widget-admin -- body=31ch
OK [BATCH] arsenal-widget-api -- body=31ch
OK [BATCH] arsenal-widget-config -- body=31ch
OK [BATCH] arsenal-winning-config -- body=31ch
OK [BATCH] arsenal-winning -- body=31ch
OK [BATCH] arsenal-workflow-visual -- body=31ch
OK [BATCH] arsenal-world-dashboard -- body=31ch
OK [BATCH] arsenal-world-map-live -- body=31ch
OK [BATCH] arsenal-world-map -- body=31ch
OK [BATCH] arsenal-xc-dashboard-api -- body=31ch
OK [BATCH] arsenal-youtube-auth -- body=31ch
OK [BATCH] arsenal-youtube-channels -- body=31ch
OK [BATCH] arsenal-youtube-factory-api -- body=31ch
OK [BATCH] arsenal-youtube-factory -- body=31ch
OK [BATCH] arsenal-yt-upload-test","exit_code -- body=111ch
Arsenal batch done: 1333
Extra S204: 165
OK [BATCH] s204-admin-saas -- body=1654ch
OK [BATCH] s204-admin-v2 -- body=1766ch
OK [BATCH] s204-admin -- body=7957ch
OK [BATCH] s204-agents-3d -- body=97ch
OK [BATCH] s204-agents-alive -- body=223ch
OK [BATCH] s204-agents-archi -- body=2740ch
OK [BATCH] s204-agents-enterprise -- body=300ch
OK [BATCH] s204-agents-final -- body=105ch
OK [BATCH] s204-agents-fleet -- body=3519ch
OK [BATCH] s204-agents-goodjob -- body=101ch
OK [BATCH] s204-agents-hd -- body=203ch
OK [BATCH] s204-agents-hd2 -- body=105ch
OK [BATCH] s204-agents-hub -- body=823ch
OK [BATCH] s204-agents-ia -- body=2022ch
OK [BATCH] s204-agents-iso3d -- body=98ch
OK [BATCH] s204-agents-sim -- body=293ch
OK [BATCH] s204-agents-valuechain -- body=1453ch
OK [BATCH] s204-ai-hub -- body=2462ch
OK [BATCH] s204-all-screens-live -- body=72ch
OK [BATCH] s204-anthropic-hub -- body=559ch
OK [BATCH] s204-api-key-hub -- body=1944ch
OK [BATCH] s204-architecture-live -- body=6177ch
OK [BATCH] s204-architecture-map -- body=6686ch
OK [BATCH] s204-architecture -- body=1515ch
OK [BATCH] s204-arsenal-login -- body=182ch
OK [BATCH] s204-arsenal-offline -- body=226ch
OK [BATCH] s204-avatar-picker -- body=3014ch
OK [BATCH] s204-blade-hub -- body=709ch
OK [BATCH] s204-blade-install -- body=255ch
OK [BATCH] s204-cartographie-screens -- body=56989ch
OK [BATCH] s204-claw-chat -- body=325ch
OK [BATCH] s204-claw-code -- body=226ch
OK [BATCH] s204-cloudflare-hub -- body=1975ch
OK [BATCH] s204-crm -- body=134ch
OK [BATCH] s204-cron-control -- body=22334ch
OK [BATCH] s204-cyber-monitor -- body=145ch
OK [BATCH] s204-data-deletion -- body=589ch
OK [BATCH] s204-deepseek-hub -- body=978ch
OK [BATCH] s204-deepseek -- body=10461ch
OK [BATCH] s204-deerflow-hub -- body=299ch
OK [BATCH] s204-director-center -- body=2074ch
OK [BATCH] s204-director-chat -- body=926ch
OK [BATCH] s204-director-test -- body=139ch
OK [BATCH] s204-director -- body=9845ch
OK [BATCH] s204-docker-hub -- body=326ch
OK [BATCH] s204-droid-terminal -- body=27ch
OK [BATCH] s204-email-hub -- body=1852ch
OK [BATCH] s204-enterprise-management -- body=2311ch
OK [BATCH] s204-enterprise-model -- body=210ch
OK [BATCH] s204-ethica-chatbot -- body=743ch
OK [BATCH] s204-ethica-drill -- body=150ch
OK [BATCH] s204-ethica-hcp-manager -- body=253ch
OK [BATCH] s204-ethica-hcp -- body=253ch
OK [BATCH] s204-ethica-hub -- body=2276ch
OK [BATCH] s204-ethica-login -- body=188ch
OK [BATCH] s204-ethica-monitor -- body=1703ch
OK [BATCH] s204-ethica-pipeline -- body=2786ch
OK [BATCH] s204-ethica-sms -- body=150ch
OK [BATCH] s204-faq-anti-regression -- body=1639ch
OK [BATCH] s204-faq-techniques -- body=17988ch
OK [BATCH] s204-github-hub -- body=332ch
OK [BATCH] s204-golive -- body=272ch
OK [BATCH] s204-google-hub -- body=1919ch
OK [BATCH] s204-googlecba1a80ba979325c -- body=53ch
OK [BATCH] s204-gpu-hub -- body=2179ch
OK [BATCH] s204-growth-engine-v2 -- body=2071ch
OK [BATCH] s204-growth-engine -- body=1224ch
OK [BATCH] s204-gws-setup -- body=495ch
OK [BATCH] s204-hetzner-hub -- body=312ch
OK [BATCH] s204-huawei-cloud -- body=3082ch
OK [BATCH] s204-huggingface-hub -- body=513ch
OK [BATCH] s204-ia-registre -- body=16901ch
OK [BATCH] s204-ia-sovereign-registry -- body=1925ch
OK [BATCH] s204-infra-command -- body=4809ch
OK [BATCH] s204-infra-monitor -- body=384ch
OK [BATCH] s204-intents-registry -- body=19931ch
OK [BATCH] s204-keys-hub -- body=2186ch
OK [BATCH] s204-knowledge-hub -- body=957ch
OK [BATCH] s204-l99-brain -- body=806ch
OK [BATCH] s204-l99-fullscreen -- body=131ch
OK [BATCH] s204-l99-saas -- body=1190ch
OK [BATCH] s204-l99-v2 -- body=498ch
WARN [BATCH] s204-login -- SSO-protected (auth in V04)
OK [BATCH] s204-maintenance -- body=131ch
OK [BATCH] s204-master-test -- body=862ch
OK [BATCH] s204-medreach-campaign -- body=2593ch
OK [BATCH] s204-medreach-dashboard -- body=2070ch
OK [BATCH] s204-methodologie -- body=3042ch
OK [BATCH] s204-monitoring-hub -- body=1849ch
OK [BATCH] s204-méthodologie -- body=3042ch
OK [BATCH] s204-n8n-hub -- body=271ch
OK [BATCH] s204-namecheap-hub -- body=1288ch
OK [BATCH] s204-nl-autowire-status -- body=1927ch
OK [BATCH] s204-nonreg-old-v2 -- body=228ch
OK [BATCH] s204-nonreg-old -- body=274ch
OK [BATCH] s204-nonreg -- body=385ch
OK [BATCH] s204-office-admins -- body=429ch
OK [BATCH] s204-office-hub -- body=2096ch
OK [BATCH] s204-office-login -- body=168ch
OK [BATCH] s204-office-workflow -- body=7958ch
OK [BATCH] s204-openclaw -- body=495ch
OK [BATCH] s204-ops-center -- body=562ch
WARN [BATCH] oss-discovery.html -- timeout/error
WARN [BATCH] paperclip-hub.html -- timeout/error
WARN [BATCH] paperclip.html -- timeout/error
WARN [BATCH] plan-du-site.html -- timeout/error
WARN [BATCH] pricing.html -- timeout/error
WARN [BATCH] privacy-policy.html -- timeout/error
WARN [BATCH] qa-hub.html -- timeout/error
WARN [BATCH] qdrant-hub.html -- timeout/error
WARN [BATCH] realtime-monitor-v3.html -- timeout/error
WARN [BATCH] realtime-monitor.html -- timeout/error
WARN [BATCH] register.html -- timeout/error
WARN [BATCH] security-dashboard.html -- timeout/error
WARN [BATCH] security-hub.html -- timeout/error
WARN [BATCH] sessions-monitor.html -- timeout/error
WARN [BATCH] solution-finder.html -- timeout/error
WARN [BATCH] sovereign-claude.html -- timeout/error
WARN [BATCH] sovereign-monitor.html -- timeout/error
WARN [BATCH] sso-monitor.html -- timeout/error
WARN [BATCH] technology-radar.html -- timeout/error
WARN [BATCH] terms-of-service.html -- timeout/error
WARN [BATCH] toolhub.html -- timeout/error
WARN [BATCH] tools-hub.html -- timeout/error
WARN [BATCH] trust-center.html -- timeout/error
WARN [BATCH] ultimate-quality.html -- timeout/error
WARN [BATCH] use-cases.html -- timeout/error
WARN [BATCH] value-chain.html -- timeout/error
WARN [BATCH] value-stream-mapping.html -- timeout/error
WARN [BATCH] value-stream.html -- timeout/error
WARN [BATCH] value-streaming.html -- timeout/error
WARN [BATCH] vault-manager.html -- timeout/error
WARN [BATCH] vsm-pipelines.html -- timeout/error
WARN [BATCH] warmup-manager.html -- timeout/error
WARN [BATCH] wevads-hub.html -- timeout/error
WARN [BATCH] wevads-performance.html -- timeout/error
WARN [BATCH] weval-arena-v2.html -- timeout/error
WARN [BATCH] weval-arena.html -- timeout/error
WARN [BATCH] weval-login.html -- timeout/error
WARN [BATCH] weval-master-inventory.html -- timeout/error
WARN [BATCH] weval-wiring.html -- timeout/error
WARN [BATCH] wevcode.html -- timeout/error
WARN [BATCH] wevia-chat.html -- timeout/error
WARN [BATCH] wevia-console.html -- timeout/error
WARN [BATCH] wevia-cortex.html -- timeout/error
WARN [BATCH] wevia-dashboard-test.html -- timeout/error
WARN [BATCH] wevia-demo-autonomous.html -- timeout/error
WARN [BATCH] wevia-director-dashboard.html -- timeout/error
WARN [BATCH] wevia-em-big4.html -- timeout/error
WARN [BATCH] wevia-evolution.html -- timeout/error
WARN [BATCH] wevia-go-live.html -- timeout/error
WARN [BATCH] wevia-hub.html -- timeout/error
WARN [BATCH] wevia-legacy.html -- timeout/error
WARN [BATCH] wevia-master-legacy.html -- timeout/error
WARN [BATCH] wevia-master.html -- timeout/error
WARN [BATCH] wevia-meeting-rooms.html -- timeout/error
WARN [BATCH] wevia-meetings.html -- timeout/error
WARN [BATCH] wevia-orchestrator.html -- timeout/error
WARN [BATCH] wevia-test-30mars.html -- timeout/error
WARN [BATCH] wevia-v4.html -- timeout/error
WARN [BATCH] wevia-vs-opus.html -- timeout/error
WARN [BATCH] wevia-widget.html -- timeout/error
WARN [BATCH] wevia.html -- timeout/error
WARN [BATCH] wiki.html -- timeout/error
WARN [BATCH] world-map-live.html -- timeout/error
== INFRA ==
OK [INFRA] Disk -- 83%
OK [INFRA] Load
OK [INFRA] nginx
OK [INFRA] php8.5-fpm
OK [INFRA] docker
OK [INFRA] Docker=19
OK [DOCKER] twenty
FAIL [DOCKER] plausible
FAIL [DOCKER] n8n
OK [DOCKER] uptime-kuma
FAIL [DOCKER] mattermost
OK [DOCKER] searxng
OK [DOCKER] qdrant
OK [DOCKER] vaultwarden
OK [DOCKER] loki
OK [PORTS] :443 HTTPS
OK [PORTS] :3000 Twenty
OK [PORTS] :3002 DeerFlow
OK [PORTS] :5678 n8n
OK [PORTS] :3088 Kuma
FAIL [PORTS] :9443 Auth
OK [PORTS] :6333 Qdrant
OK [PORTS] :8065 MM
OK [S95] PostgreSQL
OK [S95] Arsenal
OK [DB] brain_config=9
OK [DB] ethica=119240HCPs
OK [SEC] chattr index.html
OK [SEC] chattr weval-audit-reco.js
== CLAUDE CODE TESTS ==
OK [MONITOR] site=up 200 148ms
OK [MONITOR] wevia=up 200 106ms
OK [MONITOR] manager=up 200 601ms
OK [MONITOR] deerflow=up 200 144ms
OK [MONITOR] crm=up 200 145ms
OK [MONITOR] wevads=up 200 180ms
OK [MONITOR] api-wevia=up 200 103ms
OK [MONITOR] api-ethica=up 200 206ms
OK [MONITOR] ollama=up 200 2ms
OK [MONITOR] gateway=up 200 1ms
OK [MONITOR] n8n=up 200 2ms
WARN [BLADE] Agent online=False -- LAPTOP-VE75QUHF cpu=34% ram=79% (16GB)
WARN [BLADE] Version=?
OK [NONREG] Score=100% (153/153)
OK [NONREG] S204: 9P/0F
OK [NONREG] S95-WV: 12P/0F
OK [NONREG] S95-ARS: 17P/0F
OK [NONREG] S95-iR: 1P/0F
OK [NONREG] INFRA: 5P/0F
OK [NONREG] API: 27P/0F
OK [NONREG] SEC: 4P/0F
OK [NONREG] S95-BK: 6P/0F
OK [NONREG] C2-API: 4P/0F
OK [NONREG] C2-SPA: 1P/0F
OK [NONREG] C2-WV: 3P/0F
OK [NONREG] SSO: 25P/0F
OK [NONREG] DATA: 5P/0F
OK [NONREG] CRONS: 2P/0F
OK [NONREG] BLADE: 7P/0F
OK [NONREG] LIFE: 3P/0F
OK [NONREG] FUNC: 7P/0F
OK [NONREG] 01AVR: 10P/0F
OK [NONREG] STRUCT: 5P/0F
WARN [SYNC] Transcripts=0
FAIL [CRONS] S204 www-data=3
OK [CRONS] S204 root=55
OK [CRONS] S95 cron.d=19
OK [GIT] Latest commit: ef03df85 supervisor-1450
OK [GIT] AGENTS.md
FAIL [GIT] GitHub PAT expired
== CLAUDE CODE AUDIT ==
OK [CRONS] S204 www-data=55 -- 55 crons
OK [CRONS] S204 root=3 -- 3 crons
OK [CRONS] S204 cron.d=77
OK [CRONS] S95 cron.d=19
OK [AGENTS] Blade Watchdog -- 2026-04-16 14:50:02 STALE 72min - LAPTOP-VE75QUHF
WARN [AGENTS] Blade Agent -- host=?
OK [NONREG] Master=100% -- 153/153 PASS
WARN [SYNC] Claude-sync
WARN [SYNC] Transcripts=0
OK [GIT] Latest commit -- ef03df85 supervisor-1450
FAIL [GIT] PAT expires in -2d
OK [DOCS] AGENTS.md
== SESSION 2 AUDIT ==
OK [WEVIA-BRAIN] brain=1544L -- 1544 lines
OK [WEVIA-BRAIN] providers=32
OK [QDRANT] collections=7 -- weval_skills wevia_brain_knowledge wevia_kb_768 obsidian_vau
OK [QDRANT] has_wevia_kb
OK [QDRANT] has_wevia_learnings
OK [BLADE-BRAIN] blade-brain=669L
OK [BLADE-BRAIN] capabilities -- file/browser/doc
OK [HEALTH] health-check cron -- cron configured
OK [HEALTH] script exists
OK [HEALTH] last run -- no run yet today (cron 8h)
OK [ETHICA-SCRAPER] ethica-deep-scraper.py patched -- v2_log present
OK [ETHICA-SCRAPER] ethica-dabadoc-scraper.py patched -- v2_log present
OK [ETHICA-SCRAPER] ethica-gmap-scraper.py patched -- v2_log present
WARN [OSS] oss-discovery.html -- HTTP 302
OK [WEVIA-SCORE] benchmark -- 84/90 (93% Opus) Rank #5
== SESSION 2 EXTRA ==
OK [BLADE-LIVE] agent=LAPTOP-VE75QUHF -- cpu=34% ram=79% (16GB)
OK [BLADE-LIVE] status -- API checked via AGENTS
FAIL [BLADE-WATCHDOG] install-watchdog.ps1
OK [BLADE-WATCHDOG] sentinel-agent.ps1
OK [BLADE-WATCHDOG] sentinel-cleanup.ps1
FAIL [FINETUNE] train.jsonl -- missing
WARN [FINETUNE] Colab notebook -- manual upload
OK [DEERFLOW] HTTP 200
OK [S151] consent HTTP 200
OK [S151] tracking HTTP 200
OK [S151] OpenClaw -- 503 expected - Docker paused
OK [WEVIA-RAG] SearXNG=5 results
OK [WEVIA-RAG] brain response=16ch
OK [SENTINEL-SCRIPTS] blade-brain=669L
== FRONT-END AUDIT ==
OK [FRONT-SSO] blade-ai.html=302
OK [FRONT-SSO] command-center.html=302
OK [FRONT-SSO] cron-control.html=302
OK [FRONT-SSO] monitoring.html=302
OK [FRONT-SSO] crons-monitor.html=302
OK [FRONT-SSO] claude-monitor.html=302
OK [FRONT-SSO] mega-command-center.html=302
OK [FRONT-SSO] blade-center.html=302
OK [FRONT-PUB] blade-install.html=302
OK [FRONT-PUB] oss-discovery.html=302
OK [FRONT-PUB] l99.html=302
OK [FRONT-PUB] apps.html=302
OK [FRONT-PUB] booking.html=200
OK [FRONT-PUB] use-cases.html=200
WARN [FRONT-API] blade-api=403
OK [FRONT-API] blade-watchdog=200
OK [FRONT-API] ethica-feed=200
OK [FRONT-API] monitoring-api=200
OK [FRONT-API] l99-api=200
OK [FRONT-API] nonreg-json=200
OK [FRONT-SITE] partners-visible -- display:none removed
OK [FRONT-SITE] faq-fix partners
== ALL SESSIONS REVIEW ==
FAIL [DEERFLOW-PORT] nginx 3002
OK [DEERFLOW-PORT] HTTP 200
OK [PLAUSIBLE] homepage tracking
OK [PLAUSIBLE] blog tracking
OK [CYBERMON] HTTP 302
OK [CAPABILITIES] 10/10 UP
OK [CC-BATCH] command-center=302
OK [CC-BATCH] mega-cc=302
WARN [BENCHMARK] cache -- file error
OK [BLADE-UX] blade-ai=302
OK [OPENCLAW] S151 cron -- */10 auto-restart
OK [PARTNERS] slider visible
OK [PARTNERS] faq-fix override
== FINAL REVIEW ==
WARN [BENCHMARK-PRODUCTS] cache -- parse error
OK [GUARDIAN] S204 site-guardian ALERT ONLY
OK [GUARDIAN] S204 infra-guardian
OK [GUARDIAN] S204 auth-guardian
WARN [GUARDIAN] cron entries=0
OK [GUARDIAN] chattr index.html
OK [GUARDIAN] chattr weval-audit-reco.js
OK [GUARDIAN] chattr weval-consulting
OK [WEVAL-MANAGER] CRM Twenty=200
OK [WEVAL-MANAGER] Arsenal menu=200
OK [WEVAL-MANAGER] Ethica HCPs=119240
== V13 INTEGRATION ==
OK [GUARDIAN] infra-guardian.sh
WARN [GUARDIAN] cron */5
OK [GUARDIAN] chattr index.html
OK [GUARDIAN] chattr nginx
OK [GUARDIAN] alert ops=42
OK [WEVAL-MANAGER] CRM=200
OK [WEVAL-MANAGER] Arsenal=200
OK [WEVAL-MANAGER] Ethica feed=20
WARN [ECOSYSTEM] 0 products
WARN [ECOSYSTEM] benchmark -- file error
WARN [WEVCODE] benchmark
WARN [WEDROID] benchmark
== CLAUDE 1 INTEGRATION ==
OK [BENCH-CLEAN] 0 entries -- no doublons
WARN [BENCH-CLEAN] 0/0 at 150% Opus
WARN [BENCH-META] 0/0 with metadata
OK [OSS-CRON] cron exists
OK [OSS-CRON] no https localhost -- http instead of https
OK [OSS-SCAN] 729 tools
OK [OSS-SCAN] tests 729/729
== CLAUDE 1 — BENCH+OSS ==
WARN [BENCH-CLEAN] WEVAL entries=0
WARN [BENCH-CLEAN] metadata=0/0
WARN [BENCH-CLEAN] benchmark -- file error
OK [OSS-CRON] cron exists
OK [OSS-CRON] uses http -- no https://localhost
OK [OSS-SCAN] total=729
WARN [OSS-SCAN] wired=0
OK [OSS-SCAN] pass=729
== CLAUDE 1 LATEST ==
OK [PHONE-STRIP] greeting clean -- no phone numbers
OK [PHONE-STRIP] response=378ch
OK [PROD-METRICS] pipelines=23
OK [PROD-METRICS] API OK
WARN [REALTIME-MON] HTTP 302
OK [CRONS-NEW] oss-discovery cron
OK [CRONS-NEW] nonreg cron
WARN [CRONS-NEW] claude-sync
== CLAUDE 1 LATEST ==
OK [PHONE-STRIP] no phone in greeting -- 702ch
OK [PROD-METRICS] API responds -- 2352ch
OK [REALTIME-MON] HTTP 302
OK [CRONS-NEW] new crons=5
== FINAL REVIEW ==
OK [NONREG-148] 153/153 PASS
OK [NONREG-148] pct=100%
OK [S95-CLEAN] broken=0
WARN [OPENCLAW-LIVE] container
WARN [OPENCLAW-LIVE] restart-policy
WARN [N8N-ACTIVE] workflows=0
== V16 FINAL REVIEW ==
OK [NONREG-148] score=100%
OK [NONREG-148] 153/153 PASS
OK [S95-CLEAN] broken=0 -- 0 files
WARN [OPENCLAW-LIVE] container
OK [OPENCLAW-LIVE] cron */10
WARN [N8N-ACTIVE] workflows=0
== V16 FINAL REVIEW ==
OK [NONREG-148] score=100%
OK [NONREG-148] 153/153
OK [S95-CLEAN] broken=0 -- 0 files
OK [SCRAPY] API=200
WARN [N8N-ACTIVE] workflows=0
WARN [OPENCLAW-LIVE] docker=
== V16 FINAL ==
python3: can't open file '/opt/weval-l99/l99-batch.py': [Errno 2] No such file or directory
Thu Apr 16 16:54:30 CEST 2026

View File

@@ -1,11 +1,11 @@
{
"ts": "2026-04-16T16:39:29.416738",
"ts": "2026-04-16T16:56:29.049587",
"tests": [
{
"name": "archi_agents_count_64",
"status": "P",
"detail": "found 78/61",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/01-agents-archi.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/01-agents-archi.png"
},
{
"name": "archi_master_exists",
@@ -23,15 +23,31 @@
"detail": "liveStatusBar element"
},
{
"name": "rooms_load",
"status": "F",
"detail": "exception: Page.goto: Timeout 60000ms exceeded.\nCall log:\n - navigating to \"https://weval-consulting.com/wevia"
"name": "rooms_count_8",
"status": "P",
"detail": "RM.length = 8/8",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/02-meeting-rooms.png"
},
{
"name": "rooms_all_positioned",
"status": "P",
"detail": "8/8 positioned"
},
{
"name": "rooms_director_centered",
"status": "P",
"detail": "dir x=560 w=960"
},
{
"name": "rooms_live_ops_panel",
"status": "P",
"detail": "liveOpsPanel element"
},
{
"name": "enterprise_depts_count",
"status": "P",
"detail": "DP.length=23 (expect >=20)",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/03-enterprise-model.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/03-enterprise-model.png"
},
{
"name": "enterprise_wevia_in_ceo",
@@ -47,25 +63,25 @@
"name": "director_unified_overlay",
"status": "P",
"detail": "unifiedLiveOverlay present",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/04-director-center.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/04-director-center.png"
},
{
"name": "l99brain_unified_overlay",
"status": "P",
"detail": "unifiedLiveOverlay present",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/05-l99-brain.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/05-l99-brain.png"
},
{
"name": "master_chat_input",
"status": "P",
"detail": "chat input present",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/06-wevia-master.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/06-wevia-master.png"
},
{
"name": "paperclip_reachable",
"status": "P",
"detail": "title: Paperclip",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/07-paperclip.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/07-paperclip.png"
},
{
"name": "pipeline_api_live",
@@ -76,18 +92,18 @@
"name": "arena_v2_providers",
"status": "P",
"detail": "provider cards: 12/8",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/09-arena-v2.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/09-arena-v2.png"
},
{
"name": "ethica_reachable",
"status": "P",
"detail": "title: WEVAL Consulting \u2014 Enterprise Digital Transformati",
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-163929/10-ethica.png"
"screenshot": "/var/www/html/screenshots/l99-pw-20260416-165629/10-ethica.png"
}
],
"screenshots_dir": "/var/www/html/screenshots/l99-pw-20260416-163929",
"pass": 14,
"total": 15,
"fail": 1,
"pct": 93
"screenshots_dir": "/var/www/html/screenshots/l99-pw-20260416-165629",
"pass": 18,
"total": 18,
"fail": 0,
"pct": 100
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 109 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 491 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 124 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 323 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Some files were not shown because too many files have changed in this diff Show More