seed_collaudo.py: capoturno con password di default committata, eseguibile in produzione #17

Closed
opened 2026-09-21 20:14:43 +00:00 by Adriano · 3 comments
Owner

GRAVITÀ: alta
FILE: scripts/seed_collaudo.py:16-20,174-196,299,312
COSA: documentato per girare dentro il container server di produzione. Crea un utente Supervisor+MeasurementTec (il ruolo che autorizza i fuori tolleranza) con password di default nel repo, stampata a terminale. Nessuna guardia d'ambiente. --replace cancella Measurement, ProductionRun, ProductionEvent senza conferma.
INPUT: collaudo su tieflow.tielogic.xyz senza --supervisor-password.
VERIFICATO: sed -n 305,315p scripts/seed_collaudo.py → default presente; grep -n "environ\|confirm" → 0.

ORIGINE: revisione fable del 21/09/2026 su ramo V3.0.0, commit 8cc5e82. Documento completo: _output/2026-09-21-TieMeasureFlow-revisione.md su Wasabi.

GRAVITÀ: alta FILE: scripts/seed_collaudo.py:16-20,174-196,299,312 COSA: documentato per girare dentro il container server di produzione. Crea un utente Supervisor+MeasurementTec (il ruolo che autorizza i fuori tolleranza) con password di default nel repo, stampata a terminale. Nessuna guardia d'ambiente. `--replace` cancella Measurement, ProductionRun, ProductionEvent senza conferma. INPUT: collaudo su `tieflow.tielogic.xyz` senza `--supervisor-password`. VERIFICATO: `sed -n 305,315p scripts/seed_collaudo.py` → default presente; `grep -n "environ\|confirm"` → 0. ORIGINE: revisione fable del 21/09/2026 su ramo `V3.0.0`, commit 8cc5e82. Documento completo: `_output/2026-09-21-TieMeasureFlow-revisione.md` su Wasabi.
Adriano added the bug label 2026-09-21 20:14:43 +00:00
Adriano added the assegnata:jeeg label 2026-09-21 20:22:40 +00:00
Author
Owner

⚡ jeeg — preso in carico 2026-09-21T20:22:40Z
ramo: lavoro/jeeg · capacità: docker, gpu, systemd

⚡ jeeg — **preso in carico** 2026-09-21T20:22:40Z ramo: `lavoro/jeeg` · capacità: docker, gpu, systemd
Author
Owner

ANALISI (passo 1) — ramo lavoro/jeeg, worktree ~/lavoro/TieMeasureFlow su jeeg, lotto A2

MODIFICHE: scripts/seed_collaudo.py — (a) niente default per --supervisor-password: se il capoturno va creato e l'opzione manca, genera una password casuale (secrets.token_urlsafe(12)) e stampala una volta; (b) guardia d'ambiente: se APP_ENV/debug indica produzione (stessa regola di src/backend/config.py, lotto A2) richiede --conferma-produzione; (c) --replace elenca quante Measurement/ProductionRun/ProductionEvent cancellerà e chiede --si per procedere senza prompt interattivo. Aggiorna il docstring in testa.
TEST: se esistono test dello script adeguali; altrimenti un test che importa main con argv finto e verifica che senza --si --replace non cancelli.

ANALISI (passo 1) — ramo `lavoro/jeeg`, worktree `~/lavoro/TieMeasureFlow` su jeeg, lotto A2 MODIFICHE: scripts/seed_collaudo.py — (a) niente default per `--supervisor-password`: se il capoturno va creato e l'opzione manca, genera una password casuale (secrets.token_urlsafe(12)) e stampala una volta; (b) guardia d'ambiente: se `APP_ENV`/debug indica produzione (stessa regola di src/backend/config.py, lotto A2) richiede `--conferma-produzione`; (c) `--replace` elenca quante Measurement/ProductionRun/ProductionEvent cancellerà e chiede `--si` per procedere senza prompt interattivo. Aggiorna il docstring in testa. TEST: se esistono test dello script adeguali; altrimenti un test che importa `main` con argv finto e verifica che senza `--si` `--replace` non cancelli.
Author
Owner

Soluzione

ESITO: fatto
COSA: seed_collaudo.py: nessuna password di default (generata e stampata una volta se manca), --conferma-produzione richiesto fuori da dev/test, --replace mostra cosa cancella e chiede --si.
COMMIT (ramo lavoro/jeeg, unito su V3.0.0 a d483fa1): 8864b20
PROVA: uv run --extra server --extra client --extra dev pytest -q → 622 passed, 4 skipped (erano 391); visione su Python 3.13 → 16 passed (erano 8).

**Soluzione** ESITO: fatto COSA: seed_collaudo.py: nessuna password di default (generata e stampata una volta se manca), `--conferma-produzione` richiesto fuori da dev/test, `--replace` mostra cosa cancella e chiede `--si`. COMMIT (ramo lavoro/jeeg, unito su V3.0.0 a d483fa1): 8864b20 PROVA: `uv run --extra server --extra client --extra dev pytest -q` → 622 passed, 4 skipped (erano 391); visione su Python 3.13 → 16 passed (erano 8).
Adriano removed the assegnata:jeeg label 2026-09-21 21:56:21 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/TieMeasureFlow#17