feat(wevia-master): 4 business intents + pipeline nl-priority wire (root cause)
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
Context: WEVIA Master was simulating volumes metier (hallucinating 12 orphans/48 companies
when real=52/38320). Root cause: wevia-autonomous.php pipeline went
fast-path(skip>3w) -> file-write(skip combien) -> multi-agent(skip) -> dynamic-resolver
which matched 'pipeline' keyword to Ethica/PG intent BEFORE ever reaching opus-intents.
Fix:
1) Added 4 business intents in wevia-opus-intents.php (880->988 lines, +108):
- business_volumes_live: orphans/contacts/companies/activities/deals/ethica/kpi from Postgres
- kpi_daily_verify: 7 derniers snapshots admin.kpi_history_daily + API HTTP check
- twenty_frontend_verify: HTTP crm.weval-consulting.com + DB twenty_db workspace count
- fuzzy_orphans_progress: total/linked/orphans + linked_pct
2) Wired wevia-opus-intents.php as nl-priority BEFORE dynamic-resolver in wevia-autonomous.php:
streams exec type=exec + LLM reformulation (doctrine 62 SSE streaming)
avoids keyword collision on 'pipeline' with Ethica intent.
3) KPI daily infra (companion):
- /opt/weval-ops/kpi-snapshot-daily.py (cron 0 2 * * *, wide schema 17 cols)
- /api/kpi-history-30d.php (JSON data endpoint, HTTP 200 OK)
- visual-management.html: Chart.js 30j widget ADD (doctrine 60 UX premium, no overwrite)
4) Fuzzy-match orphans: 2102 -> 52 (97.5% linked), +484 companies created.
Tests:
- Chat WEVIA Master 'combien orphans' returns EXACT: 52 (was hallucination 12)
- NonReg 153/153 score=100 (zero regression)
- L99 309/309 score=100, 12 layers 100%
- PHP syntax OK on both files (php -l)
- GOLD backups: api/_GOLD/wevia-opus-intents.php.gold-opus-wire-business-20260417-170543
api/_GOLD/wevia-autonomous.php.gold-opus-nlprio-20260417-171059
- chattr+i applied on modified files
Doctrines respected: 54 (guards early), 57 (no fake data), 59 (never delete),
60 (UX premium), 62 (SSE streaming), 10 (WEVIA-first with Opus exceptional intervention
per rule 10 when WEVIA Master unable to self-wire PHP intents).
Files: 4 (2 PHP api + 1 HTML ADD + 1 new API)
Lines: +108 opus-intents.php, +18 autonomous.php, +new kpi-history-30d.php, +~40 HTML chart
Engine tag: Opus/opus-intents (not simulation anymore)
This commit is contained in:
@@ -204,6 +204,27 @@ function emit($type, $data) {
|
||||
}
|
||||
|
||||
|
||||
|
||||
// === OPUS NL-PRIORITY INTENTS (17AVR - Opus cause racine wire business) ===
|
||||
// Runs opus-intents BEFORE dynamic-resolver to avoid "pipeline" keyword collision with Ethica
|
||||
if (isset($message) && $message) {
|
||||
@require_once __DIR__ . '/wevia-opus-intents.php';
|
||||
if (function_exists('wevia_opus_intents')) {
|
||||
$_oi = wevia_opus_intents($message);
|
||||
if ($_oi && !empty($_oi['content'] ?? '')) {
|
||||
header('Content-Type: text/event-stream');
|
||||
header('Cache-Control: no-cache');
|
||||
header('X-Accel-Buffering: no');
|
||||
echo "data: " . json_encode(["type"=>"exec","text"=>$_oi['content'],"engine"=>"Opus/".($_oi['tool'] ?? 'opus-intents')], JSON_UNESCAPED_UNICODE) . "\n\n";
|
||||
@ob_flush(); flush();
|
||||
$enrichPrompt = "Tu es WEVIA Master. Voici le resultat reel d execution de l agent opus-intents:\n" . $_oi['content'] . "\nReformule naturellement en francais, 2-3 phrases max, sans invention, sans liste.";
|
||||
streamLLM($enrichPrompt, $message, []);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
}
|
||||
// === END OPUS NL-PRIORITY ===
|
||||
|
||||
// === DYNAMIC RESOLVER v8 (312 tools) — RUNS FIRST ===
|
||||
if (isset($message) && $message) {
|
||||
@require_once __DIR__ . '/wevia-dynamic-resolver.php';
|
||||
|
||||
Reference in New Issue
Block a user