auto-sync-0420
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
Opus
2026-04-24 04:20:06 +02:00
parent 55cc3f0f29
commit cfb79c6399
32 changed files with 311 additions and 17 deletions

View File

@@ -1,6 +1,6 @@
{
"agent": "V41_Risk_Escalation",
"ts": "2026-04-24T04:00:04+02:00",
"ts": "2026-04-24T04:15:02+02:00",
"dg_alerts_active": 7,
"wevia_life_stats_preview": "{
"ok": true,

View File

@@ -0,0 +1,69 @@
const { chromium } = require('/var/www/html/api/node_modules/playwright');
const fs = require('fs');
const path = require('path');
const OUTDIR = process.env.OUTDIR || __dirname;
const BASE = 'https://weval-consulting.com';
(async () => {
const browser = await chromium.launch({
headless: true,
args: ['--no-sandbox', '--disable-dev-shm-usage', '--disable-gpu']
});
const ctx = await browser.newContext({
viewport: { width: 1280, height: 720 },
recordVideo: { dir: OUTDIR, size: { width: 1280, height: 720 } },
userAgent: 'WEVIA-Opus-Playwright-Proof/1.0'
});
const page = await ctx.newPage();
const results = { ts: new Date().toISOString(), tests: [] };
// Test 1: home weval-consulting
try {
await page.goto(BASE + '/', { waitUntil: 'domcontentloaded', timeout: 20000 });
await page.waitForTimeout(2000);
await page.screenshot({ path: path.join(OUTDIR, '01-home.png'), fullPage: false });
const title = await page.title();
results.tests.push({ name: 'home', ok: true, title });
console.log('[OK] home:', title);
} catch (e) {
results.tests.push({ name: 'home', ok: false, err: e.message });
console.log('[ERR] home:', e.message);
}
// Test 2: WEVIA cascade status live
try {
const resp = await page.request.post(BASE + '/api/wevia-chat-v2-direct.php', {
data: { message: 'cascade status live', session: 'opus-pw-test' },
headers: { 'Content-Type': 'application/json' }
});
const data = await resp.json();
results.tests.push({ name: 'cascade_status', ok: !!data.content, content: (data.content || '').substring(0, 300) });
console.log('[OK] cascade_status executed, tool=' + data.tool);
} catch (e) {
results.tests.push({ name: 'cascade_status', ok: false, err: e.message });
console.log('[ERR] cascade_status:', e.message);
}
// Test 3: WEVIA auto-wire proof
try {
const resp = await page.request.post(BASE + '/api/wevia-chat-v2-direct.php', {
data: { message: 'ping', session: 'opus-pw-ping' },
headers: { 'Content-Type': 'application/json' }
});
const data = await resp.json();
results.tests.push({ name: 'ping', ok: true, elapsed_ms: data.elapsed_ms });
console.log('[OK] ping:', data.elapsed_ms + 'ms');
} catch (e) {
results.tests.push({ name: 'ping', ok: false, err: e.message });
}
fs.writeFileSync(path.join(OUTDIR, 'results.json'), JSON.stringify(results, null, 2));
await ctx.close();
await browser.close();
console.log('DONE. Output:', OUTDIR);
console.log('Results:', JSON.stringify(results, null, 2));
})();

View File

@@ -1,7 +1,7 @@
{
"ok": true,
"version": "V83-business-kpi",
"ts": "2026-04-24T02:14:38+00:00",
"ts": "2026-04-24T02:19:36+00:00",
"summary": {
"total_categories": 8,
"total_kpis": 64,

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

View File

@@ -0,0 +1,20 @@
{
"ts": "2026-04-24T02:18:06.917Z",
"tests": [
{
"name": "home",
"ok": true,
"title": "WEVAL Consulting — Enterprise Digital Transformation | ERP · Cloud · IA · Cybersécurité"
},
{
"name": "cascade_status",
"ok": true,
"content": "[USER INTENT 'cascade_status_live']\n{\"status\": \"ok\", \"engine\": \"WEVAL Sovereign Cascade v3\", \"version\": \"3.0\", \"providers\": [\"Cerebras-fast\", \"Cerebras-think\", \"Groq\", \"Cloudflare-AI\", \"Gemini\", \"SambaNova\", \"NVIDIA-NIM\", \"Mistral\", \"Groq-OSS\", \"HF-Space\", \"HF-Router\", \"OpenRouter\", \"GitHub-Models\","
},
{
"name": "ping",
"ok": true,
"elapsed_ms": 20007
}
]
}

View File

@@ -0,0 +1,132 @@
const { chromium } = require('/var/www/html/api/node_modules/playwright');
const fs = require('fs');
const path = require('path');
const OUTDIR = process.env.OUTDIR || __dirname;
const BASE = 'https://weval-consulting.com';
const pages = [
{ slug: '01-live-ops', url: `${BASE}/weval-live-ops.html`, title: 'Live Ops Dashboard' },
{ slug: '02-cloudbot-social', url: `${BASE}/cloudbot-social.html`, title: 'Cloudbot Social (lien Live Ops)' },
{ slug: '03-paperclip-flow', url: `${BASE}/paperclip-flow.html`, title: 'Paperclip Flow visualizer' },
{ slug: '04-wtp-consolide', url: `${BASE}/weval-technology-platform.html`, title: 'WTP (lien Live Ops par WEVIA)' },
];
(async () => {
const results = { ts: new Date().toISOString(), pages: [], api_tests: [] };
const browser = await chromium.launch({
headless: true,
args: ['--no-sandbox','--disable-dev-shm-usage','--disable-gpu']
});
const ctx = await browser.newContext({
viewport: { width: 1400, height: 900 },
recordVideo: { dir: OUTDIR, size: { width: 1400, height: 900 } },
userAgent: 'Mozilla/5.0 WEVIA-Autonomy-Playwright-Test/1.0'
});
const page = await ctx.newPage();
for (const p of pages) {
const r = { slug: p.slug, url: p.url, title: p.title, ok: false };
try {
await page.goto(p.url, { waitUntil: 'domcontentloaded', timeout: 25000 });
await page.waitForTimeout(3500);
const shot = path.join(OUTDIR, `${p.slug}.png`);
await page.screenshot({ path: shot, fullPage: true });
r.screenshot = `${p.slug}.png`;
r.title_actual = await page.title();
r.ok = true;
} catch (e) {
r.err = e.message;
}
results.pages.push(r);
console.log(`[${r.ok?'OK':'ERR'}] ${p.slug} -> ${p.url}`);
}
// Test API WEVIA chat - prouve autonomie (execution intent via chat)
const apiTests = [
{ label: 'fast-path ping', body: { message: 'ping' } },
{ label: 'wire-mr-paperclip', body: { message: 'wire paperclip meeting' } },
{ label: 'wire-wtp-live-ops', body: { message: 'wire wtp live ops' } },
];
for (const t of apiTests) {
try {
const resp = await page.request.post(`${BASE}/api/wevia-master-api.php`, {
data: t.body,
headers: { 'Content-Type': 'application/json' }
});
const json = await resp.json();
results.api_tests.push({ label: t.label, body: t.body, status: resp.status(), response: json });
console.log(`[API] ${t.label} -> ${resp.status()} provider=${json.provider||'?'}`);
} catch (e) {
results.api_tests.push({ label: t.label, err: e.message });
}
}
// Page finale : index.html visuel
const indexHtml = `<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>WEVIA Autonomy v1 - Preuves ${results.ts}</title>
<style>
body{font-family:-apple-system,BlinkMacSystemFont,sans-serif;background:#0e1320;color:#e2e8f0;padding:24px;margin:0}
h1{color:#e94560;font-size:28px;margin-bottom:8px}
h2{color:#7c5cff;margin-top:28px}
.meta{color:#94a3b8;font-size:13px;margin-bottom:20px}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:16px}
.card{background:#1a2333;border:1px solid #1f2937;border-radius:8px;padding:14px}
.card h3{color:#e2e8f0;margin:0 0 8px 0;font-size:15px}
.card img{width:100%;border-radius:6px;border:1px solid #2a3344}
.ok{color:#10b981}.err{color:#ef4444}
pre{background:#0a0f1a;padding:10px;border-radius:6px;overflow:auto;font-size:11px;max-height:200px}
.tests{display:flex;flex-direction:column;gap:10px}
.test{background:#1a2333;border-left:3px solid #7c5cff;padding:10px;border-radius:4px}
.badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;margin-left:8px}
.badge-ok{background:#10b981;color:#fff}
.badge-err{background:#ef4444;color:#fff}
</style></head><body>
<h1>WEVIA Autonomy v1 - Preuves Playwright</h1>
<div class="meta">Generated: ${results.ts} | S204 Playwright ${results.pages.length} pages + ${results.api_tests.length} API tests</div>
<h2>1. Pages visuelles (full-page screenshots)</h2>
<div class="grid">
${results.pages.map(p => `
<div class="card">
<h3>${p.slug} - ${p.title} <span class="badge badge-${p.ok?'ok':'err'}">${p.ok?'OK':'ERR'}</span></h3>
${p.screenshot ? `<a href="${p.screenshot}" target="_blank"><img src="${p.screenshot}"/></a>` : `<pre>${p.err||'no screenshot'}</pre>`}
<div style="margin-top:6px;font-size:11px;color:#94a3b8">${p.url}</div>
${p.title_actual ? `<div style="font-size:11px;color:#e2e8f0">Title: ${p.title_actual}</div>` : ''}
</div>
`).join('
')}
</div>
<h2>2. Tests API WEVIA Master (preuve autonomie intent)</h2>
<div class="tests">
${results.api_tests.map(t => `
<div class="test">
<strong>${t.label}</strong> <span class="badge badge-${t.response?.executed||t.response?.provider?'ok':'err'}">${t.status||'?'}</span>
<div style="font-size:11px;color:#94a3b8;margin-top:4px">Request: ${JSON.stringify(t.body)}</div>
<pre>${JSON.stringify(t.response||t.err,null,2).replace(/</g,'&lt;').substring(0,800)}</pre>
</div>
`).join('
')}
</div>
<h2>3. Metadata complete (results.json)</h2>
<p><a href="results.json" style="color:#7c5cff">results.json</a></p>
<p style="margin-top:30px;color:#64748b;font-size:11px">Doctrine 147 - WEVIA Autonomy Pattern - Intent to Autowire-Trigger to Script</p>
</body></html>`;
fs.writeFileSync(path.join(OUTDIR, 'index.html'), indexHtml);
fs.writeFileSync(path.join(OUTDIR, 'results.json'), JSON.stringify(results, null, 2));
await ctx.close();
await browser.close();
console.log(`DONE - ${results.pages.length} pages, ${results.api_tests.length} api tests`);
console.log(`Output: ${OUTDIR}`);
process.exit(0);
})();

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 948 KiB

After

Width:  |  Height:  |  Size: 948 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

After

Width:  |  Height:  |  Size: 978 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 826 KiB

After

Width:  |  Height:  |  Size: 824 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1005 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 235 KiB

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 984 KiB

After

Width:  |  Height:  |  Size: 979 KiB

View File

@@ -1,6 +1,6 @@
{
"wave": 305,
"timestamp": "2026-04-24T02:12:01.915Z",
"timestamp": "2026-04-24T02:18:12.621Z",
"hubs": [
{
"hub": "paperclip-dashboard.html",
@@ -151,34 +151,107 @@
"hub": "wevia-meeting.php",
"url": "https://weval-consulting.com/wevia-meeting.php",
"auth_required": false,
"checks": {},
"artifacts": {},
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 0,
"top_right": [],
"bottom_right": []
},
"no_overlap_tr": true,
"no_overlap_br": true,
"gemini_markers": {
"geEntrance": true,
"gePulse": true,
"geAmbient": true,
"geShimmer": true
},
"has_gemini_v2": true
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/wevia-meeting_php.png",
"hover": "/proofs/playwright-gemini-v5-w305/wevia-meeting_php_hover.png",
"video": "/proofs/playwright-gemini-v5-w305/wevia-meeting_php.webm"
},
"http_status": 200,
"status": "ERROR",
"error": "page.waitForTimeout: Target page, context or browser has been closed"
"status": "PASS"
},
{
"hub": "growth-engine-v2.html",
"url": "https://weval-consulting.com/growth-engine-v2.html",
"auth_required": true,
"checks": {},
"artifacts": {},
"status": "ERROR",
"error": "browser.newContext: Target page, context or browser has been closed\nBrowser logs:\n\n<launching> /var/www/.cache/ms-playwright/chromium_headless_shell-1217/chrome-headless-shell-linux64/chrome-headless-shell --disable-field-trial-config --disable-background-networking --disable-background-timer-thrott"
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 2,
"top_right": [],
"bottom_right": [
{
"tag": "DIV",
"id": "",
"class": "orb o2",
"pos": "1512,1202",
"size": "500x500"
},
{
"tag": "DIV",
"id": "wtp-udock",
"class": "",
"pos": "1488,1191",
"size": "420x56"
}
]
},
"no_overlap_tr": true,
"no_overlap_br": false,
"gemini_markers": {
"geEntrance": false,
"gePulse": false,
"geAmbient": false,
"geShimmer": false
},
"has_gemini_v2": false
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.png",
"video": "/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.webm"
},
"http_status": 200,
"status": "FAIL"
},
{
"hub": "agents-hub.html",
"url": "https://weval-consulting.com/agents-hub.html",
"auth_required": true,
"checks": {},
"artifacts": {},
"status": "ERROR",
"error": "browser.newContext: Target page, context or browser has been closed"
"checks": {
"overlap": {
"top_right_count": 0,
"bottom_right_count": 0,
"top_right": [],
"bottom_right": []
},
"no_overlap_tr": true,
"no_overlap_br": true,
"gemini_markers": {
"geEntrance": true,
"gePulse": true,
"geAmbient": true,
"geShimmer": true
},
"has_gemini_v2": true
},
"artifacts": {
"screenshot": "/proofs/playwright-gemini-v5-w305/agents-hub_html.png",
"hover": "/proofs/playwright-gemini-v5-w305/agents-hub_html_hover.png",
"video": "/proofs/playwright-gemini-v5-w305/agents-hub_html.webm"
},
"http_status": 200,
"status": "PASS"
}
],
"summary": {
"total": 8,
"passed": 5,
"failed": 3
"passed": 7,
"failed": 1
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 875 KiB

After

Width:  |  Height:  |  Size: 877 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

After

Width:  |  Height:  |  Size: 1.1 MiB