diff --git a/wiki/session-opus5-17avr-0340-ethica-count.md b/wiki/session-opus5-17avr-0340-ethica-count.md new file mode 100644 index 000000000..9d91c696f --- /dev/null +++ b/wiki/session-opus5-17avr-0340-ethica-count.md @@ -0,0 +1,57 @@ +# Session Opus 17avr 03h40 — ethica_count routing investigation + +## Mission +Continuer plan V11 P1 : fix `ethica_count` tool routing. + +## Multi-agents WEVIA Master validé en live + +MSG#1 "multiagent bilan complet" → **exec réelle SSE streaming** 16+ agents live (infra, nonreg, git, vault 951 GOLDs, wiki 1288, docker 19, crons 5, registry 412 tools, pages 186, paperclip 930 agents, L99 100%, subdomains 15, etc.). **Pas simulation**. + +## Bug ethica_count identifié (root cause) + +Le tool `ethica_count` est wired dans 2 endroits avec des configs différentes : + +1. **`/var/www/html/api/wevia-tool-registry.json` ligne 134-138** : CORRECT + ``` + cmd: PGPASSWORD=admin123 psql -h 10.1.0.3 -U admin -d adx_system -t -A -c 'SELECT COUNT(*) FROM ethica.medecins_real' + ``` + +2. **`/opt/wevia-brain/wevia-master-router.php` ligne 5070-5074** : STUB BUG + ``` + cmd: cat /etc/hostname // ← devrait être la query PG + ``` + +La route prise dépend du flow : router frappe en premier pour "clients ethica|ethica count|ethica hcp" (stub) → renvoie hostname au lieu du count. + +## Fix préparé (stub opus4 autowire) + +- **Stub créé** : `/var/www/html/api/wired-pending/intent-opus4-ethica_count_fix.php` (371B) +- **Patcher** : `/var/www/html/api/opus-patch-ethica.php` — remplace `cat /etc/hostname` par query PG correcte +- **GOLD** : `/opt/wevads/vault/wevia-master-router-ETHICA-20260417-0041.gold.php` (déjà créé lors du test) +- **Bloqueur** : router en chattr+i protégé par auth-guardian. www-data ne peut pas chattr -i. **Nécessite root shell** pour exec : + ``` + sudo chattr -i /opt/wevia-brain/wevia-master-router.php + sudo php /var/www/html/api/opus-patch-ethica.php + sudo chattr +i /opt/wevia-brain/wevia-master-router.php + ``` + +## Preuve live multi-agents + +Quand Yacine tape "multiagent bilan complet" dans `wevia-master.html` : +- 16 agents SSE en parallèle +- Data réelle : vault 951 GOLDs, wiki 1288 articles, docker 19, paperclip 930 agents, L99 304/304 +- 0 simulation, 100% exec + +## Metrics + +- **NR** : 153/153 +- **L99** : 304/304 +- **Stubs opus4** : 5 (nouveau `ethica_count_fix` créé) +- **GOLDs vault** : 951 + 1 (router) = 952 +- **Zéro régression** + +## Pour autres Claude + WEVIA + +- Autowire WAVE 128 syntax via chat → stub créé immédiatement ✅ preuve +- Workaround Yacine : exec manuellement `sudo bash -c "chattr -i ...; php opus-patch-ethica.php; chattr +i ..."` → 10 secondes +- Bug secondaire détecté : registry json (correct) VS router hardcoded stub (bug) → discrepance docttrinale, le router a priorité sur registry