docs: record server rollout of session and memory fixes
Publish documentation / publish (push) Successful in 32s

This commit is contained in:
User
2026-09-14 17:25:23 +02:00
parent d6cdffea62
commit b1723c34c4
2 changed files with 80 additions and 34 deletions
+9 -5
View File
@@ -12,17 +12,21 @@ Authentik, internal catalog/embedding services, and the PSD workspace repository
`docs/operations/server-upgrade-gitea-workspace-v2.md`. Treat its operator gates and rollback
requirements as mandatory; do not replace the running server stack in place.
## Session composer and empty Memory fix prepared — 2026-09-14
## Session composer and empty Memory fix deployed — 2026-09-14
The embedded shell now caps its height at the portal mount height, keeping steering
and Stop & save visible. Empty authoritative Memory archives return zero results
without requiring embedding/BM25; SQL-rule embedding is lazy and shared. The live
empty PSD archive reproduces 503 with the current image and succeeds with the
candidate. 54 Memory tests, 90 frontend tests, five browser scenarios and both image
builds passed. Candidate core/frontend tags are `49333a2d-session-memory-fix`;
production recreation awaits the release-window confirmation required by the server
handoff. See `docs/reports/2026-09-14-session-layout-memory-fix.md` for evidence,
prepared rollback and resolved deployment commands.
builds passed. The owner authorized the restart and core/frontend were recreated on
2026-09-14 at 17:18 CEST with tags `49333a2d-session-memory-fix`, from code committed
as `d6cdffea`. Both are healthy; production Memory search returns `[]`, Omics serves
the corrected CSS, native doctor passes 13/13 checks, and admissions are reopened.
Session inventory is preserved. Backups and rollback images are retained. Native
CLI diagnostics must run as installation owner UID 10001 with access to Compose;
see `docs/reports/2026-09-14-session-layout-memory-fix.md` for exact commands and
the remaining interactive browser acceptance.
## Full/embedded shell and bilingual interface
@@ -2,9 +2,14 @@
## Stato
Correzioni implementate e immagini candidate costruite; **rilascio operativo non
ancora eseguito**. Il runbook `docs/operations/server-codex-handoff.md` richiede
conferma della finestra prima della ricreazione dei servizi operativi.
**Rilascio operativo eseguito il 14 settembre 2026 alle 17:18 CEST**, dopo
l'autorizzazione esplicita del proprietario al riavvio. Core e frontend sono healthy;
le nuove ammissioni sono riaperte (`active: false`, `admissions: 0`). Non risultavano
processi Pi RPC attivi prima del fermo. L'inventario resta identico: una sessione
`open` e una `closed`, entrambe non archiviate.
Il checkout operativo `/srv/thothii-v2/source/ThothII` è stato aggiornato in
fast-forward al commit Gitea `d6cdffea629daf92cae8392eb1ebb3bb6f275f55`.
## Cause e correzioni
@@ -25,7 +30,7 @@ Nessuna migrazione, modifica di card, indice, DWH o autenticazione è necessaria
## Verifiche eseguite
- Riproduzione live: `tht memory search` restituisceva 503.
- Riproduzione live: `tht memory search` restituiva 503.
- Confronto delle immagini attuale/candidata, con PostgreSQL e Qdrant reali e
montaggi read-only: attuale exit 1/status 503; candidata exit 0/`[]`. La
configurazione diagnostica non contiene credenziali DWH e non interroga il DWH.
@@ -40,28 +45,41 @@ Nessuna migrazione, modifica di card, indice, DWH o autenticazione è necessaria
smoke della configurazione frontend superato.
- Screenshot verificati in `frontend/test-results/visual-review/`.
## Consegna candidata
## Immagini distribuite e controlli server
Base operativa verificata e pulita: `49333a2d35664b7237c3ddc2a9f10a605dcc84ce`.
La patch `/tmp/thoth-session-memory-fix.patch` supera `git apply --check`
contro `/srv/thothii-v2/source/ThothII`.
Le immagini candidate già collaudate sono quelle ora in esecuzione. Container core
`1e71b0abd5aa` e frontend `45387534e8ad` avviati rispettivamente alle 15:18:43 e
15:18:49 UTC. Catalogo, Qdrant, embedding e Omics web non sono stati ricreati.
Nginx Omics è stato verificato e ricaricato per risolvere gli indirizzi aggiornati.
| Immagine candidata | ID |
| Immagine distribuita | ID |
| --- | --- |
| `thothii-v2-core:49333a2d-session-memory-fix` | `sha256:ff4c435abd67c57e1e91e6e560dae73e67350ca499a5aedca3ffa517b9f59ee0` |
| `thothii-v2-frontend:49333a2d-session-memory-fix` | `sha256:35933317769f3e12953f3b144d51f8fc2e7e9f7c4830eba80cc626f757f5bf0d` |
Copie protette di operator.env, descriptor e override sono già in
`/srv/thothii-v2/backups/20260914-session-memory-fix` (directory 0700).
Le immagini correnti sono conservate anche con tag
`before-session-memory-fix-20260914`. Non è stato fatto un nuovo backup dei dati:
questa preparazione non ha modificato dati e non sostituisce un backup coerente
nella finestra operativa, se richiesto dal runbook di rilascio.
Controlli dopo il riavvio:
## Comandi risolti per la finestra da confermare
- `memory search` e `memory solved-search` nel core distribuito: exit 0, `[]`.
- `workflow-doctor`: `ready: true`, un workspace; inventario sessioni invariato.
- HTTP `/health`: `status: ok`; tutti i servizi richiesti healthy.
- Omics serve config embedded/en e asset con HTTP 200: `index-BpY9Lzwz.js`,
`index-BhJrKSGn.css`; verificata nel CSS la regola di altezza corretta.
- `/datamart-builder/api/me` senza login continua a rispondere 403.
- `nginx -t` superato; reload completato; TTL manifest Django trascorso.
- `tht status`: exit 0; `tht doctor --json`: `ok: true`, 13/13 controlli passati.
- Nessun errore di avvio rilevato nei log core.
Verificare nuovamente lo stato delle sessioni e gestire quelle attive prima del
riavvio. Il seguente launcher conserva progetto, env file e ordine degli override:
Backup protetto in `/srv/thothii-v2/backups/20260914-session-memory-fix`
(directory 0700): operator.env, descriptor e override precedenti, archivio di data,
workspace-registry e Pi creato a core fermo, dump logico PostgreSQL e snapshot nativo
Qdrant. Elenco tar e `pg_restore --list` validati; tutti gli SHA256 verificati.
Le immagini precedenti restano anche con tag `before-session-memory-fix-20260914`.
Nessuna migrazione o modifica al DWH. Il rollback normale resta applicativo.
## Comandi di rilascio e diagnostica
Il seguente launcher conserva progetto, env file e ordine degli override. Le
ammissioni sono state bloccate e il core fermato prima del backup:
```bash
thoth_fix_compose() {
@@ -76,24 +94,38 @@ thoth_fix_compose() {
}
thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js maintenance-activate
thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js maintenance-status
sudo git -C /srv/thothii-v2/source/ThothII apply /tmp/thoth-session-memory-fix.patch
thoth_fix_compose stop --timeout 45 core
```
Dopo gestione delle sessioni e backup nella finestra, aggiornare esclusivamente
`THTII_RELEASE_IMAGE_TAG` in `/srv/thothii-v2/operator/operator.env` al valore
`49333a2d-session-memory-fix`, preservando gli altri valori e i permessi.
Quindi:
Dopo il backup è stato aggiornato esclusivamente `THTII_RELEASE_IMAGE_TAG` in
`/srv/thothii-v2/operator/operator.env` a `49333a2d-session-memory-fix`, preservando
altri valori, proprietario e permessi. Avvio e reload eseguiti:
```bash
thoth_fix_compose up -d --no-deps --no-build core frontend
sudo docker exec omics_portal-nginx-1 nginx -t
sudo docker exec omics_portal-nginx-1 nginx -s reload
sudo tht --installation /srv/thothii-v2/source/ThothII/deploy/psd-server-v2/thothii-installation.yaml status
sudo tht --installation /srv/thothii-v2/source/ThothII/deploy/psd-server-v2/thothii-installation.yaml doctor --json
```
Attendere il TTL di 30 secondi del manifest Django, verificare asset/config e
Memory; provare input/arresto nel portale prima della riapertura:
Il CLI legge i segreti soltanto con l'UID proprietario (10001). L'invocazione
come root viene rifiutata dal controllo di proprietà; nessun file segreto è stato
modificato. Per la diagnostica è stata usata una configurazione Docker temporanea
vuota, evitando la directory `/root/.docker` inaccessibile a quell'UID:
```bash
sudo install -d -m 0700 -o 10001 -g 1006 /tmp/thoth-owner-docker
thoth_fix_cli() {
sudo env DOCKER_CONFIG=/tmp/thoth-owner-docker \
setpriv --reuid=10001 --regid=1006 --groups=1006,1014,988 \
/usr/local/bin/tht --installation \
/srv/thothii-v2/source/ThothII/deploy/psd-server-v2/thothii-installation.yaml "$@"
}
thoth_fix_cli status
thoth_fix_cli doctor --json
```
Riapertura dopo i controlli runtime:
```bash
thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js maintenance-deactivate
@@ -101,6 +133,16 @@ thoth_fix_compose exec -T core node /app/backend/dist/operator-command.js mainte
Rollback applicativo: ripristinare l'operator.env protetto, ricreare solo
core/frontend con lo stesso launcher, verificare e ricaricare nginx. Per riallineare
anche i sorgenti usare `git apply --reverse --check` e poi `git apply --reverse`
sulla sola patch preparata, senza reset di altre modifiche. Non occorre ripristinare
anche i sorgenti preparare il revert del solo commit `d6cdffea`, preservando le
modifiche successive. Non occorre ripristinare
PostgreSQL o indici per un rollback di queste due correzioni.
## Accettazione interattiva
Le prove browser automatiche su input e arresto sono passate prima del rilascio;
la distribuzione degli asset corretti è verificata attraverso il proxy reale.
Resta da confermare il comportamento nella sessione autenticata del proprietario,
ricaricando la pagina Omics. Il collaudo non ha creato sessioni workflow reali né
invocato un modello generativo; non sostituisce l'accettazione interattiva completa
Omics/IdP documentata nella matrice di autenticazione.