Skip to main content

Checklist di avanzamento

Aggiornare questa pagina nello stesso commit/PR con cui un'attività viene completata. Una macro-voce si considera chiusa solo quando sono soddisfatti codice, test, migrazione e documentazione.

Decisioni e baseline

  • Approvare requisiti, glossario e confini MVP/Release 1 con il committente
  • Fotografare API, schema, dataset e comportamento AS-IS
  • Creare regression suite del POC
  • Approvare ADR tenant/source of truth
  • Approvare matrice ruoli e permessi
  • Approvare ADR architettura modulare
  • Approvare ADR cursori/consegna/correzioni
  • Approvare ADR forecasting e funzione obiettivo
  • Approvare ADR adapter import/export

P0 — Organizzazione e sicurezza

  • Identificare Italbiotec come tenant destinatario dei dati legacy in DEV, TEST e PROD
  • Implementare OrganizationContext derivato server-side
  • Aggiungere organization_id a tutte le entità operative
  • Rendere tenant-aware foreign key, unicità e indici
  • Migrare i dati legacy DEV a Consorzio Italbiotec
  • Migrare i dati legacy TEST a Consorzio Italbiotec durante il deploy
  • Migrare i dati legacy PROD a Consorzio Italbiotec durante il deploy
  • Rendere tenant-aware stato operativo, audit, import, export e job
  • Creare profili applicativi Rendicontazione e matrice capability per ruolo
  • Collegare profili, utenti e organizzazione con migrazione idempotente
  • Applicare i permessi alle API server-side con comportamento deny-by-default
  • Aggiungere gestione Team per inviti, profilo amministrativo e ruoli operativi
  • Filtrare la navigazione UI in base alle capability effettive
  • Applicare scope a list/detail/create/update/delete/search
  • Applicare scope a calcoli, report, cache ed eventi
  • Rimuovere fallback/query globali
  • Scopare per organizzazione il reset amministrativo datahub (niente TRUNCATE globale)
  • Rendere fail-closed il filtro tenant di datahub per i chiamanti tenant-aware
  • Rendere lo schema di clean-install e la migrazione 088 eseguibili su un ambiente senza dati legacy
  • Testare due utenti della stessa organizzazione
  • Testare isolamento e IDOR tra due organizzazioni
  • Creare lo script di verifica invarianti tenant (db/postgres/checks/rendicontazione_tenant_invariants.sql)
  • Verificare zero record orfani/null/cross-tenant in DEV
  • Verificare zero record orfani/null/cross-tenant in TEST
  • Verificare zero record orfani/null/cross-tenant in PROD
  • Allineare backbone_identity in db/postgres/init/ (oggi i backport 042 e 044 falliscono all'init e vengono riparati solo dalle migrazioni)
  • Rimuovere le tabelle placeholder rendicontazione.organizations e organization_members
  • Correggere l'attribuzione utente e impedire che l'attore sia scelto dal chiamante
  • Scrivere audit_log su ogni mutazione, con attore, organizzazione e correlation id
  • Scopare per organizzazione le chiavi Redis dei job di import
  • Eseguire pilot e chiudere il gate P0

HR e risorse

  • Introdurre società/sotto-aziende e storico appartenenza
  • Creare catalogo sedi tenant-aware e pagina di gestione
  • Storicizzare la sede di assegnazione del dipendente senza intervalli sovrapposti
  • Separare ruoli, macro-livelli e job level
  • Storicizzare reporting line e impedire cicli
  • Collegare dipendente e account utente
  • Consolidare storico costo e intervalli non sovrapposti
  • Introdurre tipo risorsa employee/freelancer
  • Gestire ore contrattuali dei freelancer
  • Completare tab/UI del mini gestionale HR
  • Aggiornare import/export dipendenti

Ferie e disponibilità

  • Definire policy ferie, unità, carry-over e calendari
  • Implementare monte ferie annuale
  • Implementare piano ferie e stati workflow
  • Implementare self-service dipendente
  • Implementare vista/permessi HR e manager
  • Integrare ferie pianificate nella capacità
  • Integrare riserva per ferie non pianificate
  • Coprire part-time, assunzione e cessazione infra-annuale

Enti, progetti e costi

  • Completare anagrafica enti finanziatori
  • Storicizzare tariffe ente per macro-livello
  • Impedire intervalli tariffa sovrapposti
  • Rendere esplicita strategia costo reale/standard
  • Applicare la tariffa valida alla data
  • Aggiungere limite ore per risorsa default 1720
  • Gestire override del limite per progetto
  • Aggiungere sede opzionale al progetto
  • Normalizzare la città e validare la compatibilità sede progetto-risorsa sull'intero intervallo
  • Gestire cambi sede senza lasciare associazioni incompatibili
  • Validare associazioni e tariffe mancanti
  • Aggiungere UI e report qualità dati

Import/export

  • Definire modelli canonici dipendenti, progetti, ferie e consuntivi
  • Definire interfacce e registry adapter
  • Incapsulare formati attuali come adapter v1
  • Implementare nuovi formati come adapter separati
  • Versionare detection, mapping e contratti
  • Garantire staging, diff, approvazione e rollback
  • Garantire idempotenza tenant-aware
  • Creare fixture anonimizzate e contract test

Consuntivo e consegna

  • Implementare actual_through_month per organizzazione
  • Implementare delivered_through_month per organizzazione
  • Implementare comando/permesso di consegna
  • Creare snapshot/hash dei periodi consegnati
  • Bloccare modifiche a periodi consegnati in DB/API/UI
  • Implementare dirty range per correzioni retroattive
  • Ricalcolare tutti i periodi/progetti impattati
  • Conservare versioni, motivazione e confronto prima/dopo
  • Rigenerare report aperti senza alterare snapshot consegnati

Forecasting

  • Formalizzare domanda, capacità, priorità e copertura
  • Implementare vincoli periodo/associazione/rapporto
  • Integrare nel forecast il vincolo di compatibilità città progetto-risorsa
  • Implementare vincoli capacità e no over-allocation
  • Implementare limite cumulativo risorsa-progetto
  • Integrare costi reali e standard temporali
  • Integrare ferie e calendario
  • Implementare strategia freelancer
  • Calcolare globalmente tutti i progetti dell'organizzazione
  • Collegare tutti i trigger tramite outbox/job idempotenti
  • Coalescere eventi e calcolare il minimo dirty range
  • Versionare input, algoritmo e risultati
  • Mostrare infeasibilità, ore scoperte e spiegazioni
  • Validare golden dataset e UAT committente

MVP avanzato

  • Completare flusso HR → progetto → forecast
  • Completare flusso consuntivo → correzione → consegna
  • Validare report dipendente e progetto
  • Eseguire UAT end-to-end con il committente
  • Risolvere finding bloccanti UAT
  • Ottenere sign-off MVP avanzato

Uso LLM

  • Approvare casi d'uso e funzioni esplicitamente escluse
  • Definire tool tenant-aware e relativi JSON Schema
  • Integrare esclusivamente tramite assistant orchestrator e llm-gateway
  • Implementare “Spiega il forecast” con fonti strutturate
  • Implementare spiegazione delle anomalie dati
  • Implementare proposta mapping import con approvazione umana
  • Creare dataset di evaluation anonimizzato e versionato
  • Misurare fedeltà, accuratezza, latenza e costo
  • Verificare isolamento tra organizzazioni e rispetto permessi
  • Verificare assenza di modifiche autonome e numeri inventati
  • Definire logging, retention, redazione e fallback
  • Validare con UAT del committente

Release 1

  • Eseguire performance/load/concurrency test
  • Definire e misurare SLO
  • Creare dashboard, alert e tracing
  • Provare retry, idempotenza e recovery job
  • Testare backup e restore
  • Completare security/privacy review
  • Definire retention e audit export
  • Automatizzare onboarding nuova organizzazione
  • Preparare feature flag, canary e rollback
  • Completare manuali utente, amministrazione e supporto
  • Eseguire go-live rehearsal
  • Ottenere sign-off Release 1