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:
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user