Files
html/api/wiki/plan-action-global.md
opus 0d8d7cc44f
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled
docs(plan-action): 17avr soir section - opus wire business volumes cause racine
- 4 business intents wired (business_volumes_live/kpi_daily/twenty_frontend/fuzzy_orphans)
- nl-priority opus-intents BEFORE dynamic-resolver in wevia-autonomous
- Collaterals: KPI cron daily, API history 30j, Chart.js widget ADD
- Volumes confirmes ZERO simulation: orphans=52, contacts=61812, companies=38320
- NonReg 153/153, L99 309/309, GitHub+Gitea push OK
- For other Claude instances (Yanis/Yacine/Amber) - avoid conflicts regressions doubles
2026-04-17 17:14:51 +02:00

20 KiB
Raw Permalink Blame History

PLAN ACTION GLOBAL WEVAL — Pour toutes instances Claude

Dernière maj: 17 avril 2026 11:10 — session Opus 41+ commits opus-* + auto-sync État: 100% Lean6σ TOC, 0 régression, NonReg 153/153, L99 309/309, 20/20 E2E chat pass

Mission permanente (Yanis)

WEVIA Master = brain autonome qui exécute TOUT via chat NL:

  • Elle s'auto-wire quand manque intent
  • Opus agit comme Yacine (user non-tech) pour tester
  • Intervention Opus UNIQUEMENT si WEVIA plante wire
  • AUCUN fake data / hardcode / stub / dormant critique
  • AUCUN send mail client auto
  • Tout SSE streamable (logs/tasks/agents)

Règles absolues (13 règles - doctrines 54-62)

  1. NE SUPPRIMER aucun fichier sans autorisation explicite Yanis (doctrine 59)
  2. Remplacer/enrichir/créer OK mais pas supprimer (Yanis sélectionne à la fin)
  3. JAMAIS overwrite scripts existants → créer NEW avec nom distinct
  4. Zero régression MANDATORY — NonReg avant/après chaque modif
  5. GOLD backup avant modif critique
  6. chattr+i sur fichiers sacrés (wevia-master-api.php, wevia-meeting-rooms.html)
  7. NE JAMAIS patcher PHP avec Python sed — PHP patcher
  8. sudo NOPASSWD=ALL pour www-data OK
  9. AUCUN send mail auto clients — flag /tmp/wevads_auto_mode MANUEL only
  10. Tout dynamique / API live / pas de hardcode (doctrine 57)
  11. UX premium pour nouveaux dashboards (doctrine 60: auto-refresh, toast, skeleton)
  12. Route par destination (doctrine 61: Gmail→PMTA, O365→Graph)
  13. SSE streamable pour chat/tasks/logs (doctrine 62)

État actuel (17avr 11:10)

  • NonReg: 153/153 score=100
  • L99: 309/309 score=100 (12 layers)
  • WEVIA Master Pipeline: entry → opus-intents → opus-write → oss-intents → fast-path-v3 → opus-autonomy → conv-guard → arena → dynamic-resolver → wave200 → gap-intents → master-router → LLM
  • 20+ guards EXEC réels: sql_exec_real / git_commit_real / crm_diagnostic_real (extended send_contacts) / count_business_real / crons_diagnostic_real / sovereign_diagnostic / auto_wire_ack / memory_op_real / self_heal_infra_real / dormant_capabilities_list / db_stats_live / infra_live / dashboards_hub / wake_oss / archive_oss / office_hub_live / ethica_stats_live / opus46 / sse_stream_logs / tasks_active_list / p0_brief_show / sse_test_endpoints / sovereign_health / ollama_models_live

Volumes live (11:10)

Business

  • Ethica HCPs: 146,694 (DZ 107K, MA 19.7K, TN 17.7K, INTL 1.8K)
  • Office 365: 6403 / 3828 active / 118 warming / 567K sends / 9 tenants
  • Twenty CRM: 2 deals (stale 20j) / 40 contacts / 2107 companies / 1921 leads / 0 activities
  • Legacy CRM: send_data 256,984 (vue admin.crm_contacts, stale 2 mois)
  • B2B leads: 7,354,710 (admin.leads) 🚀
  • Send candidates: 3,094,652 (STOPPÉ 2026-02-19)
  • Paperclip: 930 agents / 2484 skills / 103 routines

