auto-sync via WEVIA git_sync_all intent 2026-04-21T11:58:12+02:00
Some checks failed
WEVAL NonReg / nonreg (push) Has been cancelled

This commit is contained in:
opus
2026-04-21 11:58:13 +02:00
parent 1f01efe345
commit f1f63067b1
4 changed files with 126 additions and 1 deletions

View File

@@ -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 = '&middot; <strong style="color:var(--ac)">' + Number(n).toLocaleString('fr-FR') + '</strong> ' + 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);

View File

@@ -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"
}

View File

@@ -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,

View File

@@ -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+** 🏆