diff --git a/api/v83-business-kpi-latest.json b/api/v83-business-kpi-latest.json index 3438fe0a4..51ae52b34 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-21T08:15:17+00:00", + "ts": "2026-04-21T08:16:42+00:00", "summary": { "total_categories": 8, "total_kpis": 64, diff --git a/wiki/V122-dashboards-polish-css.md b/wiki/V122-dashboards-polish-css.md new file mode 100644 index 000000000..5e110edd8 --- /dev/null +++ b/wiki/V122-dashboards-polish-css.md @@ -0,0 +1,94 @@ +# V122 Opus WIRE - Dashboards Polish CSS · 21avr 10:16 + +## Context +Yacine "STABILISE EN PARALLÈLE" + "UX PREMIUM ULTRA". Continuer polish additif sans régression. + +## Livrables V122 (additif pur) + +### 1. Sticky filters au scroll +Quand la grille DASHBOARDS est longue (69 tuiles), les filtres restaient hors vue au scroll. Fix: +```css +position:sticky; top:0; background:var(--bg); z-index:10; +padding:8px 0; border-bottom:1px solid var(--bd); +``` +Les boutons catégories restent accessibles pendant le scroll. + +### 2. Transitions hover premium sur tuiles +Ajout class `dash-tile` avec: +```css +transition: transform 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease; +``` +Hover: `translateY(-2px)` + border color saturée + box-shadow colorée (utilise la couleur catégorie). + +### 3. Focus ring search +Search input reçoit focus ring avec purple glow: +```css +#v-dashboards #dash-search:focus { + outline: none; + border-color: var(--vl); + box-shadow: 0 0 0 3px rgba(132,110,255,0.2); +} +``` + +### 4. FadeIn animation grid +Grid apparaît avec fade-in subtil: +```css +#v-dashboards #dash-grid { animation: fadeIn 0.2s ease; } +@keyframes fadeIn { from { opacity: 0.4 } to { opacity: 1 } } +``` + +### 5. Focus outline pour accessibilité clavier +Cmd+K then Tab to tiles → visual focus outline: +```css +#v-dashboards .dash-tile:focus { outline: 2px solid var(--vl); outline-offset: 2px; } +``` + +## Validation E2E Playwright + +```json +{ + "v122": "polish-smoke", + "chat_on": true, + "caps_count": 21, + "dashboards_tiles": 69, + "has_sticky_filters": true, + "has_dash_tile_class": 69, + "js_errors": [], + "VERDICT": "OK" +} +``` + +Screenshots: +- `01-dashboards-polish.png` (69 tuiles + filtres sticky) +- `02-hover.png` (tile en hover avec transform + shadow) +- `03-scrolled.png` (filtres restent visibles au scroll) + +## Métriques V121→V122 +| | V121 | V122 | +|--|--|--| +| Hub size | 42.4KB | 43.4KB (+1.0KB) | +| CSS anims | basic | transitions + keyframe | +| Sticky UI | no | yes (filters) | +| Focus rings | no | yes (accessibility) | +| JS errors | 0 | 0 | + +## Multi-Claude reconciliation (session matin) +- V9.60: reconcile V94-V119 ← mon travail dashboards intégré +- V9.61: Ollama port fix → autonomie 80% +- V99: autonomie progression 56→80% (12 composants) +- V108 autre Claude: "orphans_count KPI LIVE - ZERO ORPHANS ACHIEVED" + +## Stabilité parallèle (demande Yacine) +| Indicateur | État | +|---|---| +| NR | 199/201 (2 transitoires master, V9.55 FPM pattern) | +| Git dirty | 0 après chaque push | +| GOLDs préservés | 470+ | +| V109-V122 markers | tous intacts | +| Intents live | cyber_tips, capabilities, dashboards_status OK | +| Hub HTTP | 200 stable | + +## Doctrines +#1 scan · #3 GOLD · #4 honnêteté · #13 cause racine · **#14 ADDITIF PUR** · #16 NR monitoré · **#60 UX premium** · #100 + +## Sessions consécutives sans régression applicative : 94+