auto-sync via WEVIA git_sync_all intent 2026-04-21T13:27:41+02:00
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
opus
2026-04-21 13:27:41 +02:00
parent c572e6b647
commit 2a380ed5a1
23 changed files with 544 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
{
"generated_at": "2026-04-21T13:20:01.528566",
"generated_at": "2026-04-21T13:25:02.141011",
"stats": {
"total": 48,
"pending": 31,

View File

@@ -0,0 +1,281 @@
{
"ts": "2026-04-21T11:25:02+00:00",
"server": "s204",
"s204": {
"load": 2.16,
"uptime": "2026-04-14 11:51:24",
"ram_total_mb": 31335,
"ram_used_mb": 12080,
"ram_free_mb": 19254,
"disk_total": "150G",
"disk_used": "117G",
"disk_free": "27G",
"disk_pct": "82%",
"fpm_workers": 140,
"docker_containers": 19,
"cpu_cores": 8
},
"s95": {
"load": 0.19,
"disk_pct": "81%",
"status": "UP",
"ram_total_mb": 15610,
"ram_free_mb": 12023
},
"pmta": [
{
"name": "SER6",
"ip": "110.239.84.121",
"status": "DOWN"
},
{
"name": "SER7",
"ip": "110.239.65.64",
"status": "DOWN"
},
{
"name": "SER8",
"ip": "182.160.55.107",
"status": "DOWN"
},
{
"name": "SER9",
"ip": "110.239.86.68",
"status": "DOWN"
}
],
"assets": {
"html_pages": 294,
"php_apis": 776,
"wiki_entries": 1988,
"vault_doctrines": 61,
"vault_sessions": 104,
"vault_decisions": 12
},
"tools": {
"total": 627,
"registry_version": "?"
},
"sovereign": {
"status": "UP",
"providers": [
"Cerebras-fast",
"Cerebras-think",
"Groq",
"Cloudflare-AI",
"Gemini",
"SambaNova",
"NVIDIA-NIM",
"Mistral",
"Groq-OSS",
"HF-Space",
"HF-Router",
"OpenRouter",
"GitHub-Models"
],
"active": 13,
"total": 13,
"primary": "Cerebras-fast",
"cost": "0€"
},
"ethica": {
"total_hcps": 161733,
"with_email": 110597,
"with_phone": 155151,
"gap_email": 51136,
"pct_email": 68.4,
"pct_phone": 95.9,
"by_country": [
{
"country": "DZ",
"hcps": 122337,
"with_email": 78497,
"with_tel": 119396,
"pct_email": 64.2,
"pct_tel": 97.6
},
{
"country": "MA",
"hcps": 19723,
"with_email": 15076,
"with_tel": 18737,
"pct_email": 76.4,
"pct_tel": 95
},
{
"country": "TN",
"hcps": 17794,
"with_email": 15145,
"with_tel": 17018,
"pct_email": 85.1,
"pct_tel": 95.6
},
{
"country": "INTL",
"hcps": 1879,
"with_email": 1879,
"with_tel": 0,
"pct_email": 100,
"pct_tel": 0
}
]
},
"docker": [
{
"name": "loki",
"status": "Up 4 days",
"ports": ""
},
{
"name": "listmonk",
"status": "Up 5 days",
"ports": ""
},
{
"name": "plausible-plausible-1",
"status": "Up 3 days",
"ports": ""
},
{
"name": "plausible-plausible-db-1",
"status": "Up 3 days",
"ports": ""
},
{
"name": "plausible-plausible-events-db-1",
"status": "Up 3 days",
"ports": ""
},
{
"name": "n8n-docker-n8n-1",
"status": "Up 5 days",
"ports": ""
},
{
"name": "mattermost-docker-mm-db-1",
"status": "Up 5 days",
"ports": ""
},
{
"name": "mattermost-docker-mattermost-1",
"status": "Up 5 days (healthy)",
"ports": ""
},
{
"name": "twenty",
"status": "Up 5 days",
"ports": ""
},
{
"name": "twenty-redis",
"status": "Up 5 days",
"ports": ""
},
{
"name": "langfuse",
"status": "Up 5 days",
"ports": ""
},
{
"name": "redis-weval",
"status": "Up 6 days",
"ports": ""
},
{
"name": "gitea",
"status": "Up 6 days",
"ports": ""
},
{
"name": "node-exporter",
"status": "Up 6 days",
"ports": ""
},
{
"name": "prometheus",
"status": "Up 6 days",
"ports": ""
},
{
"name": "searxng",
"status": "Up 6 days",
"ports": ""
},
{
"name": "uptime-kuma",
"status": "Up 35 hours (healthy)",
"ports": ""
},
{
"name": "vaultwarden",
"status": "Up 6 days (healthy)",
"ports": ""
},
{
"name": "qdrant",
"status": "Up 6 days",
"ports": ""
}
],
"crons": {
"active": 35
},
"git": {
"head": "a28c0be0f auto-sync-1325",
"dirty": 1,
"status": "DIRTY"
},
"nonreg": {
"total": 153,
"passed": 153,
"score": "100%"
},
"services": [
{
"name": "DeerFlow",
"port": 3002,
"status": "UP"
},
{
"name": "DeerFlow API",
"port": 8001,
"status": "UP"
},
{
"name": "Qdrant",
"port": 6333,
"status": "UP"
},
{
"name": "Ollama",
"port": 11434,
"status": "UP"
},
{
"name": "Redis",
"port": 6379,
"status": "UP"
},
{
"name": "Sovereign",
"port": 4000,
"status": "UP"
},
{
"name": "SearXNG",
"port": 8080,
"status": "UP"
}
],
"whisper": {
"binary": "COMPILED",
"model": "142MB"
},
"grand_total": 3765,
"health": {
"score": 5,
"max": 6,
"pct": 83
},
"elapsed_ms": 10883
}

View File

@@ -1,7 +1,7 @@
{
"ok": true,
"version": "V83-business-kpi",
"ts": "2026-04-21T11:24:55+00:00",
"ts": "2026-04-21T11:27:26+00:00",
"summary": {
"total_categories": 8,
"total_kpis": 64,

Binary file not shown.

After

Width:  |  Height:  |  Size: 301 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

View File

@@ -0,0 +1,126 @@
{
"ts": "20260421-132656",
"out_dir": "/var/www/html/api/v_opus_links_test_20260421-132656",
"internal_found": 7,
"tested": 7,
"results": [
{
"idx": 1,
"href": "/weval-technology-platform.html",
"text": "\u2190 WTP",
"http": 200,
"final_url": "https://weval-consulting.com/weval-technology-platform.html",
"redirected": false,
"redirect_to_login": false,
"title": "WEVAL Technology Platform \u2014 All-in-One ERP Portal",
"body_kb": 14.8,
"fallback_homepage": false,
"screenshot": "01__weval-technology-platform.png",
"ok": true
},
{
"idx": 2,
"href": "/all-ia-hub.html",
"text": "All-IA",
"http": 200,
"final_url": "https://weval-consulting.com/all-ia-hub.html",
"redirected": false,
"redirect_to_login": false,
"title": "All-IA Hub \u2014 Remplacement Claude Code + Opus (Souverain)",
"body_kb": 0.9,
"fallback_homepage": false,
"screenshot": "02__all-ia-hub.png",
"ok": true
},
{
"idx": 3,
"href": "/wevia-arena.html",
"text": "Arena",
"http": 200,
"final_url": "https://weval-consulting.com/wevia-arena.html",
"redirected": false,
"redirect_to_login": false,
"title": "WEVAL Consulting \u2014 Enterprise Digital Transformation | ERP \u00b7",
"body_kb": 1.2,
"fallback_homepage": false,
"screenshot": "03__wevia-arena.png",
"ok": true
},
{
"idx": 4,
"href": "/wevia-master.html",
"text": "WEVIA Master",
"http": 200,
"final_url": "https://weval-consulting.com/wevia-master.html",
"redirected": false,
"redirect_to_login": false,
"title": "WEVIA Master AI",
"body_kb": 0.9,
"fallback_homepage": false,
"screenshot": "04__wevia-master.png",
"ok": true
},
{
"idx": 5,
"href": "/wevia-orchestrator.html",
"text": "Orchestrator",
"http": 200,
"final_url": "https://weval-consulting.com/wevia-orchestrator.html",
"redirected": false,
"redirect_to_login": false,
"title": "WEVIA \u2014 Orchestrator GODMODE",
"body_kb": 34.7,
"fallback_homepage": false,
"screenshot": "05__wevia-orchestrator.png",
"ok": true
},
{
"idx": 6,
"href": "/wevia-unified-hub.html",
"text": "Truth Hub",
"http": 200,
"final_url": "https://weval-consulting.com/wevia-unified-hub.html",
"redirected": false,
"redirect_to_login": false,
"title": "WEVIA Unified Hub v2 \u00b7 tout d\u00e9dupliqu\u00e9",
"body_kb": 1.9,
"fallback_homepage": false,
"screenshot": "06__wevia-unified-hub.png",
"ok": true
},
{
"idx": 7,
"href": "/logout",
"text": "Logout",
"http": 200,
"final_url": "https://weval-consulting.com/",
"redirected": true,
"redirect_to_login": false,
"title": "WEVAL Consulting \u2014 Enterprise Digital Transformation | ERP \u00b7",
"body_kb": 11.3,
"fallback_homepage": false,
"screenshot": "07__logout.png",
"ok": true
}
],
"videos": [
"10522166858932eb7bd4d3b9c83c09d0.webm",
"11b0edad14d6f6c9ed2dfcfd946790ca.webm",
"298748e35f70838845e589d6924888a7.webm",
"30813ca589ccd91ca5ca7189b92e8fae.webm",
"443e61cc3de9e8a8ed629abfdf29980d.webm",
"7d12ff15a8aad7bdfc10e200b5bd32e3.webm",
"817f1abec050fbe5bbce78369daa8a0e.webm",
"88be4f64ec4e3f5488caef91f143e719.webm"
],
"screenshots": [
"00_start_wepredict.png",
"01__weval-technology-platform.png",
"02__all-ia-hub.png",
"03__wevia-arena.png",
"04__wevia-master.png",
"05__wevia-orchestrator.png",
"06__wevia-unified-hub.png",
"07__logout.png"
]
}

View File

@@ -0,0 +1,65 @@
<?php
/**
* intent-opus4-read_truth_registry.php
* AMBRE session · 2026-04-21
* Ferme gap autonomie : remplace LLM fallback qui hallucinait "Yacine Khaled"
* quand on demandait /api/wevia-truth-registry.json.
* Doctrine #4 ZERO FAKE DATA — retourne les scalaires du vrai registry.
* Invocation : /api/opus-arch-generic.php?tool=read_truth_registry
*/
header('Content-Type: application/json');
$candidates = [
'/var/www/html/api/wevia-truth-registry.json',
'/var/www/html/api/truth-registry.json',
'/opt/wevads/vault/wevia-truth-registry.json',
];
$path = null;
foreach ($candidates as $c) {
if (file_exists($c)) { $path = $c; break; }
}
if (!$path) {
echo json_encode(['ok'=>false, 'error'=>'truth registry not found', 'tried'=>$candidates]);
exit;
}
$raw = file_get_contents($path);
$data = json_decode($raw, true);
if (!is_array($data)) {
echo json_encode(['ok'=>false, 'error'=>'invalid JSON', 'path'=>$path]);
exit;
}
// Extract scalars (flat values) + count nested arrays
$scalars = [];
$nested = [];
foreach ($data as $k => $v) {
if (is_array($v) || is_object($v)) {
$nested[$k] = is_array($v) ? count($v) : 'object';
} else {
$scalars[$k] = $v;
}
}
// Pick the 10 most relevant headline metrics if they exist
$headlines = [];
foreach ([
'agents_count','agents_total','intents_count','tools_count','providers_count',
'skills_total','brains_count','doctrines_count','dashboards_count',
'nonreg_score','l99_score','autonomy_level','autonomy_score',
'ethica_hcps_total','pages_count','apis_count','crons_count','built_at','last_update'
] as $key) {
if (isset($data[$key]) && !is_array($data[$key])) {
$headlines[$key] = $data[$key];
}
}
echo json_encode([
'ok' => true,
'path' => $path,
'bytes' => strlen($raw),
'headlines' => $headlines,
'scalars' => $scalars,
'nested' => $nested,
'source' => 'intent-opus4-read_truth_registry.php · ambre · doctrine#4 honest · no hallucination',
], JSON_PRETTY_PRINT);

View File

@@ -0,0 +1,63 @@
<?php
/**
* intent-opus4-scan_file.php
* AMBRE session · 2026-04-21
* Ferme gap autonomie : remplace LLM fallback hallucination quand on demande
* l'état d'un fichier (wtp_state, wepredict_state, etc.).
* Doctrine #4 ZERO FAKE DATA — retourne uniquement les faits stat+md5+version.
* Invocation : /api/opus-arch-generic.php?tool=scan_file&path=/var/www/html/xxx.html
*/
header('Content-Type: application/json');
$target = $_GET['path'] ?? '/var/www/html/wepredict.html';
// Whitelist sécurité : ne lit que sous /var/www/html ou /opt/wevads
$real = realpath($target);
$allowed = ['/var/www/html/', '/opt/wevads/', '/opt/weval-l99/'];
$ok_root = false;
foreach ($allowed as $root) {
if ($real && strpos($real, $root) === 0) { $ok_root = true; break; }
}
if (!$ok_root) {
echo json_encode(['ok'=>false, 'error'=>'path outside allowed roots', 'path'=>$target]);
exit;
}
if (!file_exists($real)) {
echo json_encode(['ok'=>false, 'error'=>'file not found', 'path'=>$target]);
exit;
}
$stat = stat($real);
$md5 = md5_file($real);
$content = file_get_contents($real);
// Version extraction patterns (HTML, PHP, JS)
$version = 'unknown';
foreach ([
'/data-version="([^"]+)"/',
'/"wevia-version"\s+content="([^"]+)"/',
'/@version\s+([^\s\*]+)/',
'/VERSION\s*=\s*[\'"]([^\'"]+)/',
] as $pat) {
if (preg_match($pat, $content, $m)) { $version = $m[1]; break; }
}
// Detect live URL if under /var/www/html
$url = null;
if (strpos($real, '/var/www/html/') === 0) {
$rel = substr($real, strlen('/var/www/html/'));
$url = 'https://weval-consulting.com/' . $rel;
}
echo json_encode([
'ok' => true,
'path' => $real,
'url' => $url,
'size' => $stat['size'],
'size_kb' => round($stat['size'] / 1024, 1),
'mtime' => date('c', $stat['mtime']),
'md5' => $md5,
'version' => $version,
'lines' => substr_count($content, "\n"),
'source' => 'intent-opus4-scan_file.php · ambre · doctrine#4 honest',
], JSON_PRETTY_PRINT);

View File

@@ -857,17 +857,17 @@ footer.eco .truth-link:hover{ background: rgba(34,211,238,0.08); border-color: r
<body>
<nav class="xnav" aria-label="Pivot ecosystem">
<a href="/wtp.html">← WTP</a>
<a href="/weval-technology-platform.html">← WTP</a>
<span class="sep">/</span>
<a href="/all-ia.html">All-IA</a>
<a href="/all-ia-hub.html">All-IA</a>
<span class="sep">/</span>
<a href="/arena.html">Arena</a>
<a href="/wevia-arena.html">Arena</a>
<span class="sep">/</span>
<a href="/wevia-master.html">WEVIA Master</a>
<span class="sep">/</span>
<a href="/orchestrator.html">Orchestrator</a>
<a href="/wevia-orchestrator.html">Orchestrator</a>
<span class="sep">/</span>
<a href="/truth-hub.html">Truth Hub</a>
<a href="/wevia-unified-hub.html">Truth Hub</a>
<span class="sep">·</span>
<a href="#" class="current">WePredict Cockpit</a>
</nav>
@@ -1037,7 +1037,7 @@ footer.eco .truth-link:hover{ background: rgba(34,211,238,0.08); border-color: r
<span class="item"><span class="k">HCP</span> 161 733</span>
<span class="item"><span class="k">Doctrines</span> 19</span>
</div>
<a class="ticker-cta" href="/truth-hub.html">Truth Registry →</a>
<a class="ticker-cta" href="/wevia-unified-hub.html">Truth Registry →</a>
</div>
</header>
@@ -1239,7 +1239,7 @@ footer.eco .truth-link:hover{ background: rgba(34,211,238,0.08); border-color: r
<span class="sep">·</span>
<span><span class="v">Agents</span> 906</span>
</div>
<a class="truth-link" href="/truth-hub.html">Truth Registry →</a>
<a class="truth-link" href="/wevia-unified-hub.html">Truth Registry →</a>
</footer>
<script>