F2 porta in Support tecnici, sostitutive e agenda, e alla fine gli operatori smettono di creare e modificare appuntamenti in WordPress. Queste pagine non elencano tutto quello che i piani prevedono: mostrano come ogni step applica i paradigmi impostati con F1 e cosa aggiunge di nuovo.
I sette piani sono stati rivisti il 12 novembre 2026, dopo il rebase di F1 su main, e non sono ancora implementati. Per i concetti di base (pacchetti, comandi, eventi, outbox, LegacyWp) parti dalla guida Paradigmi della migrazione.
La controparte tecnico o perito con competenze e hub serviti, la sua capacità giornaliera, le assenze, e la plancia di assegnazione che sostituisce lo snippet s47 e il calendario dei tecnici.
Auto, contratti con date, fornitori, posizione ricavata dalle movimentazioni, capienza giornaliera per hub e abbinamento della targa all'appuntamento.
Support diventa l'unico autore dell'appuntamento. WP continua a leggerlo come proiezione, perché lo usano 23 snippet e circa 20 file del tema.
Si esce da F2 quando nessun appuntamento viene creato o modificato in WP per due settimane, i conteggi e i campi chiave coincidono, e solleciti, PDF e cruscotto ricambi in WP funzionano sui dati sincronizzati.
Nasce il pacchetto rete con l'aggregato Controparte. Fino al passaggio la fonte resta WP: i comandi ci sono ma rifiutano, e l'allineamento passa da un import ripetibile.
Capacità per perizie e lavorazioni con storico, assenze e conferma delle disponibilità. L'agenda nasce in Support ed è modificabile da subito.
Dipende da F2-01, F1-04 F2-03LIl pacchetto logistica prende auto, contratti, documenti, posizione e capienza. Non conosce WP: i dati arrivano da una facciata di replica.
Completa quello che F1-04 ha iniziato: tipologia unica, sostitutiva con controllo di capienza, annullamento manuale, proiezione completa e Self Appointment che non aspetta WP.
Dipende da F1-04, F2-03 F2-05LAssegnare, riassegnare e liberare i tecnici con le regole della plancia di inspecta: dodici controlli in fila, tre forzabili, sotto un lock per tecnico e giorno.
Dipende da F2-02, F2-04 F2-06SDati un hub d'ingresso e una data, 8 vetture e 8 riserve tra le pratiche con Fast Pass accettato. È il primo pezzo dell'entità Trasporto e permette di spegnere s116.
Dipende da F1-02, F1-04, F2-03 F2-07MImport finale ripetibile, riconciliazione bloccante, cambio della fonte a Support per tecnici, sostitutive e agenda, disattivazioni su WP e criteri di uscita misurati.
Dipende da tutti gli stepF2-03 può partire dopo i Task 3 e 5 di F2-01, che introducono Dominio::Fonte e Wp::Bridges::Base. F2-02 è indipendente da F2-03. F2-06 parte dopo i primi due task di F2-03. F2-04 e F2-05 chiudono il cerchio, F2-07 è l'ultimo.
flowchart LR F102["F1-02 accessi"] --> F201 F103["F1-03 sync inversa"] --> F201 F104["F1-04 comandi agenda"] --> F202 F104 --> F203 F104 --> F204 F104 --> F206 F201["F2-01 tecnici"] --> F202["F2-02 agenda tecnico"] F201 --> F203["F2-03 flotta"] F203 --> F204["F2-04 appuntamento master"] F203 --> F206["F2-06 bisarca"] F202 --> F205["F2-05 plancia"] F204 --> F205 F205 --> F207["F2-07 passaggio"] F206 --> F207
Tutti gli step seguono lo stesso schema di F1. Il codice nuovo sta in un pacchetto e non conosce WordPress. Ogni scrittura passa da un comando con un attore e pubblica un evento con l'outbox, e lo strato LegacyWp traduce quell'evento in una proiezione su WP. La tabella mostra dove ogni step mette il peso.
| Step | Pacchetto | Comandi ed eventi | Verso WordPress | Accento dello step |
|---|---|---|---|---|
| F2-01 | rete | ret.controparte.registrata, aggiornata, sospesa | Adattatore Tecnico, import ripetibile, fonte WP fino al passaggio | Chi è fonte del dato |
| F2-02 | pianificazione | pia.agenda_tecnico.modificata | Riproietta il tecnico solo se la sua fonte è Support | Lo stesso tecnico in due contesti |
| F2-03 | logistica | log.sostitutiva.* | Facciata Logistica::Replica, proiezione della sostitutiva | Un contesto che non sa nulla di WP |
| F2-04 | pianificazione | pia.appuntamento.* | Proiezione completa, fine della sovrascrittura da WP | Dal flag di F1-04 alla fonte |
| F2-05 | pianificazione | tecnico_assegnato, tecnico_liberato | ispezione_affidata_a scritto da un job dietro una feature spenta | Regole in sequenza e lock |
| F2-06 | logistica | log.trasporto.composto | Nessuna proiezione: si spegne s116 | Query, comando ed export |
| F2-07 | legacy_wp | Orchestratore e riconciliazione | Disattivazioni su WP, scritture misurate | Invertire e spegnere |
F2 non cambia le regole di F1, ma le estende in alcuni punti. Ogni novità è spiegata nella pagina dello step che la introduce.
| Novità | A cosa serve | Dove nasce | Dove si usa |
|---|---|---|---|
Dominio::Fonte | Dice per ogni kind se il master è WP o Support. Fa da interruttore al posto di un feature flag. | F2-01 | 02, 03, 04, 05; il cambio a Support in 07 |
| Query object pubblici | Leggono dati di un contesto senza esporne i modelli: restituiscono valori immutabili fatti con Data.define. | F2-01 (Rete::Query::Tecnici) | 02, 03, 04, 05, 06 |
| Facciate di import e replica | Un secondo ingresso, separato dai comandi, per copiare dati da WP senza pubblicare eventi di dominio. | F2-01 | 02, 03 (Logistica::Replica), 07 |
| Regole forzabili tracciate | Un operatore autorizzato può superare un limite, con motivo e autore salvati. | F2-04 (capienza sostitutive) | 05 (capacità del tecnico, scarto di giorni) |
| Lock | Serializzano le scritture concorrenti sullo stesso hub, auto o tecnico e giorno. | F2-03 | 04, 05 (advisory lock) |
| Un contesto ascolta un altro | Logistica libera la sostitutiva quando Pianificazione annulla un appuntamento. | F2-04 | 04 |
| Errori di dominio con dati | Una sottoclasse di RegolaViolata porta con sé il record in conflitto. | F2-03 (TargaDuplicata) | 03 |
| Orchestratore e riconciliazione | Un passaggio ripetibile in prova, bloccato se conteggi o campi chiave non coincidono. | F2-07 | 07 |
| Codice | Decisione | Step |
|---|---|---|
| P1 | Capacità del tecnico: un numero giornaliero per perizie e uno per lavorazioni, con storico | 02, 05 |
| P3 | Capienza sostitutive superata: forzabile con motivo obbligatorio | 03, 04 |
| P6 | Capacità del tecnico superata: forzabile, tracciata in colonna | 05 |
| P7 | Movimentazioni: restano in WP, Support ne tiene una copia in sola lettura | 03 |
| P8 | Bisarca: raggio di 30 km, 8 titolari e 8 riserve | 06 |
| P10 | packwerk da subito per i confini tra contesti | tutti |
| P11 | Self Appointment: parte dal comando locale, senza aspettare il webhook WP | 04, 07 |
| D-F2-1, D-F2-2 | Su WP non tutto si spegne con una disattivazione: le scritture residue si misurano con legacy_wp_scritture | 07 |
| D-F2-4 | Operation può assegnare tecnici solo alle perizie | 05 |