From a512dc1cd7074e906c40fb28fa571d822b49426b Mon Sep 17 00:00:00 2001 From: Opus-6sigma Date: Sun, 19 Apr 2026 20:37:08 +0200 Subject: [PATCH] V96.2 wiki + plan-action append V40-ter ERP scanner 3-sources [Opus] --- plan-action-2026-04-19.md | 50 ++++++++++ ...us-19avr-v96-2-erp-gap-scanner-3sources.md | 91 +++++++++++++++++++ 2 files changed, 141 insertions(+) create mode 100644 wiki/session-opus-19avr-v96-2-erp-gap-scanner-3sources.md diff --git a/plan-action-2026-04-19.md b/plan-action-2026-04-19.md index c8ff9f210..1dc490ddd 100644 --- a/plan-action-2026-04-19.md +++ b/plan-action-2026-04-19.md @@ -1027,3 +1027,53 @@ Justification honnête: multi-provider sovereign diversity + Ollama offline + do **Chat retest 12/12 PASS**. **NR 153/153** (25eme session). 1 endpoint + 6 intents + 39 DB rows + 3 schema columns. **Next step owner Yacine**: source real emails via LinkedIn Sales Navigator / Hunter.io / Apollo.io + update email_status='sourced'. + + +## V40-ter - Opus 6sigma-finalpush 20h38 - ERP Gap Scanner 3-sources (D+C+B) complet + +### Screenshot pain-points-atlas alert +15+ ERPs à 0 gap incohérent. User demande alignement + scan récurrent auto sources externes. + +### Phase 1 - Enrichissement V66 pain points +- 35 PPs -> 60 PPs (+25 pour ERPs sous-couverts) +- 25/25 ERPs avec >=3 gaps (tous au dessus du seuil) +- 23.1 Meur savings/an (vs 17.36 avant) +- 59 agents uniques + +### Phase 2 - Scanner 3-sources (D/C/B) +- D LLM: scan-erp-gaps-llm.py · Cerebras sovereign 0eur llama3.1-8b · 79 gaps 25/25 ERPs 0.77 conf +- C RSS: scan-erp-gaps-rss.py · feedparser 14 feeds · 3 gaps 0.73 conf (rendement grandit avec cron) +- B Playwright: scan-erp-gaps-playwright.js · chromium 147 TrustRadius public reviews (pivot G2 anti-bot) · 78 gaps 18 ERPs 0.65 conf + +### Phase 3 - Infrastructure +- Table PG erp_gap_scans 4 indexes + UNIQUE constraint +- API /api/erp-gap-scans.php filtres erp/min_conf/limit/source +- Panel atlas injected (glassmorphism UX premium) 7 KPI tiles + per-ERP grid + details pliés 20 gaps +- Cron weekly dimanche 3h dans /etc/crontab + +### Phase 4 - Wire WEVIA 3 intents +- scan_erp_gaps_all +- scan_erp_gaps_llm +- show_erp_gaps_stats + +### Etat DB final +| Source | ERPs | Gaps | Avg conf | +| LLM (D) | 25 | 79 | 0.77 | +| Playwright (B) | 18 | 78 | 0.65 | +| RSS (C) | 2 | 3 | 0.73 | +| TOTAL | 25/25 | 160 | 0.71 | + +### Commit +- fcc07cf6f push origin+gitea aligned +- 8 fichiers: atlas + V66 + 4 scripts + orchestrator + API + +### Doctrines +- 1 Opus chat: 3 intents master add intent + NonReg via chat +- 4 Honnetete: RSS rendement faible declare, G2 echec puis pivot TrustRadius success +- 5 Zero ecrasement: append only, ON CONFLICT DO NOTHING, GOLDs +- 13 Cause racine: G2 anti-bot pivot TrustRadius, LLM JSON truncation fallback +- 14 WTP intact, atlas enrichi additif +- 16 NonReg 153/153 preserve 19eme session +- 60 UX premium panel glassmorphism color-code sources + +[Opus 6sigma-finalpush V96.2] diff --git a/wiki/session-opus-19avr-v96-2-erp-gap-scanner-3sources.md b/wiki/session-opus-19avr-v96-2-erp-gap-scanner-3sources.md new file mode 100644 index 000000000..96da6126a --- /dev/null +++ b/wiki/session-opus-19avr-v96-2-erp-gap-scanner-3sources.md @@ -0,0 +1,91 @@ +# Session Opus V96.2 · 19avr 20h38 · ERP Gap Scanner 3-sources D+C+B complet + +## Contexte +Screenshot pain-points-atlas : 15+ ERPs à 0 gap, incohérent. User demande enrichissement + scan récurrent auto. + +## Phase 1 — Enrichissement immédiat V66 (60 PPs) +- Fichier: `/api/wevia-v66-all-erps-painpoints.php` +- Pain points: 35 → **60** (+25 nouveaux PP036–PP060) +- ERPs couverts: 7 majeurs → **25/25** +- Savings estimées: 17.36M€ → **23.1M€/an** +- Agents uniques: 35 → **59** +- GOLD: `.gold-19avr-v96-pre-25pps` + +## Phase 2 — Scanner automatique 3-sources + +### D. LLM (Cerebras sovereign 0€) +- Script: `/api/scan-erp-gaps-llm.py` +- Provider: Cerebras-fast llama3.1-8b via port 4000 +- Résultat: **79 gaps · 25/25 ERPs · 0.77 conf** +- JSON parse fallback (fin tronquée → close array auto) + +### C. RSS (feedparser) +- Script: `/api/scan-erp-gaps-rss.py` +- 14 flux: Reddit r/ERP SAP NetSuite Dynamics365 salesforce Workday Odoo + CIO TechRepublic ComputerWeekly ERPToday Diginomica CXToday ITWorldCanada +- Résultat: **3 gaps · 2 ERPs · 0.73 conf** (rendement initial faible, grandit avec cron) + +### B. Playwright (Chromium TrustRadius) +- Script: `/api/scan-erp-gaps-playwright.js` +- **Root cause attaquée (doctrine #13)**: G2 anti-bot → pivot TrustRadius = 69 snippets d'un coup +- Résultat: **78 gaps · 18 ERPs · 0.65 conf** +- Browser: chromium-headless-shell 147 installé via `npx playwright install` + +### Orchestrator +- `/api/scan-erp-gaps-all.sh` enchaîne D→C→B avec timeouts + summary SQL + +## Phase 3 — Infrastructure +- Table PG `erp_gap_scans` (session V96 précédente) +- API `/api/erp-gap-scans.php` filtres erp/min_conf/limit/source +- Panel HTML injecté dans `pain-points-atlas.html`: + - Stats tiles 7 KPIs (total, ERPs, conf, last scan, LLM/RSS/PW) + - Grid per-ERP avec badge count + source chips + - Details pliés (20 gaps les plus confiants, color-coded par source) + - Auto-refresh 90s + button manual refresh + - UX premium glassmorphism doctrine #60 + +## Phase 4 — Automation +- Cron weekly: `0 3 * * 0 www-data /var/www/html/api/scan-erp-gaps-all.sh` dans `/etc/crontab` +- 3 intents WEVIA wirés via chat: + - `scan_erp_gaps_all` · triggers: "scan erp gaps all" / "lance scan erp gaps" / "run all erp scanners" + - `scan_erp_gaps_llm` · triggers: "scan erp gaps llm" / "llm gen erp gaps" / "sovereign erp gaps" + - `show_erp_gaps_stats` · triggers: "show erp gaps stats" / "erp gaps summary" / "gap scan summary" + +## État final DB (live) +| Source | ERPs | Gaps | Avg conf | +|---|---|---|---| +| LLM (D) | 25 | 79 | 0.77 | +| Playwright (B) | 18 | 78 | 0.65 | +| RSS (C) | 2 | 3 | 0.73 | +| **TOTAL** | **25** | **160** | **0.71** | + +## Commits +- V96.2: `fcc07cf6f` push origin+gitea aligned (3 refs match) +- 8 fichiers: pain-points-atlas.html, wevia-v66, scan-erp-gaps.{sh,llm.py,rss.py,playwright.js,all.sh}, erp-gap-scans.php + +## GOLD backups (doctrine #3) +- pain-points-atlas.html.gold-19avr-v96-pre-scanpanel +- wevia-v66-all-erps-painpoints.php.gold-19avr-v96-pre-25pps + +## NonReg 153/153 maintenu 19ème session consécutive ✓ + +## Doctrines respectées +| # | Preuve | +|---|---| +| 1 | Opus parle WEVIA chat: 3 intents via `master add intent`, NonReg check via chat, plan-action read via chat | +| 3 | GOLDs créés avant tout patch | +| 4 | Rendement RSS faible signalé franc · G2 0 extraction signalé avant pivot | +| 5 | ON CONFLICT DO NOTHING + skip-if-exists + append-only V66 | +| 13 | G2 anti-bot → TrustRadius (cause racine résolue) · LLM JSON tronqué → fallback close array (résolu) | +| 14 | V66 enrichi, pain-points-atlas panel additif (section séparée avant ``), WTP pas touché | +| 16 | NonReg 153/153 preserved (verified via chat) | +| 60 | Panel UX premium: glassmorphism + color-coded sources + KPI tiles + details pliés | + +## Pour prochain Claude +- **Ne pas supprimer**: les 4 scripts `/api/scan-erp-gaps-*` · API `/api/erp-gap-scans.php` · table PG `erp_gap_scans` · cron weekly +- **Pour étendre**: ajouter un ERP = éditer `ERPS` dict dans `scan-erp-gaps-llm.py` + ajouter URL TrustRadius dans `scan-erp-gaps-playwright.js` +- **Next P1**: + - RSS feeds additionnels (Gartner blog feed, vendor blog RSS) + - Playwright stealth mode pour G2/Capterra (anti-bot bypass) + - LLM retry avec Groq/SambaNova fallback en cas de Cerebras busy +- **API live**: https://weval-consulting.com/api/erp-gap-scans.php?limit=20&min_conf=0.5 +- **Atlas live**: https://weval-consulting.com/pain-points-atlas.html (scroll voir panel Scan Panel en bas)