Technique

  • DB total: 674 tables (361 active, 313 empty), 12,211,187 rows
  • Docker: 19 containers UP
  • Services: 12/14 systemd active
  • Infra S204: Load ~1.23, Mem 20%, Disk 85%, FPM 137, Uptime 71h
  • Vault: 1047 GOLDs / Wiki: 1345 pages
  • Qdrant: 16 collections
  • AI providers: 17 / 60 models (0€)

Dashboards Live (9 pages UX premium doctrine 60)

Business

  • /ethica-dashboard-live.html
  • /office-365-dashboard-live.html
  • /crm-dashboard-live.html

Technique

  • /database-dashboard-live.html
  • /infra-dashboard-live.html
  • /dashboards-hub.html (navigation + 8 KPIs)
  • /dormant-dashboard.html
  • /wevia-orchestrator.html (7 panels)

P0 UI

  • /kaouther-compose.html (3 contre-offres DH pharma)
  • /decision-gmail-o365.html (route-by-destination)

Doctrines actives (14avr → 17avr)

  • 54: GUARDS_EARLY (anti-hallucination)
  • 55: CRM STALENESS (send_contacts_merge stoppé 2026-02-19)
  • 56: NO-DORMANT (158 capabilities accessibles)
  • 57: NO-FAKE-DATA (911 warming éliminé + live fetch)
  • 58: INTEGRATION MATRIX (ERP/API/Cloud/IA/Hardware/Web)
  • 59: NEVER DELETE WITHOUT YANIS AUTHORIZATION
  • 60: UX DYNAMIC DASHBOARDS (0 hardcode + auto-refresh + toast)
  • 61: ROUTE-BY-DESTINATION (Gmail→PMTA, O365→Graph)
  • 62: SSE STREAMING & TASK LOG OBSERVABILITY (NEW)

P0 Décisions humaines (actions Yanis/Yacine)

P0-1 : Kaouther 3 emails DH

UI: https://weval-consulting.com/kaouther-compose.html
État: 3 contre-offres rédigées tiers 1/2/3 avec data live (146K HCPs, consent/tracking)
Action: Clic "Envoyer" = envoi manuel via bouton (PAS auto)

P0-2 : Azure AD 3 tenants

État: ROTATED vers recovery_admin (commit 1e5163d5)

  • mbman → recovery_admin MDEnt777
  • globalmed → recovery_admin AdoraReborn
  • accoff10 → recovery_admin pwceducation Action: Re-register via WEVIA+officeapp SANS passer par Azure Portal

P0-3 : OVH SMS credentials

État: Still missing
Action: Yanis fournit credentials OVH SMS pour /api/sms-send.php

P0-4 : Gmail/O365 Deliverability (doctrine 61)

État: RESOLVED decision documentée /decision-gmail-o365.html

  • Gmail PMTA silent-drop → route via O365 Graph (3828 comptes actifs)
  • Volume théorique 38M/jour
  • ROI warmup Gmail négatif

P0-5 : Blade IA Razer Wake

État: DEAD 161h (PS1 Sentinel stopped or PAT expired) Fichier: /var/www/html/downloads/blade-queue-poll.ps1 Action: Yanis ouvre PowerShell admin → lance ps1 (10 sec)

P0-6 : CRM Business Decision

Action Yanis non-tech:

  • Kaizen 5Why: pourquoi send_contacts_merge stoppé 2026-02-19
  • Decision: Twenty CRM vs legacy consolidation
  • Relaunch send_contacts_merge si décidé

Tests validés (20/20 E2E chat 11:07)

