# Rilascio coordinato ThothII / Omics — 26 settembre 2026 **Distribuito; accettazione automatica superata. Collaudo browser positivo per accesso, interfaccia e avvio/interruzione/ripresa sessione; prove estese residue sotto.** Finestra esplicitamente confermata dall’utente in chat («confermo»), avvio alle 19:28 Europe/Rome. Riferimento: [piano approvato](2026-09-26-server-release-plan.md). Maintenance disattivata alle **19:35:27** dopo tutti i controlli automatici. ## Versioni e stato finale | Componente | Risultato | | --- | --- | | ThothII sorgente | Main `497ab84031e285464fdbb73e6e0ce9252687e3ab`, checkout pulito in `/srv/thothii-v2/releases/497ab84031e285464fdbb73e6e0ce9252687e3ab` | | Core | `thothii-v2-core:497ab840-preflight`, ID `sha256:182f4e0d63404cb7ed6a0e272441e9c55ed27e2bb16fdbf4d7162f892ac76dc7`, healthy | | Frontend | `thothii-v2-frontend:497ab840-preflight`, ID `sha256:5f5a4f81139432d0ac41025c3006edaf1258b623ce388242700b1b20fcce6421`, healthy | | Omics checkout | Fast-forward a `928f7e9fff2aba895416776fecf5668ee957d237`; nessuna modifica tracciata, file locali preservati | | Omics web | Stesso container e immagine `sha256:27aa100690b110bf596322b1b0a31acc178ca9d1c709bc10382cbeecbfb5aeca`, riavviato e healthy; risposta HTTP Django verificata | | Omics nginx | Ricreato col fix asset e immagine precedente fissata `sha256:b3c656d55d7ad751196f21b7fd2e8d4da9cb430e32f646adcf92441b72f82b14`; `nginx -t` positivo | | Supporti | Catalogo PostgreSQL, Qdrant e Ollama healthy; immagini e volumi invariati | | CLI host | `/usr/local/bin/tht` aggiornato; SHA256 `0d39a93fb0a3b2147541a746c75832db20302f3a604bf6510da69d3731bcd783` | | Maintenance / Pi | Maintenance inattiva, zero processi Pi RPC al controllo finale delle 19:36 | Descrittore mantenuto nel percorso originale: `/srv/thothii-v2/source/ThothII/deploy/psd-server-v2/thothii-installation.yaml`. Project Compose sempre `thothii-7f901b48fe35`; shell embedded/en/omics-portal, auth upstream e storage locale invariati. Cambiati solo projectDirectory e percorso dell’overlay git-ssh nel descrittore, tag immagini in env/overlay. Proiezioni rigenerate col nuovo CLI e UID 10001. Descriptor/env 10001:10001 0600; overlay 1013:1014 0640; CLI root:root 0755. Il vecchio checkout ThothII dirty resta al suo posto per rollback. Nessun reset, force push, eliminazione di volumi, cambio identità, credenziali, DWH o Authentik. Nessun push Omics eseguito. Nessuna nuova migrazione applicata; i controlli Django prima e dopo il riavvio non rilevano migrazioni o modifiche dei modelli pendenti. L’entrypoint web ha rieseguito i normali comandi di startup, statici e traduzioni. ## Backup ed esecuzione Backup protetto root 0700: `/srv/thothii-v2/backups/20260926-coordinated-release`. Completato e **VERIFIED alle 19:31:57**, circa **2,89 GiB**, **23 checksum**, archivi tar leggibili e indici dei dump verificati. Non è una prova di restore. Include configurazioni/CLI/generated, sorgenti e Git con file locali, immagini precedenti, bind data/registry/Evidence/Pi/segreti, volumi catalogo/Qdrant/Ollama/static/media, dump catalogo e dump PostgreSQL condiviso. Il DB condiviso è rimasto operativo: il suo dump è una snapshot transazionale, non un backup raw del database fermo. Il volume raw del catalogo ThothII è stato archiviato a servizio fermo. Nessun restore dati eseguito. Cronologia Europe/Rome: - 19:28: controllo del piano approvato positivo; riserva 20,9 GiB, liberi 27,8 GiB. - 19:29:21: configurazione di rollback salvata e verificata prima delle mutazioni. - 19:29:42: maintenance e chiusura nginx Omics; due controlli Pi negativi. - 19:30:03: applicazioni ferme; dump, fermo supporti e archiviazione dati. - 19:31:57: backup verificato. - 19:32:10: deploy avviato; core 19:32:17, frontend 19:32:23, web Omics 19:32:29, nginx 19:32:36. - 19:35:27: accettazione automatica completata e maintenance disattivata. Il periodo tra chiusura e riavvio nginx è stato circa tre minuti; le nuove ammissioni sessione sono rimaste bloccate fino al completamento dei controlli. ## Correzione del controllo durante il rilascio L’accettazione iniziale si è fermata su un falso negativo nello script: `config.js` invia due header `Cache-Control`, `no-cache` e `no-store`; il controllo leggeva solo il primo. Configurazione e risposta HTTP erano corrette. Riproduzione isolata rossa, correzione di una riga con `get_all`, **16 test verdi**, compreso il rifiuto quando `no-store` manca davvero. Nessuna modifica applicativa necessaria. Maintenance mantenuta attiva fino alla ripetizione completa dell’accettazione. Non sono stati ripetuti backup, fast-forward o ricreazione. Directory script/evidenze: `/srv/thothii-v2/operator/releases/20260926-coordinated/reviewed/`. - Script inizialmente approvato conservato in `release.approved.py`, SHA256 `eb2c677c8adbee0c9febf919001f654c8535e71f064d9fb7c7883afd02383a41`. - Script corretto `release.py`, SHA256 `20314e68a6a42701456d454d2a0881652cfdbe5e00e9a912a22df9e78129aa00`. - Test di regressione: `test_release_reviewed.py`, `reviewed-tests-cache-fix.log`. - Stato finale filtrato: `deployed-evidence.json`; avanzamento nel `journal.jsonl` del backup. Manifest degli artefatti aggiornato, originale conservato. ## Accettazione automatica | Verifica | Esito | | --- | --- | | Digest reali dei container, readiness, doctor | Positivi | | Alias Docker | Univoci e risolti ai container attuali; manifest raggiungibile da Omics | | API senza cookie e con principal falsificati | 403 su HTTP e HTTPS locale verificato | | Bypass asset e traversal codificati | Negati; `/datamart-builder/assets/api/me` restituisce 404 | | Config | 200, embedded e no-store su entrambi i percorsi | | Asset | Tutti i file elencati dal manifest disponibili su HTTP/HTTPS | | Esposizione core | Nessuna porta pubblicata sull’host | | Modelli, Pi e credenziali | Hash invariati rispetto alla baseline | | Documenti persistiti | 2 manifest sessione, 51 file sessione/artifact e 221 file workspace/Evidence confrontati col backup: nessuna differenza | | Migrazioni e catalogo Omics | Nessuna migrazione pendente; catalogo Superset valido | | Log startup | Zero occorrenze nelle categorie fatal/config/auth/permessi controllate; nessun contenuto sensibile riportato | Le prove HTTPS usano la CA interna e risoluzione locale del nome pubblico; non sostituiscono il collaudo dalla postazione esterna. Il controllo degli hash riguarda i file elencati, non certifica da solo l’intera semantica degli archivi. ## Rollback disponibile Usare lo script corretto, dopo controllo di eventuali sessioni Pi attive: ```bash sudo -n python3 /srv/thothii-v2/operator/releases/20260926-coordinated/reviewed/release.py rollback --window-confirmed ``` Il rollback previsto dalla finestra approvata ripristina CLI/config/proiezioni e immagini ThothII precedenti, mantiene il fix proxy Omics, riavvia e verifica le applicazioni. Conserva dati e volumi; nessun restore del DB condiviso, reset Git o ritorno al nginx vulnerabile. Se l’utente ha avviato sessioni, prima salvarle e fermarle. Il rollback non è stato necessario né eseguito durante questo rilascio. ## Collaudo browser — aggiornamento 27 settembre 2026 Conferme dell’utente: - Omics → Datamart Builder si carica senza problemi, in risposta alla prova di apertura senza secondo login. - Il 27 settembre: «tutto bene, compreso l’avvio e l’interruzione di una sessione». Nel contesto dei controlli richiesti, registrato esito positivo per IT/EN, tema, fullscreen/Esc e per avvio/interruzione di una sessione. - Successivamente, sempre il 27 settembre: «ho anche ripreso una sessione interrotta. tutto ok». Confermata anche la ripresa riuscita; il ciclo funzionale avvio → interruzione → ripresa è collaudato dall’utente. Il collaudo funzionale richiesto ha esito positivo. Su richiesta dell’utente, le verifiche estese sono trasferite a un’attività successiva nel [handoff del 27 settembre](2026-09-27-server-acceptance-handoff.md): lingua persistita, identità/ruoli, logout, origine delle scritture, amministrazione, reload e HTTPS esterno. Il documento contiene passi, responsabili, risultati attesi e registro delle prove; nessuno di questi casi è dichiarato già superato. La [matrice di accettazione](../testing/authentication-manual-acceptance.md) resta il riferimento. Nessuna ulteriore modifica ai servizi è stata eseguita per registrare il collaudo o preparare l’handoff del 27 settembre.