Files
ThothII/docs/reports/2026-09-13-visual-shell-integration.md
T

7.0 KiB

Integrazione della revisione grafica con full/embedded

Data: 2026-09-13. Ambito autorizzato: integrazione locale e aggiornamento del Mac, senza push, merge in main o deploy sul server PSD.

Causa della regressione

La revisione full/embedded d8a29bfb e il ramo codex/ui-visual-review partivano entrambi da 2d1b714e. La prima build full è stata eseguita dal primo ramo senza integrare i sette commit grafici già presenti nell'immagine installata sul Mac. La corrispondenza è verificata anche sulle immagini: il backup thothii-frontend:before-full-shell-20260913 e thothii-frontend:visual-review-20260912 identificano entrambi 7dceaafcd9ee.

Commit recuperati, in ordine:

Commit Modifica
c8d276dd Manrope locale, scala tipografica condivisa, leggibilità delle pagine operative
eed398e5 Marchio ThothII a 48 px nel Core e 32 px nella sidebar
8c819968 Indicatori del catalogo dopo le rispettive etichette
803e9e92 Ricalcolo dell'altezza del campo domanda dopo la riapertura del Core
e088abd6 Allineamento degli stati alla griglia del riepilogo
5af44081 Margini e assi interni dei blocchi Database
a59624a6 Allineamento del pannello del contesto e rimozione delle spiegazioni ridondanti

Criteri di riconciliazione

  • Conservati traduzioni, protezione delle bozze, autenticazione, gestione delle sessioni e isolamento dell'adapter Omics introdotti dalla revisione full.
  • Recuperati font locale, classi e geometria approvati nel ramo grafico. Impeccable, registro product, ha guidato la verifica della coerenza; nessun ridisegno delle pagine o nuovo accorciamento dei loro titoli.
  • Il reset e i token CSS restano circoscritti al mount di ThothII e ai suoi popup: la revisione grafica non reintroduce un reset del documento del portale.
  • Conservati tema, traduzioni e stato di AG Grid; le colorazioni degli avvisi rimangono leggibili nei due temi.
  • Tradotte le nuove etichette e le spiegazioni introdotte dalla revisione grafica.
  • Il mock di ResizeObserver dei test ora emette le misure degli elementi osservati, come richiesto anche dal ridimensionamento del campo domanda recuperato.
  • I test visuali configurano esplicitamente full oppure embedded. La simulazione embedded fornisce le preferenze del portale e il suo reset del margine del body; ThothII non deve applicare quel reset al documento esterno.

Verifiche

Controllo Esito
Suite frontend completa 755 test passati, zero fallimenti
Playwright visuale/interazione 11 scenari passati, zero saltati o instabili
Larghezze della revisione grafica 390, 649, 768, 1280 e 1600 px
Combinazione lingua/tema/full EN/IT, chiaro/scuro, persistenza al reload e margini simmetrici a 390 e 1280 px
Caricamento font Verificata una font face Manrope Variable effettivamente caricata
Embedded Nessun header ThothII, contenimento sotto header e sidebar del portale simulato
Cataloghi 1681 messaggi italiani, 1706 riferimenti statici; nessuna chiave mancante o interpolazione incoerente
Typecheck e build Superati, inclusa la regressione sul CSS compilato prima della build
Documentazione Build MkDocs strict superata

Le verifiche Playwright usano dati sintetici e bloccano tutte le richieste API; gli scenari non avviano modelli reali né modificano dati dell'installazione. Gli screenshot sono in frontend/test-results/visual-review/, ignorati da Git. Backend, harness e Omics non sono modificati da questa integrazione; le loro verifiche precedenti restano nel rapporto full-shell. Non viene rivendicata una nuova verifica end-to-end sul portale di produzione.

La verifica indipendente dell'integrazione di CSS, shell e reset non ha segnalato rilievi aperti. Il controllo della pagina reale ha inoltre rilevato l'etichetta predefinita «Administration» non tradotta: è stata corretta nel componente condiviso e coperta dallo scenario EN/IT. Nessun nuovo testo JSX o attributo di accessibilità non tradotto è stato introdotto dal merge, secondo il confronto statico con d8a29bfb.

Aggiornamento e rollback locali

Contesto di build: /Users/mp/projects/ThothII; launcher dell'installazione: /private/tmp/thothii-memory-preview.sh. Il launcher termina con l'override /private/tmp/thothii-context-a.compose.yaml, che seleziona questo checkout. Non applicare l'override della precedente revisione isolata: selezionerebbe di nuovo il worktree senza l'integrazione full/embedded.

Comandi usati per costruire e sostituire il solo frontend:

bash /private/tmp/thothii-memory-preview.sh build frontend
bash /private/tmp/thothii-memory-preview.sh up -d --no-deps --no-build --wait frontend

Configurazione Mac conservata: modalità full, lingua predefinita en. Aggiornamento completato alle 12:54 UTC: immagine frontend 605a6e6bba68, container 9489a5765f7b, stato healthy. Core (3c3c0739b9af), catalogo (89755e439dc7), Qdrant (52ebd5c47955) ed embedding (7f690e534eda) conservano gli stessi container, immagini e tempi di avvio rilevati prima dell'aggiornamento; sono tutti healthy. Il controllo dal browser usa l'accesso locale già presente, senza logout, modifica del catalogo o avvio di una sessione del modello. Sul viewport reale da 771 px: titolo Manrope Variable a 24 px, margini full sinistro/destro di 24 px, tre blocchi Database con identica posizione x=45 e larghezza 681 px; nessun overflow della pagina. Verificati italiano e tema scuro; ripristinati inglese e tema chiaro.

L'immagine prima del merge è conservata come thothii-frontend:before-visual-shell-merge-20260913 (781650644192). Per ripristinare quella versione full precedente, senza toccare Core o i volumi:

bash /private/tmp/thothii-memory-preview.sh \
  -f /Users/mp/projects/ThothII/deploy/compose.visual-shell-rollback.yaml \
  up -d --no-deps --no-build --wait frontend

Quel rollback reintroduce volutamente l'aspetto precedente al recupero grafico. Per tornare alla versione integrata usare il launcher senza l'override di rollback. Le immagini della revisione grafica isolata rimangono disponibili, ma non includono le nuove funzionalità full/embedded: non sono il rollback equivalente di questa consegna.

Conservazione del lavoro locale e prevenzione

Le tre modifiche documentali locali preesistenti sono state protette nello stash 436d59225869aa3d93ee04077c566d371bde4099. I due rapporti erano identici alle versioni del ramo grafico; tutte le aggiunte di PROJECT_STATE erano già contenute nel merge. Non è stato necessario riapplicarle o sovrascrivere le versioni integrate. Lo stash è conservato come ulteriore copia recuperabile.

Prima di un successivo rebuild, confrontare il ramo corrente con gli altri worktree attivi e controllare il contesto di build effettivo del launcher. Un'immagine locale può provenire da un ramo laterale più recente del checkout principale. Il passaggio delle sole suite funzionali non certifica che la build contenga la revisione grafica già accettata: verificare anche l'ascendenza Git e i test visuali recuperati qui.