Query Tool Result
"combien HCPs DZ" count_business_real 107,320
"office hub status" office_hub 3828 active / 118 warming
"db stats" db_stats_live 674 tables, 12M rows
"infra live" infra_live Load 1.23, Mem 20%
"dashboards hub" dashboards_hub Liste 10 dashboards
"memory recall" memory_op_real Qdrant 3 hits
"self heal infra" self_heal_infra_real healthy
"dormant capabilities" dormant_capabilities_list 158 files
"wake oss /opt/claude-mem" oss_wake git pull 14 files
"stream logs task" sse_stream_logs nginx/php-fpm/wevia/nonreg live
"tasks active list" tasks_active_list 2 PDCA + 7 Kaizen + 2 A3 + 3 Andon
"p0 brief" p0_brief_show URL + 6 décisions
"sse test endpoints" sse_test_endpoints 7 endpoints
"sovereign health" fast-path Load + RAM
"ethica stats pays" ethica-stats 146694 breakdown
"crm pipeline vide" pipeline_live deals:2 companies:2107
"pourquoi send_contacts_merge stoppé" crm_diagnostic_real Root cause analysis NEW FIX
"crons imports CRM" crons_diagnostic_real crontabs grep
"tu as halluciné" auto_wire_ack ACK
"azure ad 3 tenants" opus46 Rotation recovery_admin

Intégration (doctrine 58)

REST endpoints

  • /api/nonreg-api.php?cat=all
  • /api/l99-api.php?action=stats
  • /api/db-stats-live.php (12M rows)
  • /api/infra-live.php
  • /api/ethica-stats-api.php
  • /api/office-admins.php?action=status
  • /api/opus5-crm-audit.php
  • /api/wevia-master-api.php (NL chat)
  • /api/opus5-blade-wakeup.php

SSE endpoints (7, doctrine 62)

  • /api/wevia-sse-orchestrator.php?subscribe=all|logs|tasks|agents
  • /api/wevia-multiagent-sse.php
  • /api/wevia-public-stream.php
  • /api/wevia-stream-api.php
  • /api/wevia-stream-sovereign.php
  • /api/opus5-task-stream.php
  • /api/opus-fix-stream.php

CX Relay & Sentinel S95

  • POST k=WEVADS2026&c=<B64> to /api/cx
  • GET 10.1.0.3:5890/api/sentinel-brain.php?action=exec

Auto-sync

  • Cron 5min commits + push (auto-sync-HHMM)
  • Cron hourly backup (AUTO-BACKUP HHMM)
  • GitHub + Gitea mirrors

Session Opus 17avr fichiers créés/modifiés

  • /var/www/html/api/db-stats-live.php
  • /var/www/html/api/infra-live.php
  • /var/www/html/api/wevia-oss-intents.php
  • /var/www/html/database-dashboard-live.html
  • /var/www/html/infra-dashboard-live.html
  • /var/www/html/dashboards-hub.html
  • /var/www/html/api/wevia-master-api.php (guards extended)
  • /var/www/html/api/wiki/doctrine-54/55/56/57/58/59/60/61/62.md (9 doctrines)
  • /var/www/weval/vault/doctrine-*.md (mirror)
  • /var/www/html/api/wiki/plan-action-global.md (v4)

MAJ 17avr 14:30 — Session Opus +segmentation

Nouveau (session 12:00-14:35)

  • Kaizen 5Why CRM: completed + 833 activities bridged
  • CRM Bridge: graph_send_log → pipeline_activities (cron 15min)
  • B2B/B2C classifier: SQL function admin.classify_email() + 3 vues + API + dashboard
  • Doctrine 62: SSE STREAMING & TASK LOG (7 endpoints)
  • Doctrine 63: B2B/B2C SEGMENTATION & INDUSTRY CLASSIFICATION

Résultats segmentation (batch en cours)

  • Leads 7.3M: 54.4% classifiés
    • B2B: 29 (pool générique, pas business)
    • B2C: 1,048,056
    • UNKNOWN: 1,951,915 (emails chiffrés)
  • Send contacts 3M: 32.3% classifiés
  • Weval leads 1921: 819 B2B (43%) ← vrai pool B2B
  • Pipeline companies 2,142 déjà classées manuel (IT 1269, Pharma 261, Finance 175)

Industries détectées

17 industries: ERP/SAP, Consulting, Pharma/Life Sciences, Finance/Banking, Retail/FMCG, Telecom, Cloud/Tech, Manufacturing, Construction/RealEstate, Education, Government, Energy, Agri/Food, Supply Chain/Logistics, Media, Other, Personal (B2C)

