@@ -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,
|
||||
|
||||
69
api/playwright-opus-proof.js
Normal 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));
|
||||
})();
|
||||
@@ -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,
|
||||
|
||||
BIN
proofs/opus-20260424-041806/01-home.png
Normal file
|
After Width: | Height: | Size: 172 KiB |
20
proofs/opus-20260424-041806/results.json
Normal 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
|
||||
}
|
||||
]
|
||||
}
|
||||
132
proofs/opus-autonomy-20260424-041724/playwright-test.js
Normal 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,'<').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);
|
||||
})();
|
||||
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 948 KiB After Width: | Height: | Size: 948 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.6 MiB |
|
Before Width: | Height: | Size: 1.0 MiB After Width: | Height: | Size: 978 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 826 KiB After Width: | Height: | Size: 824 KiB |
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1005 KiB |
|
Before Width: | Height: | Size: 235 KiB After Width: | Height: | Size: 235 KiB |
|
Before Width: | Height: | Size: 1.3 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 984 KiB After Width: | Height: | Size: 979 KiB |
@@ -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
|
||||
}
|
||||
}
|
||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 1.4 MiB |
|
Before Width: | Height: | Size: 875 KiB After Width: | Height: | Size: 877 KiB |
|
Before Width: | Height: | Size: 1.8 MiB After Width: | Height: | Size: 1.8 MiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |