diff --git a/api/agent-escalation.json b/api/agent-escalation.json index 91b8fb610..f55b2ae08 100644 --- a/api/agent-escalation.json +++ b/api/agent-escalation.json @@ -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, diff --git a/api/playwright-opus-proof.js b/api/playwright-opus-proof.js new file mode 100644 index 000000000..d23974abb --- /dev/null +++ b/api/playwright-opus-proof.js @@ -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)); +})(); diff --git a/api/v83-business-kpi-latest.json b/api/v83-business-kpi-latest.json index 23562b5cf..b19ecf35f 100644 --- a/api/v83-business-kpi-latest.json +++ b/api/v83-business-kpi-latest.json @@ -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, diff --git a/proofs/opus-20260424-041806/01-home.png b/proofs/opus-20260424-041806/01-home.png new file mode 100644 index 000000000..d34f6c9ca Binary files /dev/null and b/proofs/opus-20260424-041806/01-home.png differ diff --git a/proofs/opus-20260424-041806/page@2c314f97c19f1bd819ba62751aebaf4d.webm b/proofs/opus-20260424-041806/page@2c314f97c19f1bd819ba62751aebaf4d.webm new file mode 100644 index 000000000..4d65648c8 Binary files /dev/null and b/proofs/opus-20260424-041806/page@2c314f97c19f1bd819ba62751aebaf4d.webm differ diff --git a/proofs/opus-20260424-041806/results.json b/proofs/opus-20260424-041806/results.json new file mode 100644 index 000000000..bdedd613b --- /dev/null +++ b/proofs/opus-20260424-041806/results.json @@ -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 + } + ] +} \ No newline at end of file diff --git a/proofs/opus-autonomy-20260424-041724/playwright-test.js b/proofs/opus-autonomy-20260424-041724/playwright-test.js new file mode 100644 index 000000000..a068845a0 --- /dev/null +++ b/proofs/opus-autonomy-20260424-041724/playwright-test.js @@ -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 = ` +WEVIA Autonomy v1 - Preuves ${results.ts} + +

WEVIA Autonomy v1 - Preuves Playwright

+
Generated: ${results.ts} | S204 Playwright ${results.pages.length} pages + ${results.api_tests.length} API tests
+ +

1. Pages visuelles (full-page screenshots)

+
+${results.pages.map(p => ` +
+

${p.slug} - ${p.title} ${p.ok?'OK':'ERR'}

+ ${p.screenshot ? `` : `
${p.err||'no screenshot'}
`} +
${p.url}
+ ${p.title_actual ? `
Title: ${p.title_actual}
` : ''} +
+`).join(' +')} +
+ +

2. Tests API WEVIA Master (preuve autonomie intent)

+
+${results.api_tests.map(t => ` +
+ ${t.label} ${t.status||'?'} +
Request: ${JSON.stringify(t.body)}
+
${JSON.stringify(t.response||t.err,null,2).replace(/
+  
+`).join(' +')} +
+ +

3. Metadata complete (results.json)

+

results.json

+ +

Doctrine 147 - WEVIA Autonomy Pattern - Intent to Autowire-Trigger to Script

+`; + + 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); +})(); diff --git a/proofs/playwright-gemini-v5-w305/agents-hub_html.png b/proofs/playwright-gemini-v5-w305/agents-hub_html.png index 2944f1774..f400e1fc6 100644 Binary files a/proofs/playwright-gemini-v5-w305/agents-hub_html.png and b/proofs/playwright-gemini-v5-w305/agents-hub_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/agents-hub_html.webm b/proofs/playwright-gemini-v5-w305/agents-hub_html.webm index 0ae1a6139..35cfdf47e 100644 Binary files a/proofs/playwright-gemini-v5-w305/agents-hub_html.webm and b/proofs/playwright-gemini-v5-w305/agents-hub_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/agents-hub_html_hover.png b/proofs/playwright-gemini-v5-w305/agents-hub_html_hover.png index fd8825f63..736a47da4 100644 Binary files a/proofs/playwright-gemini-v5-w305/agents-hub_html_hover.png and b/proofs/playwright-gemini-v5-w305/agents-hub_html_hover.png differ diff --git a/proofs/playwright-gemini-v5-w305/ai-hub_html.png b/proofs/playwright-gemini-v5-w305/ai-hub_html.png index 45ea97dbf..d24bb90ab 100644 Binary files a/proofs/playwright-gemini-v5-w305/ai-hub_html.png and b/proofs/playwright-gemini-v5-w305/ai-hub_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/ai-hub_html.webm b/proofs/playwright-gemini-v5-w305/ai-hub_html.webm index 0d2af5f50..8360cb544 100644 Binary files a/proofs/playwright-gemini-v5-w305/ai-hub_html.webm and b/proofs/playwright-gemini-v5-w305/ai-hub_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/ai-hub_html_hover.png b/proofs/playwright-gemini-v5-w305/ai-hub_html_hover.png index 72f475cca..804827721 100644 Binary files a/proofs/playwright-gemini-v5-w305/ai-hub_html_hover.png and b/proofs/playwright-gemini-v5-w305/ai-hub_html_hover.png differ diff --git a/proofs/playwright-gemini-v5-w305/brain-council_html.png b/proofs/playwright-gemini-v5-w305/brain-council_html.png index dce894630..386688572 100644 Binary files a/proofs/playwright-gemini-v5-w305/brain-council_html.png and b/proofs/playwright-gemini-v5-w305/brain-council_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/brain-council_html.webm b/proofs/playwright-gemini-v5-w305/brain-council_html.webm index 200216d38..96c5ea388 100644 Binary files a/proofs/playwright-gemini-v5-w305/brain-council_html.webm and b/proofs/playwright-gemini-v5-w305/brain-council_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/brain-council_html_hover.png b/proofs/playwright-gemini-v5-w305/brain-council_html_hover.png index fdfb7aa1d..6e7c84c61 100644 Binary files a/proofs/playwright-gemini-v5-w305/brain-council_html_hover.png and b/proofs/playwright-gemini-v5-w305/brain-council_html_hover.png differ diff --git a/proofs/playwright-gemini-v5-w305/deerflow-hub_html.png b/proofs/playwright-gemini-v5-w305/deerflow-hub_html.png index 2165321d6..1128f58d5 100644 Binary files a/proofs/playwright-gemini-v5-w305/deerflow-hub_html.png and b/proofs/playwright-gemini-v5-w305/deerflow-hub_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/deerflow-hub_html.webm b/proofs/playwright-gemini-v5-w305/deerflow-hub_html.webm index 5ee0b762c..d8ea5dca6 100644 Binary files a/proofs/playwright-gemini-v5-w305/deerflow-hub_html.webm and b/proofs/playwright-gemini-v5-w305/deerflow-hub_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/deerflow-hub_html_hover.png b/proofs/playwright-gemini-v5-w305/deerflow-hub_html_hover.png index 39bd22f21..1875874f1 100644 Binary files a/proofs/playwright-gemini-v5-w305/deerflow-hub_html_hover.png and b/proofs/playwright-gemini-v5-w305/deerflow-hub_html_hover.png differ diff --git a/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.png b/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.png index 486a67546..2adcbe107 100644 Binary files a/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.png and b/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.webm b/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.webm index 8e8de774e..03b2e9b7d 100644 Binary files a/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.webm and b/proofs/playwright-gemini-v5-w305/growth-engine-v2_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/page@2896f356cc9f59e7d4d7f240933e1923.webm b/proofs/playwright-gemini-v5-w305/page@2896f356cc9f59e7d4d7f240933e1923.webm new file mode 100644 index 000000000..e69de29bb diff --git a/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.png b/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.png index d5cfdb4af..d3eef0c5a 100644 Binary files a/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.png and b/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.webm b/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.webm index 673a4e24c..75bfb7c20 100644 Binary files a/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.webm and b/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html_hover.png b/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html_hover.png index 7ac81b285..2a28429c8 100644 Binary files a/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html_hover.png and b/proofs/playwright-gemini-v5-w305/paperclip-dashboard_html_hover.png differ diff --git a/proofs/playwright-gemini-v5-w305/report.json b/proofs/playwright-gemini-v5-w305/report.json index c7ebb5bf1..727b64c11 100644 --- a/proofs/playwright-gemini-v5-w305/report.json +++ b/proofs/playwright-gemini-v5-w305/report.json @@ -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 /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 } } \ No newline at end of file diff --git a/proofs/playwright-gemini-v5-w305/wevia-meeting_php.png b/proofs/playwright-gemini-v5-w305/wevia-meeting_php.png index 544cd9126..8441b8ea7 100644 Binary files a/proofs/playwright-gemini-v5-w305/wevia-meeting_php.png and b/proofs/playwright-gemini-v5-w305/wevia-meeting_php.png differ diff --git a/proofs/playwright-gemini-v5-w305/wevia-meeting_php.webm b/proofs/playwright-gemini-v5-w305/wevia-meeting_php.webm index dd2f4a9fb..aa9bfd2b4 100644 Binary files a/proofs/playwright-gemini-v5-w305/wevia-meeting_php.webm and b/proofs/playwright-gemini-v5-w305/wevia-meeting_php.webm differ diff --git a/proofs/playwright-gemini-v5-w305/wevia-meeting_php_hover.png b/proofs/playwright-gemini-v5-w305/wevia-meeting_php_hover.png index 503f4b59d..6a437a471 100644 Binary files a/proofs/playwright-gemini-v5-w305/wevia-meeting_php_hover.png and b/proofs/playwright-gemini-v5-w305/wevia-meeting_php_hover.png differ diff --git a/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.png b/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.png index ca41ed265..47e9d9eb5 100644 Binary files a/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.png and b/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.png differ diff --git a/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.webm b/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.webm index cf3bd52de..4ce02c99c 100644 Binary files a/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.webm and b/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html.webm differ diff --git a/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html_hover.png b/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html_hover.png index 15ca2f2fe..db8357ac7 100644 Binary files a/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html_hover.png and b/proofs/playwright-gemini-v5-w305/wevia-multiagent-dashboard_html_hover.png differ