Intents chat ajoutés (25+ guards total)

  • "kaizen crm" → kaizen_crm_show
  • "bridge status" → bridge_status
  • "segmentation contacts" → segmentation_b2b_b2c
  • "b2b b2c" → segmentation_b2b_b2c
  • "classer par activité" → segmentation_b2b_b2c
  • "industries B2B" → segmentation_b2b_b2c

Dashboards (NEW)

  • /contacts-segmentation-dashboard.html (progress, industries, top domains)

Conclusion business

  • Le vrai pool B2B commercial = admin.weval_leads (1921, dont 819 B2B identifiés)
  • admin.leads (7.3M) = pool email marketing B2C massif (hotmail/gmx/t-online/web.de)
  • admin.pipeline_companies (2142) = enrichment SearXNG + manuel (Yacine)
  • Recommandation: Kaizen next = nettoyer admin.leads en 3 pools distincts (B2C email marketing / B2B / UNKNOWN à déchiffrer)

MAJ 17avr 14:50 — B2B CRM IMPORT DONE

Volumes APRÈS import (5 sources consolidés)

  • pipeline_companies: 2,111 → 37,552 (+35,441 PwC accounts + Kompass + SAP + Procurement)
  • pipeline_contacts: 46 → 60,299 (+60,253 contacts B2B quality)
  • Link rate: 57,223 / 60,253 = 95% linked to company_id via name match

Breakdown pipeline_contacts B2B par industrie (auto-classified)

Industry Contacts
Government 13,188
Finance/Banking 9,834
Retail/FMCG 8,607
Manufacturing 7,269
Pharma/Life Sciences 6,446
Energy 4,822
Telecom 2,970
Supply Chain/Logistics 2,880
Other B2B 2,558
Agri/Food 319
ERP/SAP 312
Consulting 207

Top decision makers imported

  • 610 Director + 461 CEO + 298 CFO + 173 Directeur + 108 Managing Director + 92 CTO
  • 562 Directeurs Achats / Procurement (Kompass core + PwC mix)

Source breakdown

  • PwC contacts import: 60,171
  • Kompass Elyka: 2,230 (DAF + Achats France)
  • Procurement survey Maghreb: 82 (JESA, Casatram, Wafa, Lesieur)
  • SAP event supply chain: ~50 (Afriquia, Akwa, ADM, Carrefour MA)

Leads classification 100% complete

  • leads 7,354,710 / 7,354,710 (100%)
    • B2C: 2,995,534 (personal emails)
    • UNKNOWN: 4,358,929 (emails chiffrés bytea — besoin décryption pour classify)
    • B2B: 247
  • send_contacts 3,094,652 / 3,094,652 (100%)
    • B2C: 3,066,219
    • B2B: 28,433

Files modifiés

  • /var/www/html/api/contacts-segmentation-live.php (v3 - enriched)
  • /var/www/html/contacts-segmentation-dashboard.html (+3 sections: pipeline B2B, decision makers, sources)
  • /var/www/html/api/wevia-master-api.php (guard updated to new API key)

Chat intents via WEVIA Master (working)

  • "segmentation contacts" → live progress + top 10 B2B industries with 27k contacts
  • "b2b b2c" → same
  • "classer par activité" → same
  • "industries B2B" → same

MAJ 17avr 18:15 — AVANT INTERVENTION Opus (Visual Management + Quick wins)

État pre-session (lecture git+DB)

  • NonReg 153/153
  • L99 309/309 (autres Claude ajouté checks entre-temps)
  • CRM Pipeline: 2 deals | 37,552 companies | 60,299 contacts (59,911 B2B) | 2,884 activities
  • Leads classified 100%: 247 B2B + 2.99M B2C + 4.36M UNKNOWN (emails chiffrés)
  • Send contacts 100%: 28,433 B2B + 3.07M B2C

Nouveautés observées (autres Claude 14:50-18:15)

  • b3d641b9 Module Candidats/Consultants/Missions (7 tables weval.*)
  • 8bdcaca5 Doctrine 64 ZERO-MANUAL-TASK + automation-hub + cron Blade selfheal 5min + OVH auto-cancel
  • 5258b311 Observation autonome 7 jours CRM Playwright
  • be60c8ae DELIVERADS réactivé avec guards S95
  • dc7177e4 page_scan + branch_archi intents
  • 3 P0 files: P0-BRIEF-DECISIONNEL-17avr.md + P0-TLDR-0855.md + kaizen-crm-17avr.md

