From f1f63067b1dbaf9668a24ccc8255442cfc81efb4 Mon Sep 17 00:00:00 2001 From: opus Date: Tue, 21 Apr 2026 11:58:13 +0200 Subject: [PATCH] auto-sync via WEVIA git_sync_all intent 2026-04-21T11:58:12+02:00 --- all-ia-hub.html | 10 ++ .../v141-agents-tooltip-proof/proof.json | 13 +++ api/v83-business-kpi-latest.json | 2 +- wiki/V141-agents-dedup-tooltip.md | 102 ++++++++++++++++++ 4 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 api/blade-tasks/v141-agents-tooltip-proof/proof.json create mode 100644 wiki/V141-agents-dedup-tooltip.md diff --git a/all-ia-hub.html b/all-ia-hub.html index fe185f13e..a9d2c6063 100644 --- a/all-ia-hub.html +++ b/all-ia-hub.html @@ -1027,6 +1027,16 @@ async function __v139LoadTruthStrip(){ const d = await r.json(); const setN = (id, n) => { const el = document.getElementById(id); if (el && n !== undefined) el.innerHTML = '· ' + Number(n).toLocaleString('fr-FR') + ' ' + id.replace('v139-',''); }; setN('v139-agents', d.agents?.count_unique); + // V141-AGENTS-TOOLTIP: expose dedup context on hover + const agEl = document.getElementById('v139-agents'); + if (agEl && d.agents) { + const u = d.agents.count_unique || 0; + const w = d.agents.count_with_overlaps || 0; + const bySrc = d.agents.by_source || {}; + const srcList = Object.entries(bySrc).map(([k,v]) => ' ' + k + ': ' + v).join('\n'); + agEl.title = 'Agents uniques dédupliqués: ' + u + '\nAvec overlaps bruts: ' + w + '\nSources:\n' + srcList + '\n\nAutres pages peuvent afficher des chiffres différents (950, 990, 126) car consomment d\'autres référentiels. Valeur de vérité = 906.'; + agEl.style.cursor = 'help'; + } setN('v139-intents', d.intents?.count); setN('v139-skills', d.skills?.TOTAL); setN('v139-brains', d.brains?.count); diff --git a/api/blade-tasks/v141-agents-tooltip-proof/proof.json b/api/blade-tasks/v141-agents-tooltip-proof/proof.json new file mode 100644 index 000000000..9a13523d2 --- /dev/null +++ b/api/blade-tasks/v141-agents-tooltip-proof/proof.json @@ -0,0 +1,13 @@ +{ + "v141": "agents-dedup-tooltip", + "agents_shows_906": true, + "title_has_overlaps_info": true, + "title_lists_sources": true, + "title_explains_discrepancy": true, + "cursor_is_help": true, + "title_preview": "Agents uniques d\u00e9dupliqu\u00e9s: 906\nAvec overlaps bruts: 1042\nSources:\n agent_avatars_v2: 148\n agent_avatars_v1: 86\n paperclip_db: 674\n paperclip_agility_v71: 12\n api_agent_files: 7\n agent_stubs: 50\n claude_subagents: 65\n\nAutres pages peuvent afficher des chiffres diff\u00e9rents (950, 990, 126) car consomment d'autres r\u00e9f\u00e9rentiels. Valeur de v\u00e9rit\u00e9 = 906.", + "nr_live_still_200_201": true, + "autonomy_intact": true, + "js_errors": [], + "VERDICT": "OK" +} \ No newline at end of file diff --git a/api/v83-business-kpi-latest.json b/api/v83-business-kpi-latest.json index 545ec5a17..50459cad5 100644 --- a/api/v83-business-kpi-latest.json +++ b/api/v83-business-kpi-latest.json @@ -1,7 +1,7 @@ { "ok": true, "version": "V83-business-kpi", - "ts": "2026-04-21T09:52:28+00:00", + "ts": "2026-04-21T09:57:32+00:00", "summary": { "total_categories": 8, "total_kpis": 64, diff --git a/wiki/V141-agents-dedup-tooltip.md b/wiki/V141-agents-dedup-tooltip.md new file mode 100644 index 000000000..19801919c --- /dev/null +++ b/wiki/V141-agents-dedup-tooltip.md @@ -0,0 +1,102 @@ +# V141 Opus WIRE - Agents Dedup Tooltip · 21avr 11:57 + +## Context +Yacine a partagé le screenshot de wevia-unified-hub.html qui affiche clairement le phénomène de divergence KPI entre pages: +- `950` sur WTP (wevia-training.html · marketing paperclip+ecosystem) +- `990` sur paperclip dashboard (tools-registry 619 + ancien count) +- `126` sur ancien unified hub (3 sources seulement) +- **`906` = vraie valeur** (unique dédupliqué sur 7 sources) + +Le screenshot montre les 7 sources détaillées dans Unified Hub: +- agent_avatars_v2: 148 +- agent_avatars_v1: 86 +- paperclip_db: 674 +- paperclip_agility_v71: 12 +- api_agent_files: 7 +- agent_stubs: 50 +- claude_subagents: 65 +Total avec overlaps: 1042 → 906 unique + +## Livrable V141 - Tooltip pédagogique sur "906 agents" + +Mon Truth strip V139 affichait simplement `· 906 agents`. Sans contexte, un lecteur peut se demander pourquoi d'autres pages affichent 950/990/126. + +V141 enrichit le `title` de l'élément pour exposer: +1. **Agents uniques dédupliqués** : 906 +2. **Avec overlaps bruts** : 1042 +3. **Sources détaillées** (7 lignes, breakdown par source) +4. **Explication discrepancy** : "Autres pages peuvent afficher 950, 990, 126 car consomment d'autres référentiels. Valeur de vérité = 906." + +Ajout `cursor:help` pour signaler visuellement qu'il y a info au hover. + +## Code V141 +```js +const agEl = document.getElementById('v139-agents'); +if (agEl && d.agents) { + const u = d.agents.count_unique || 0; + const w = d.agents.count_with_overlaps || 0; + const bySrc = d.agents.by_source || {}; + const srcList = Object.entries(bySrc).map(([k,v]) => ' ' + k + ': ' + v).join('\n'); + agEl.title = 'Agents uniques dédupliqués: ' + u + '\n' + + 'Avec overlaps bruts: ' + w + '\n' + + 'Sources:\n' + srcList + '\n\n' + + 'Autres pages peuvent afficher des chiffres différents (950, 990, 126) car consomment d\'autres référentiels. Valeur de vérité = 906.'; + agEl.style.cursor = 'help'; +} +``` + +Pure lecture du JSON truth-registry existant, zero nouvelle infra. + +## Validation E2E Playwright V141 + +```json +{ + "v141": "agents-dedup-tooltip", + "agents_shows_906": true, + "title_has_overlaps_info": true, + "title_lists_sources": true, + "title_explains_discrepancy": true, + "cursor_is_help": true, + "title_preview": "Agents uniques dédupliqués: 906\nAvec overlaps bruts: 1042\nSources:\n agent_avatars_v2: 148\n agent_avatars_v1: 86\n paperclip_db: 674\n paperclip_agility_v71: 12\n api_agent_files: 7\n agent_stubs: 50\n claude_subagents: 65\n\nAutres pages peuvent afficher des chiffres différents (950, 990, 126) car consomment d'autres référentiels. Valeur de vérité = 906.", + "nr_live_still_200_201": true, + "autonomy_intact": true, + "js_errors": [], + "VERDICT": "OK" +} +``` + +9/9 checks · Zero régression V139/V140b. + +## Pattern pédagogique appliqué (doctrine #60 UX premium) + +Le problème "différents chiffres sur différentes pages" est un anti-pattern ERP classique. Au lieu de forcer l'alignement partout (risque casser les autres KPIs), on **expose pédagogiquement la source de vérité** au hover, directement sur l'élément affiché. + +Appliquable aussi à: +- skills (si divergence 15509 vs autres chiffres) +- intents (2012 vs 1263) +- dashboards (96 vs 84) + +Mais pour V141 je me concentre uniquement sur agents (celui explicitement pointé par le screenshot Yacine). + +## Métriques V140b → V141 + +| | V140b | V141 | +|---|---|---| +| Hub size | 68.9KB | 69.7KB (+0.8KB) | +| Tooltips pédagogiques | 0 | **1** (agents) | +| Discrepancy expliquée | non | **oui** (950/990/126 → 906) | +| Sources exposées | dans title banner | dans title agents + banner | +| JS errors | 0 | 0 | + +## GOLD préservé +- `/opt/wevads/vault/all-ia-hub.html.GOLD-V141-pre-agents-tooltip` + +## Doctrines respectées +- **#1 scan exhaustif** : lecture screenshot Yacine + vérification données truth-registry +- **#3 GOLD** : backup pré-modif +- **#4 honnêteté** : expose les différences au lieu de les masquer +- **#13 cause racine** : le problème UX de divergence n'est pas tant la vraie donnée (906 correcte) mais l'absence d'explication aux lecteurs +- **#14 ADDITIF PUR** : enrichissement d'attribut HTML existant +- **#60 UX premium** : cursor:help + tooltip multi-lignes + explication discrepancy + +## Sessions consécutives sans régression applicative : **106+** 🏆