Ricette: scegliere quali task entrano nel loop del ciclo di misura #53

Closed
opened 2026-10-07 09:54:54 +00:00 by Adriano · 4 comments
Owner

RICHIESTA: nella lista task della ricetta, selezionare quelli richiamati in loop con la logica ciclo di misura/cicalino/timer. Nel loop ci saranno sempre: controllo visivo OK/NOK, controllo funzionale OK/NOK, controllo misure.
NOTA: Menoncin chiede anche «che differenze ci sono tra i tipi di task?»: va risposto per iscritto insieme a questa.
FONTE: UPDATE TIEMEASUREFLOW_180926.docx (Tràfilo via Menoncin, test del 18/09/2026), daitarn:D:\Sorgenti\Clienti\Ricerca_e_Misura\0_REM-Tielogic_SHARED\1_TRAFILO\0_Specifiche\ (16 screenshot nel docx). Raccolta: TieMeasureFlow#44.

RICHIESTA: nella lista task della ricetta, selezionare quelli richiamati in loop con la logica ciclo di misura/cicalino/timer. Nel loop ci saranno sempre: controllo visivo OK/NOK, controllo funzionale OK/NOK, controllo misure. NOTA: Menoncin chiede anche «che differenze ci sono tra i tipi di task?»: va risposto per iscritto insieme a questa. FONTE: UPDATE TIEMEASUREFLOW_180926.docx (Tràfilo via Menoncin, test del 18/09/2026), daitarn:D:\Sorgenti\Clienti\Ricerca_e_Misura\0_REM-Tielogic_SHARED\1_TRAFILO\0_Specifiche\ (16 screenshot nel docx). Raccolta: TieMeasureFlow#44.
Adriano added the sviluppo label 2026-10-07 09:54:54 +00:00
Author
Owner

