Files
TieMeasureFlow/docs/architecture/ROADMAP.md
T
Adriano e4b29c0b2d chore(docs): consolidate documentation, drop dead files
Cleanup
- Remove src/backend/Dockerfile.legacy and
  src/frontend/flask_app/Dockerfile.legacy (history is in git, build
  uses the new uv-based root Dockerfile / Dockerfile.frontend).
- Remove src/frontend/flask_app/verify_i18n.py (had hardcoded paths
  pointing at the old client/ tree).

Group docs/
- New docs/README.md indexes everything in one place.
- New docs/architecture/STATO_PROGETTO.md: snapshot of what works in
  V2.0.0 (inherited V1.0.7 features, rev04 Phase 1 stations,
  worker scaling, src/ restructure, test status, stack, decisions).
- New docs/architecture/ROADMAP.md: what's next — Phases 2-7 of the
  rev04 migration with status, open client decisions (D-0.1 through
  D-0.10), tech debt and time estimates for M1 / M2.
- Move PIANO_IMPLEMENTAZIONE.md (90KB V1.0.0 plan) to
  docs/archive/2026-02-06-piano-implementazione-v1.md (historical).
- Move Schema sviluppo SW TieFlow_rev04-2026.docx to docs/specs/
  with ISO date filename so the customer spec is now tracked.
- Move src/frontend/flask_app/I18N_SETUP.md to docs/I18N_SETUP.md
  and rewrite paths to the new src/frontend/flask_app/ tree.

.dockerignore: simplified now that legacy Dockerfiles are gone;
docs/ stays excluded from the build context.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 12:43:57 +02:00

5.0 KiB

Roadmap TieMeasureFlow — V2.0.0 → V1.1.0 (rev04 / M1 demo cliente)

Aggiornare ad ogni Fase chiusa.

Riferimenti

Strategia: due milestone

Milestone Scope Obiettivo
M1 — Demo cliente Fasi 1-5 + deploy "demo" Sistema testabile end-to-end col cliente per raccogliere feedback
M2 — Produzione Fasi 6-7 + correzioni post-feedback + GAIA live Rollout su tablet/PC reali

Stato Fasi (M1)

Fase Scope Stato Branch / Commit
1 Stazioni + identità per-tablet COMPLETATA V2.0.0 (merge ea8e468 da feature/rev04-phase1-stations)
2 Ruolo Capoturno (Supervisor) + override token breve Da iniziare
3 Editor ricetta a blocchi (preparation + measurement) Da iniziare
4 Workflow operatore (retry/timer/autologout/avvio produzione) Da iniziare
5 (M1) ImportOnlyGaiaClient + UI import dati cliente reali Da iniziare
Deploy M1 VPS demo (compose + Traefik + LE, no registry) Da iniziare

Stato Fasi (M2)

Fase Scope Stato
5 (M2) GAIA reale (protocollo TBD, polling, comandi produzione) Bloccata da decisioni cliente (D-0.1, D-0.2)
6 Deploy B industriale (registry privato + Watchtower + STATION_ID per-tablet + CI release) Pianificata
7 Hardening, security review, E2E sito pilota, docs aggiornati, i18n delta Pianificata

Decisioni aperte (bloccanti per M2 / future fasi)

Da: master plan §0 "Precondizioni e Decisioni Aperte". Da risolvere col cliente prima della Fase 5/6.

ID Decisione Stato Bloccante per
D-0.1 Protocollo integrazione GAIA (REST / DB shared / OPC-UA / file) Aperta Fase 5 reale (M2)
D-0.2 Credenziali e rete GAIA (VPN / firewall / whitelist IP) Aperta Fase 5 reale (M2)
D-0.3 Target hardware "tablet" (Windows / Linux industriale / Android) Aperta Fase 6 (deploy B)
D-0.4 Cicalino/luce avviso (audio HTML5 / hardware USB / entrambi) Rimandata a M2 Fase 4 finale
D-0.5 Parametri runtime modificabili vs versione immutabile Aperta (raccomandato B: separare volatili) Fase 3
D-0.6 Auth capoturno durante override (modale / PIN / RFID) Aperta Fase 2
D-0.7 Timeout auto-logout Risolta
D-0.8 Naming ruolo capoturno Proposta: Supervisor Fase 2
D-0.9 Tag versione immagine docker Proposta: SemVer + latest Fase 6
D-0.10 Registry esposto su Internet o solo VPN Proposta: solo VPN cliente Fase 6

Tech debt da chiudere

Item Priorità Note
3 test backend pre-esistenti rotti (test_recipes, test_tasks) Media Investigare prima di Fase 3 (toccano recipe + task router).
1 test client pre-esistente rotto (test_save_measurement_proxy) Bassa Probabilmente CSRF/payload. Risolvere con Fase 4.
.env rename a convenzione spec (SERVICE_NAME, SERVICE_DOMAIN, API_KEY) Bassa Rinviato (impatto deploy).
Header X-API-Key rename a X-Api-Key Bassa Vedere se M2 lo richiede.
Envelope risposta {success,data,error} Bassa Eventuale API v2 in M2.
Dockerfile.frontend: pybabel compile via uv run non testato in build reale Alta Verificare al primo docker compose build.

Open per scelta utente prima della prossima sessione

  1. Quale fase iniziare adesso? Opzioni: Fase 2 (Supervisor — sblocca workflow), Fase 3 (block editor — independente), Fase 5 (import GAIA dati reali — sblocca demo).
  2. Revisione decisioni aperte col cliente — D-0.1 / D-0.2 / D-0.3 / D-0.6 prima di pianificare Fase 5 e 6.
  3. Smoke test Docker della nuova struttura V2.0.0 (docker compose -f docker-compose.dev.yml up --build) per validare i Dockerfile riscritti.
  4. Test di carico (k6/locust) a 20 VU su /measure/save-measurement per validare la scalatura worker (capacità annunciata: 20-30 tablet contemporanei).

Stima tempi residui M1 (post-Fase 1)

Task Stima full-time
Fase 2 — Supervisor + override 1 settimana
Fase 3 — Block editor 1.5 settimane
Fase 4 — Workflow operatore 2 settimane
Fase 5 (M1) — Import-only GAIA 1 settimana
Deploy M1 demo 0.5 settimane
Totale M1 residuo ~6 settimane

Stima tempi M2 (dopo feedback)

Task Stima
Aggiustamenti post-feedback variabile (1-2 sett.)
Fase 5 reale GAIA 1-2 settimane
Fase 6 deploy B 1 settimana
Fase 7 hardening 1-2 settimane
Totale M2 ~4-7 settimane

Totale fino a produzione: ~10-13 settimane full-time da oggi (2026-04-25), assumendo decisioni aperte risolte in tempo utile.