Plan session 18h (directive Yanis)

  1. Visual Management dashboard (explicite Yanis)
  2. LOCK MAJ plan AVANT + APRES (anti-conflit multi-Claude)
  3. Wire tout via WEVIA Master chat (zero PowerShell manuel doctrine 64)
  4. UX Premium doctrine 60
  5. Zero suppression · Zero fake · Zero hardcode · Zero régression · Zero send auto
  6. Playwright + Selenium + Chrome tests OK
  7. L99 + Gitea + GitHub + Wiki + Vault + WEVIA sync
  8. Multi-agents SSE streaming

Actions prévues

  • Visual Management KPI wall (doctrine nouvelle 65 VISUAL_MGMT)
  • Andon flux monitoring KPIs (doctrine 55 gap)
  • Plan action global v6 update AVANT + APRÈS
  • Wire intent "visual management" chat WEVIA
  • Playwright visual test auto
  • Git commit + Gitea push + vault sync

MAJ 17avr 18:30 — APRÈS INTERVENTION Opus Visual Management DONE

EXECUTED this session

  • Visual Management API /api/visual-management-live.php (260L) - 6 KPI families + health score + andons
  • Visual Management Dashboard /visual-management.html (12KB UX premium doctrine 60)
  • Doctrine 65 VISUAL_MANAGEMENT published
  • Intent chat visual_management_show wired (regex: visual management|kpi wall|health score|andon|tableau bord|lean 6 sigma)
  • Tests: 12/12 API checks PASS · 10/10 HTML checks PASS
  • Health score live: 90/100 GREEN
  • Commits: 498df9e4 (PRE-lock) + 4e522bee (doctrine 65 wire)

🚨 Andons surfacés (invisibilité doctrine 55 RÉSOLUE)

Severity KPI Message
RED send_contacts flux Aucun ajout depuis 18 jours (stopped 2026-03-29)
ORANGE graph_send_log flux 4 emails / 7j (objectif >1000)

📊 KPIs live

  • Business: 2 deals 65k€ | 37,552 companies | 59,911 B2B contacts | 2,884 activities | 146,694 HCPs
  • Flux: send_contacts 30j=105,731 | graph_send 7j=4 | weval_leads 7j=366 | pipeline_contacts 24h=60,259
  • Quality: NonReg 100% | L99 100%
  • Classification: 100% leads + 100% send_contacts classifiés

🔗 Dashboards total 11 pages UX premium

  1. visual-management (NEW)
  2. dashboards-hub (master nav)
  3. crm-dashboard-live
  4. contacts-segmentation-dashboard
  5. ethica-dashboard-live
  6. office-365-dashboard-live
  7. database-dashboard-live
  8. infra-dashboard-live
  9. dormant-dashboard
  10. wevia-orchestrator
  11. automation-hub (doctrine 64)

🎯 Intents chat WEVIA (26+ guards)

Nouveau: visual management / health score / andon / kpi wall / tableau de bord

Prochaines actions (Yanis décide)

  • Nettoyer 4.36M leads UNKNOWN (emails chiffrés) - décryption bytea
  • Twenty CRM frontend activation avec 60K contacts importés
  • Email campaign O365 (doctrine 61 route-by-destination) - commencer warmup
  • Relancer send_contacts_merge (attente décision Yanis)
  • OVH SMS credentials (P0-3 still pending)

MAJ 17avr 19:15 — Continue session: Enrich + Andon Monitor

Actions executed this round

  1. Contacts orphans enrich: 341 contacts re-linked via email-domain → company name match (3076 → 2735 orphans)
  2. Industry inherit: pipeline_contacts Other/Unknown qui ont un company_id ont hérité l'industry de la company
  3. *Andon Monitor cron /15min: /opt/weval-ops/andon-monitor.py (7 rules: send_contacts, graph_send, deals, activities, nonreg, disk, classification)
  4. Table admin.andon_history: historique avec auto-resolve (détecte quand alerte disparaît)
  5. Intent chat andon history: guard early-priority wired

