9.6 KiB
Revisione grafica: consegna su worktree e Docker
Stato: pubblicata per revisione visiva, non integrata in main.
Dove provarla
- Docker locale: http://127.0.0.1:8080/.
- Worktree:
/Users/mp/projects/ThothII-visual-review. - Ramo:
codex/ui-visual-review. - Base preservata:
2d1b714ebe31419d712e9c3324a5e171d5f0317d. - Checkout originale:
/Users/mp/projects/ThothII, ramocodex/prototype-administration-pages, lasciato intatto, incluse le note non ancora committate e i prototipi.
Non è stato eseguito alcun merge, push o aggiornamento di Gitea. Questa consegna richiede la revisione ottica del proprietario prima dell'adozione.
Interventi
Impeccable, registro product, ha guidato le scelte: Manrope sans-serif locale per tutta la UI; niente serif nei componenti o nei documenti; cinque ruoli tipografici condivisi; monospace conservato per contenuto tecnico. I font non dipendono più da Google Fonts.
Le etichette ordinarie non usano più monospace maiuscolo. Le piccole dimensioni arbitrarie dei componenti sono state ricondotte a 12, 14 o 16 px. Titoli Admin a 24 px; intestazioni, controlli e prosa sono coerenti fra superfici.
Il rosso resta l'accento principale. Date e protocolli sono neutri. Verde e ambra usano token semantici leggibili anche in tema scuro. La guida Pi non è più presentata come un grande avviso ambra. Il tema delle utility segue il tema dell'app/portale, non autonomamente quello del sistema operativo. Placeholder e focus sono più leggibili.
Interventi specifici:
- Workspace: tipografia e stati uniformati, mantenute quattro schede e preprocessing.
- Database: riepilogo più compatto, Catalog summary al posto di Fleet summary, intestazioni delle griglie senza monospace maiuscolo, selezioni compatibili con il tema scuro.
- Memory: titoli e form sans-serif; messaggio distinto per libreria vuota e nessun risultato filtrato; paginazione mostrata quando serve.
- Evidence: istruzioni tecniche espandibili, percorso host sempre disponibile e copiabile nella relativa sezione, filtri responsive con ricerca di larghezza utile.
- Pi: guida leggibile a 16 px, codice correttamente su più righe, tab OS coerenti, testo che distingue default d'installazione e modello selezionato, Available models.
- Core/sessioni: uniformazione estetica senza modifiche al workflow; otto fasi, gate, log, input e gestione sessioni conservati. Nei layout compatti il lettore documenti usa lo spazio disponibile anziché una colonna illeggibile.
Il modello globale, i default, le autorizzazioni e i blocchi di navigazione non sono stati ridisegnati. Non sono state eseguite elaborazioni LLM o mutate informazioni applicative per questa verifica.
Follow-up: marchio applicativo (2026-09-13)
Su richiesta dell'utente, ripristinato ThothII a 48 px nel Core e ingrandito a 32 px nella
sidebar destra. Manrope semibold e suffisso II rosso restano coerenti con Impeccable;
il marchio è un'eccezione esplicita alla scala dei titoli ordinari in DESIGN.md.
Nessuna modifica funzionale. Build e 7 scenari Playwright superati, con controlli delle
dimensioni del marchio alle cinque larghezze. Pubblicato nuovamente il solo frontend
Docker usando il medesimo tag di revisione; immagine di ripristino invariata, nessun merge.
La nuova immagine sostituisce quella identificata nella prima consegna sotto:
sha256:f576ee4882456b4d2d338dbb2228d301f9ffd8d0c7de541842c767bbe8d02dad.
Follow-up: indicatori del catalogo (2026-09-13)
Spostati i pallini dopo le etichette Catalog, Operations e Metadata updated, mantenendo il rientro del testo e l'allineamento con i valori sottostanti. Spaziatura uniforme e centratura verticale secondo Impeccable. I 7 scenari Playwright passano, inclusi nuovi controlli geometrici per tutte e tre le etichette alle cinque larghezze responsive. Il successivo aggiornamento del medesimo tag frontend include questa correzione; il digest del follow-up precedente identifica quindi una versione superata.
Follow-up: altezza del prompt Core (2026-09-13)
Riprodotto con Playwright il campo schiacciato: altezza inline 0 px, spazio utile 8 px, a fronte di 31 px necessari per la prima riga. L'autosizing misurava il Core ancora nascosto durante il caricamento del contesto e non reagiva alla successiva apertura. Il reset isolato dell'altezza ad auto riportava immediatamente il campo a 31 px.
Il composer ora evita misure nascoste, ricalcola al cambio di larghezza/visibilità e al caricamento dei font, conserva un minimo di 32 px e cresce fino a 160 px con scroll. Il focus usa il contorno esterno esistente, senza il secondo bordo interno. Nessuna modifica all'invio o al workflow. Passati 9 scenari Playwright e 17 test Vitest mirati; coperti ingresso dal Core e dall'Admin, Shift+Enter, testo lungo, mobile, navigazione con bozza conservata e svuotamento. Build Docker frontend aggiornata; branch di revisione isolato, immagine di ripristino invariata.
Follow-up: griglia di allineamento del catalogo (2026-09-13)
Catalog condivide il margine di Catalog summary; sui layout ampi Metadata updated condivide l'asse di Description coverage e Operations occupa il punto medio fra i due. Usati margini condivisi e gli stessi cinque riferimenti di colonna dei KPI, senza offset assoluti. Sulle larghezze ridotte gli stati continuano a disporsi senza sovrapposizioni. Passati 9 scenari Playwright, con assert geometrici sugli allineamenti richiesti. Pubblicazione limitata al frontend Docker del worktree di revisione, nessun merge.
Verifica
| Verifica | Esito |
|---|---|
| Frontend, suite Vitest | 679 test passati |
| TypeScript + build produzione | Passati |
| Playwright dedicato | 7 scenari passati, nessun retry |
| Larghezze | 390, 649, 768, 1280, 1600 CSS px |
| Superfici Playwright | Cinque Admin, guida Pi, Core iniziale, My/All sessions e lettore archivio |
| Interazioni | Tab OS da tastiera, modifica Memory trattenuta durante tentativo di navigazione, ritorno al Core dopo annullamento |
| Tema | Chiaro indipendente dal tema OS; scuro tramite attributo del portale |
| Spazio host | Simulazione di 240 px riservati al menu sinistro e 72 px all'header, con utility concorrente |
| Docker reale | Accesso e navigazione fra le cinque pagine Admin; titolo sans-serif 24 px e nessun overflow dell'intera pagina nel viewport verificato |
I test visuali usano fixture e intercettano tutte le richieste API prima che possano raggiungere un'installazione. Nessuna scrittura è ammessa: ogni scenario controlla che non ne siano state tentate. Gli screenshot sono negli output locali ignorati da Git, frontend/test-results/visual-review/.
Comandi di verifica nel worktree:
cd /Users/mp/projects/ThothII-visual-review/frontend
npm test -- --maxWorkers=2 --minWorkers=1
npm run build
npx playwright test --config playwright.visual.config.ts
Contrasti calcolati sulle coppie di token opachi di riferimento, non su ogni possibile composizione/hover:
| Coppia | Chiaro | Scuro |
|---|---|---|
| Testo principale / card | 15,16:1 | 13,61:1 |
| Testo secondario / card | 5,67:1 | 8,40:1 |
| Successo / card | 6,76:1 | 8,69:1 |
| Avvertimento / card | 6,64:1 | 9,44:1 |
| Bordo input / card | 3,36:1 | 4,56:1 |
| Testo pulsante primario / riempimento | 5,03:1 | 6,83:1 |
Limiti: non è una certificazione WCAG completa; non è stata eseguita una nuova sessione LLM sul Docker reale. La prova con geometria host non equivale all'integrazione nel vero Omics Portal. Lo zoom browser 200% e tutte le combinazioni di hover/trasparenza non sono stati verificati esaustivamente. I test funzionali già esistenti coprono fasi, sessioni e protezioni; le modifiche non cambiano la loro logica.
Docker e ripristino
Progetto Compose: thothii-18998cca7b0a. È stato ricreato solo frontend con --no-deps --no-build dopo una build esplicita dal nuovo worktree.
| Elemento | Valore verificato |
|---|---|
| Immagine nuova | thothii-frontend:visual-review-20260912 |
| Digest immagine nuova | sha256:eeccb28f5c5cd78da08fd007e259e3fb88f26b4f1415a825a3b5829061f79ed3 |
| Immagine precedente conservata | thothii-frontend:before-visual-review-20260912 |
| Digest precedente | sha256:635f25477f11a476034052e87b2129ae26a9a049c4bedde0ada3a1d65e4ee924 |
| Container frontend nuovo | 50dd012cd400, healthy |
| Core invariato | 0dcce917be0c, healthy |
| Catalog DB invariato | 89755e439dc7, healthy |
| Qdrant invariato | 52ebd5c47955, healthy |
| Embedding invariato | 7f690e534eda, healthy |
| Bundle servito | /index-Cd-Ma0ye.js, /index-CptC2K6s.css |
Per tornare al look precedente, senza rebuild e senza modificare dati o Core:
bash /private/tmp/thothii-memory-preview.sh \
-f /Users/mp/projects/ThothII-visual-review/deploy/compose.visual-review-rollback.yaml \
up -d --no-deps --no-build frontend
Per ripubblicare il look di revisione già costruito:
bash /private/tmp/thothii-memory-preview.sh \
-f /Users/mp/projects/ThothII-visual-review/deploy/compose.visual-review.yaml \
up -d --no-deps --no-build frontend
Questi override sono deliberatamente locali e usano il launcher dell'installazione già presente; non vanno applicati sul server PSD. Il launcher in /private/tmp dipende dai profili locali esistenti: se rimosso, ricostruire l'invocazione dai profili dell'installazione, senza sostituire configurazioni o volumi. Le immagini di review e rollback restano taggate: non eseguire una pulizia delle immagini prima della decisione.
Decisione successiva
Il proprietario valuta il look su Docker. Solo dopo approvazione si procederà con l'integrazione su main, verificando anche l'eventuale differenza fra main e il ramo di partenza. Un rifiuto della revisione richiede soltanto il ripristino frontend sopra indicato; codice e prototipi precedenti sono preservati.