ESITO: analisi
COSA: scegliere quali task entrano nel loop ciclo di misura / cicalino / timer.
STATO: il loop è production_service.py:133 measurement_task_ids = task di tipo MEASURING_TASK_TYPES (BE/models/orm/task.py:21); complete_cycle chiude il ciclo sull'ultimo; timer server (ProductionRun.next_measurement_at, describe() :63); countdown e cicalino nel browser (FE/templates/measure/task_execute.html:1549,1600-1632; FE/static/js/production-clock.js:41,159).
FILE: BE/models/orm/task.py:35 colonna in_loop Boolean (default = tipo in MEASURING_TASK_TYPES) · migrazione 018 (dopo 016 #46 e 017 #59) · BE/services/recipe_service.py:100 copia del flag · BE/models/api/task.py:94,107,124 · measurement_task_ids :146 usa in_loop · task_editor.html checkbox · task_execute.html / production-clock.js usano il flag.
MIGRAZIONE: sì (018). PIANO: ondata 2 (backend dopo merge di lavoro/daitarn-46-backend, poi editor ed esecuzione).
RISPOSTA a Menoncin sui tipi di task: si scrive con la chiusura.
VERIFICATO su V3.0.0 a829bf3 (mappa del 07/10). Percorsi da src/; BE=backend/, FE=frontend/flask_app/.

ESITO: analisi COSA: scegliere quali task entrano nel loop ciclo di misura / cicalino / timer. STATO: il loop è production_service.py:133 measurement_task_ids = task di tipo MEASURING_TASK_TYPES (BE/models/orm/task.py:21); complete_cycle chiude il ciclo sull'ultimo; timer server (ProductionRun.next_measurement_at, describe() :63); countdown e cicalino nel browser (FE/templates/measure/task_execute.html:1549,1600-1632; FE/static/js/production-clock.js:41,159). FILE: BE/models/orm/task.py:35 colonna `in_loop` Boolean (default = tipo in MEASURING_TASK_TYPES) · migrazione 018 (dopo 016 #46 e 017 #59) · BE/services/recipe_service.py:100 copia del flag · BE/models/api/task.py:94,107,124 · measurement_task_ids :146 usa in_loop · task_editor.html checkbox · task_execute.html / production-clock.js usano il flag. MIGRAZIONE: sì (018). PIANO: ondata 2 (backend dopo merge di lavoro/daitarn-46-backend, poi editor ed esecuzione). RISPOSTA a Menoncin sui tipi di task: si scrive con la chiusura. VERIFICATO su V3.0.0 a829bf3 (mappa del 07/10). Percorsi da src/; BE=backend/, FE=frontend/flask_app/.
Author
Owner

ESITO: analisi — contratto dell'ondata 2 (migrazione 018, task_results, in_loop/at_close/fields, PIN del capoturno) nel commento su gitea:Adriano/TieMeasureFlow#54. Unità: P5 backend (dopo #59 backend), editor-task, esegui-esiti, esegui-pin.

ESITO: analisi — contratto dell'ondata 2 (migrazione 018, task_results, in_loop/at_close/fields, PIN del capoturno) nel commento su gitea:Adriano/TieMeasureFlow#54. Unità: P5 backend (dopo #59 backend), editor-task, esegui-esiti, esegui-pin.
Adriano added the assegnata:daitarn label 2026-10-07 10:33:36 +00:00
Author
Owner

🔵 daitarn — preso in carico 2026-10-07T10:33:32Z
ramo: lavoro/daitarn · capacità: build-windows, gpu

🔵 daitarn — **preso in carico** 2026-10-07T10:33:32Z ramo: `lavoro/daitarn` · capacità: build-windows, gpu
Author
Owner

Soluzione

ESITO: fatto
COSA: chi crea la ricetta sceglie per ogni task se entra nel ciclo di misura (timer, cicalino); default: misure e controllo OK/NOK.
FILE: src/backend/models/orm/task.py — colonna in_loop, DEFAULT_LOOP_TASK_TYPES = MEASURING_TASK_TYPES + check
FILE: src/backend/services/production_service.py — measurement_task_ids = task con in_loop della versione
FILE: src/backend/services/recipe_service.py, models/api/task.py, api/routers/tasks.py — campo in API e copy-on-write
FILE: src/frontend/flask_app/templates/maker/task_editor.html — casella «ciclo di misura»
FILE: src/frontend/flask_app/templates/measure/task_execute.html — Fermo linea e Fine produzione anche sui task check del ciclo
MIGRAZIONE: 018_task_loop_results
COMMIT: df1727b f541f4a c6d4260 736b853 21f8bae 2564498
PROVA: suite goldrake su b7cb061 → 835 passed 2 skipped (pytest 3.11 backend+frontend), 29 passed (pytest 3.13 vision), docker build vision ok; test src/backend/tests/test_task_loop_fields.py, test_migrations.py, src/frontend/flask_app/tests/test_maker_task_fields.py, test_operator_flow_ui.py
DIFFERENZE DALL'ANALISI: static/js/production-clock.js non modificato: il ciclo segue measurement_task_ids del run, ora calcolato da in_loop.
MANCA: risposta scritta a Menoncin su «che differenze ci sono tra i tipi di task?»: bozza in gitea:Adriano/TieMeasureFlow#66 (attesa:adriano, la manda Adriano).
In V3.0.0 da b7cb061 (ramo lavoro/daitarn-trafilo unito in fast-forward da a829bf3).

**Soluzione** ESITO: fatto COSA: chi crea la ricetta sceglie per ogni task se entra nel ciclo di misura (timer, cicalino); default: misure e controllo OK/NOK. FILE: src/backend/models/orm/task.py — colonna in_loop, DEFAULT_LOOP_TASK_TYPES = MEASURING_TASK_TYPES + check FILE: src/backend/services/production_service.py — measurement_task_ids = task con in_loop della versione FILE: src/backend/services/recipe_service.py, models/api/task.py, api/routers/tasks.py — campo in API e copy-on-write FILE: src/frontend/flask_app/templates/maker/task_editor.html — casella «ciclo di misura» FILE: src/frontend/flask_app/templates/measure/task_execute.html — Fermo linea e Fine produzione anche sui task check del ciclo MIGRAZIONE: 018_task_loop_results COMMIT: df1727b f541f4a c6d4260 736b853 21f8bae 2564498 PROVA: suite goldrake su b7cb061 → 835 passed 2 skipped (pytest 3.11 backend+frontend), 29 passed (pytest 3.13 vision), docker build vision ok; test src/backend/tests/test_task_loop_fields.py, test_migrations.py, src/frontend/flask_app/tests/test_maker_task_fields.py, test_operator_flow_ui.py DIFFERENZE DALL'ANALISI: static/js/production-clock.js non modificato: il ciclo segue measurement_task_ids del run, ora calcolato da in_loop. MANCA: risposta scritta a Menoncin su «che differenze ci sono tra i tipi di task?»: bozza in gitea:Adriano/TieMeasureFlow#66 (attesa:adriano, la manda Adriano). In V3.0.0 da b7cb061 (ramo lavoro/daitarn-trafilo unito in fast-forward da a829bf3).
Adriano removed the assegnata:daitarn label 2026-10-07 12:37:13 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Adriano/TieMeasureFlow#53