📊 État pipeline_contacts maintenant

  • Total: 60,299
  • Linked company_id: 57,564 (95.5%) — était 57,223
  • Orphans: 2,735 (freelances/PMEs pas dans pipeline_companies)
  • Good industry: 57,817 — Other/Personal/Unknown: 2,482

🚨 Andons actifs persistants (doctrine 55)

Tracked now in admin.andon_history:

  • RED send_contacts_flux: 18 jours stoppé
  • RED graph_send_flux: 4 emails/7j

Files créés

  • /opt/weval-ops/andon-monitor.py + cron
  • /var/www/html/api/andon-monitor.py (git tracked)
  • admin.andon_history table + indexes
  • Guard 18 andon_history dans wevia-master-api.php

Chat intents (27+ guards)

  • "andon history" → 15 derniers andons + statut ACTIVE/RESOLVED
  • "historique andon" → same
  • "flux monitor" → same

MAJ 17avr 19:35 — AVANT INTERVENTION Opus MEGA SESSION (4 chantiers //)

Directive Yanis: "tout"

Lancer EN PARALLÈLE les 4 chantiers techniques restants:

  1. Déchiffrement 4.36M leads UNKNOWN (email_enc bytea)
  2. Twenty CRM frontend activation (60K contacts exposés)
  3. KPI historique/trends 30j Visual Management (charts)
  4. Fuzzy-match 2,735 orphans restants (Levenshtein/trigram)

État pre-session

  • NonReg 153/153 · L99 309/309
  • Visual Mgmt health 90/100 GREEN
  • 2 Andons actifs (send_contacts 18j + graph_send 4/7j)
  • pipeline_contacts: 60,299 · linked 57,564 (95.5%) · orphans 2,735

17 avril 2026 soir — Opus wire business volumes (cause racine)

Commit: 12986a82 GitHub + Gitea push OK | NonReg 153/153 | L99 309/309

Cause racine fixee

WEVIA Master simulait volumes metier. wevia-autonomous.php n incluait pas opus-intents dans pipeline -> dynamic-resolver matchait "pipeline" vers Ethica/PG avant opus-intents.

4 nouveaux intents business (wevia-opus-intents.php +108 lignes)

  • business_volumes_live: orphans/contacts/companies/activities/deals/ethica/kpi Postgres
  • kpi_daily_verify: snapshots admin.kpi_history_daily + API health
  • twenty_frontend_verify: HTTP crm + DB twenty_db workspace
  • fuzzy_orphans_progress: total/linked/orphans/pct

nl-priority wire (wevia-autonomous.php +21 lignes)

Appel opus-intents BEFORE dynamic-resolver. Stream type=exec + LLM reformulation. Evite collision keyword "pipeline" avec Ethica.

Volumes live confirmes (ZERO simulation)

  • pipeline_contacts: 61,812 (99.92% linked via fuzzy match)
  • pipeline_companies: 38,320 (+484 created)
  • pipeline_activities: 6,267
  • ethica_hcps: 146,694

Infra collaterale (Phase 2+3 session)

  • /opt/weval-ops/kpi-snapshot-daily.py (cron 0 2 * * *)
  • /api/kpi-history-30d.php (wide schema JSON)
  • visual-management.html Chart.js 30j widget ADD (doctrine 60)

Tests chat WEVIA Master

"combien orphans" -> 52 EXACT (engine=Opus/opus-intents) "dernier kpi snapshot" -> 7 derniers jours + API HTTP 200 OK "twenty crm status" -> HTTP 200 + workspace.person manque (blocker tracked) "fuzzy orphans progression" -> retour vraiment mais matche business_volumes first

Blockers deferes

  • Passphrase GPG 4.36M leads (besoin backup wevads-v2 / contact auteur script)
  • Twenty workspace.person manquant (frontend OK mais DB incomplete)
  • LLM kpi_daily cosmetique (colonnes non-labelees dans psql output)

Prochaine session priorites

  1. Fix kpi_daily LLM colonne labels
  2. Swap priorite regex fuzzy_orphans vs business_volumes
  3. Passphrase GPG investigation
  4. Decision Yanis: relance send_contacts_merge (stopped 2 mois)
  5. Activer Twenty CRM frontend (60K B2B pool exploitable)