docs: in fiera ci va anche la V2, e il grafo si compone con un editor a nodi

Decisione A chiusa il 14/09, e revoca la revoca del 09/08: allora il
committente era Trafilo e voleva misurare profilati, adesso il modulo e
un investimento e allo stand guarda chi deve immaginarci il proprio pezzo.
Il taglio per la fiera arriva fino alla misura vera; expected_json resta
dopo. La V3, che e cio che Trafilo ha pagato, scala indietro.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JyL1sTGpFxx7Qw3xP58eoZ
This commit is contained in:
Adriano
2026-09-14 10:29:26 +02:00
parent 4adad9ab9b
commit 401457d21f
@@ -180,21 +180,30 @@ di algoritmo entra in questo repository.
`POST /api/vision/preview` su un'immagine caricata, e restituisce le uscite attese. Senza camera, senza `POST /api/vision/preview` su un'immagine caricata, e restituisce le uscite attese. Senza camera, senza
interfaccia. E `test_vision_boundary.py` continua a passare. interfaccia. E `test_vision_boundary.py` continua a passare.
### V2 — L'authoring nel Maker ### V2 — L'authoring nel Maker — **in fiera** (decisa il 14/09)
La schermata che oggi non esiste. Il Maker, alla scrivania: La schermata che oggi non esiste. Si compone con un **editor visuale a nodi** (decisione A, chiusa il
14/09). Il Maker, alla scrivania:
- carica o sceglie un'**immagine di riferimento** per il task (l'API esiste già); - carica o sceglie un'**immagine di riferimento** per il task (l'API esiste già);
- compone il grafo — e qui va deciso *come*, vedi il capitolo 7, decisione A; - compone il grafo collegando gli strumenti — l'immagine entra, `MatchPattern` dà la posa, da lì scendono
le quote e il `CompareDXF`;
- preme **prova** e vede le uscite (`/preview` esiste già); - preme **prova** e vede le uscite (`/preview` esiste già);
- **aggancia** ciascuna uscita a una quota della ricetta, scrivendo `vision_output` sulla subtask (il - **aggancia** ciascuna uscita a una quota della ricetta, scrivendo `vision_output` sulla subtask (il
campo esiste già), e su quella quota mette nominale e tolleranze come su qualunque altra; campo esiste già), e su quella quota mette nominale e tolleranze come su qualunque altra;
- **promuove le uscite della prova a `expected_json`**, che è ciò che accende la prova di non regressione - **promuove le uscite della prova a `expected_json`**, che è ciò che accende la prova di non regressione
(lacuna 4) e chiude una promessa che la spec di agosto ha fatto e non ha mantenuto. (lacuna 4) e chiude una promessa che la spec di agosto ha fatto e non ha mantenuto.
**Il taglio per la fiera** (deciso il 14/09): ci va tutto **fino alla misura vera** — comporre, provare,
agganciare alle quote, e il ciclo dell'operatore che misura e riceve OK/warning/fail con le tolleranze
applicate. È la storia che vende: il confronto DXF **dentro il flusso di produzione**, non un tool a sé.
Restano fuori dalla fiera, e si fanno dopo, la promozione a `expected_json` e la prova di non regressione:
valgono per la robustezza, ma allo stand non si mostrano.
*Fatto quando:* una ricetta con un task di visione si compone interamente dall'interfaccia, senza scrivere *Fatto quando:* una ricetta con un task di visione si compone interamente dall'interfaccia, senza scrivere
JSON a mano, e rieseguendo l'intero parco ricette su immagini di riferimento si vede quali quote si sono JSON a mano, e un operatore la esegue ottenendo un esito vero. La prova di non regressione — rieseguire
mosse. l'intero parco ricette su immagini di riferimento e vedere quali quote si sono mosse — è il criterio della
parte differita.
### V3 — L'agente di stazione, i device, la camera ### V3 — L'agente di stazione, i device, la camera
@@ -232,12 +241,25 @@ dal confronto (scarto massimo, numero di zone fuori tolleranza) trattate come mi
Nessuna di queste si può dedurre dal codice: vanno chiuse da Adriano, alcune con il cliente. Nessuna di queste si può dedurre dal codice: vanno chiuse da Adriano, alcune con il cliente.
**A. Come si compone un grafo.** L'editor visuale a nodi (TieWorkflow) è stato **revocato il 09/08** con **A. Come si compone un grafo — chiusa il 14/09/2026: un editor visuale a nodi.** Adriano lo ha rimesso
una motivazione che vale ancora: un editor ha senso solo se a comporre le pipeline è qualcuno che non nel perimetro, e la scelta **revoca la revoca del 09/08**. Allora TieWorkflow era uscito perché *«un editor
programma, e il cliente aveva chiesto misure, non un editor. Ma qualcosa deve pur esserci, perché scrivere ha senso solo se a comporre le pipeline è qualcuno che non programma, e il cliente aveva chiesto misure,
JSON a mano non è un prodotto. Le tre strade: un modulo per tipo di task con i soli parametri in chiaro non un editor»*: motivazione giusta quando il committente era Tràfilo, che vuole misurare profilati.
(il minimo che funziona); una libreria di grafi preconfezionati che il Maker sceglie e tara; l'editor, Adesso il modulo è un investimento per prendere lavori futuri (decisione F), e il pubblico dello stand non
che è la strada cara. **Questa decisione decide la fase V2 per intero.** è l'operatore di Tràfilo — è chi allo stand deve immaginarci il **proprio** pezzo, e a quello un form fisso
non parla.
Le altre due strade restano scritte qui perché sono la via d'uscita, non perché siano state scelte: un
**modulo per tipo di task** con i parametri in chiaro (il minimo che funziona) e una **libreria di grafi
preconfezionati** che il Maker sceglie e tara.
⚠️⚠️ **È la più cara delle tre, su un cammino critico già pieno.** Ad agosto l'editor era stimato **12-18
ore su un perimetro più piccolo** — senza `MatchPattern`, senza `CompareDXF`, senza l'aggancio quota→uscita
— ed è l'ordine di grandezza che aveva fatto sfondare il budget del piano ferie. Quelle ore ora si sommano
alla V1, anch'essa obbligatoria per la fiera, dentro 43 giorni. **Il ripiego va deciso adesso, non il 20
ottobre:** se a metà ottobre l'editor non regge, si espone il modulo per tipo di task, che mostra le stesse
misure con meno scena.
**B. La scala: pixel o millimetri.** Il 09/08 si era deciso che le quote potessero restare **in pixel**, e **B. La scala: pixel o millimetri.** Il 09/08 si era deciso che le quote potessero restare **in pixel**, e
che per il DXF compare servisse un fattore di scala ricavato da una quota nota misurata col calibro. Va che per il DXF compare servisse un fattore di scala ricavato da una quota nota misurata col calibro. Va
@@ -294,13 +316,16 @@ prodotto no. Deciderlo prima cambia l'ampiezza della V1.
## 9. Il calendario, per capire le priorità ## 9. Il calendario, per capire le priorità
La catena è **Tielogic produce → Ricerca e Misure (Menoncin) rivende → Tràfilo usa**, venti postazioni. La catena è **Tielogic produce → Ricerca e Misure (Menoncin) rivende → Tràfilo usa**, venti postazioni.
Due scadenze esterne, entrambe vicine: Due scadenze esterne, e dal 14/09 non pesano più allo stesso modo.
- **Installazione a Tràfilo**, attesa per settembre. La serve la fase V3, ed è la ragione per cui l'agente - **Fiera del 27-29 ottobre**, banchetto Tielogic nella zona Opto Engineering. Le servono **V1 e V2
di stazione non può aspettare la fiera. insieme**, perché allo stand si mostra il prodotto e non una demo: comporre una ricetta di visione
- **Fiera del 27-29 ottobre**, banchetto Tielogic nella zona Opto Engineering. La serve la fase V1, perché dall'interfaccia, misurare un pezzo, vedere l'esito. È l'unica data del percorso visione, ed è il posto
è lì che si mostrano il confronto DXF e il pattern matching, cioè le due cose che a Menoncin interessano dove l'investimento della decisione F si trasforma in lavori.
commercialmente. - **Installazione a Tràfilo**, attesa per settembre. Le serve la **V3**, ed è **ciò che è stato
fatturato**. ⚠️ Con V1 e V2 entrambe prima della fiera, la V3 resta indietro: è una scelta consapevole,
ma la tempistica dell'installazione era stata data a Menoncin, quindi va **detta a lui** invece di
scoperta da lui.
Se le due si contendono le stesse ore, la V1 è quella che non ha alternative: un'installazione può ⚠️ Il rischio non è che manchi una delle due: è che l'editor a nodi si prenda le ore della V1. Il ripiego
slittare di due settimane, una fiera no. è scritto nella decisione A, e va guardato a **metà ottobre**, quando cambiare strada costa ancora poco.