Adriano
17ea010f7e
Test: quota NaN chiede il capoturno, migrazione 022 conserva le righe
...
Refs #125
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 22:07:18 +01:00
Adriano
2f0a5aaf1e
Deviazione NaN nelle esportazioni CSV per le quote non misurate
...
Refs #124
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 22:06:43 +01:00
Adriano
b01bba536a
Test check: la quota non prodotta entra come NaN/fail
...
Refs #118
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 21:41:22 +01:00
Adriano
17344aae13
Monitor: quota con soli NaN resta in elenco con media null e fuori tolleranza
...
Refs #118
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 21:30:11 +01:00
Adriano
06f308be6f
Visione: quota non prodotta salvata come NaN (value NULL, fail) invece del 422; migrazione 022
...
Refs #118
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-28 21:21:54 +01:00
Adriano
39b9ad77eb
vision: condizione della quota su due righe leggibili (Refs #105 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Jbf7qKuxsnAVjxthRy7dnB
2026-10-25 16:31:16 +01:00
Adriano
6080e6aebc
vision: ricetta DXF riapribile, immagine salvata, rotte source e files, soglia segue la quota (Refs #105 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Jbf7qKuxsnAVjxthRy7dnB
2026-10-25 16:25:37 +01:00
Adriano
ebaafbe6e9
vision: anteprima DXF nel worker e nel backend (Refs #101 )
...
Worker: POST /dxf/preview legge il DXF con read_xld_dxf (lo stesso lettore di
CompareDxf) e ritorna contorni in mm con y verso il basso, bbox, dimensioni,
entita e punti (tetto 20000, decimazione uniforme). Backend: POST
/api/vision/dxf-preview (Maker) che inoltra al worker; 422 inoltrato.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 15:55:43 +01:00
Adriano
444dc0a6d1
backend: immagini BMP ammesse nelle rotte visione (Refs #99 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-25 15:46:58 +01:00
Adriano
661b782bad
backend: test camera e modo di analisi nel task, /vision/check (Refs #97 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 18:26:26 +02:00
Adriano
8f9731839a
backend: camera e modo di analisi nel task, /vision/check senza salvataggio (Refs #97 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 18:20:14 +02:00
Adriano
8ce7b489d6
Merge branch 'lavoro/daitarn-tmf-seedfiera' into lavoro/daitarn-tmf-dxfcal
2026-10-24 10:17:47 +02:00
Adriano
bc90d327f1
seed fiera: password 123 per tutti, chiesta da Adriano ( #85 )
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Jbf7qKuxsnAVjxthRy7dnB
2026-10-24 10:17:45 +02:00
Adriano
e46965cb51
Merge branch 'lavoro/daitarn-tmf-seedfiera' into lavoro/daitarn-tmf-dxfcal
2026-10-24 00:55:21 +02:00
Adriano
990b5d0db8
Seed fiera: utenti, stazione, ricette e storico misure ( #85 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Jbf7qKuxsnAVjxthRy7dnB
2026-10-23 23:51:00 +02:00
Adriano
ad6ce5d11d
Backend: ricetta DXF compare da camera e calibrazione letta dall'acquisitore ( #83 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 22:44:15 +02:00
Adriano
f8f5f248ff
setup: init-db e reset-db stampano head in un thread (TieMeasureFlow#80)
...
_stamp_head esegue env.py di alembic, che fa asyncio.run() e dentro il loop
di FastAPI dava RuntimeError (500). Ora gira con asyncio.to_thread. Nuovo
test_setup_stamp.py senza monkeypatch di _stamp_head, su file SQLite.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 14:25:24 +02:00
Adriano
f23e87e585
Merge piano B: report PDF su Windows offline (TieMeasureFlow#78)
2026-10-17 12:39:35 +02:00
Adriano
8431aa7095
Report PDF su Windows: MathJax locale per Kaleido (niente CDN offline) e test con WeasyPrint/Edge veri (TieMeasureFlow#78)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 09:16:29 +02:00
Adriano
242add047b
Backend su file SQLite locale: DB_URL, PRAGMA FK/WAL, UPLOAD_DIR assoluto (TieMeasureFlow#77)
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 09:07:45 +02:00
Adriano
1453b31cee
by-code: auth da utente loggato qualunque, come /recipes ( #72 )
...
Lo chiama il proxy Flask con la chiave dell'operatore MeasurementTec, quindi
get_current_user al posto di require_admin_user. Test: MeasurementTec 200,
senza chiave 401.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 09:53:33 +02:00
Adriano
b9f43a0ede
Stazioni: camera_url e camera_source, GET /api/stations/by-code/{code} ( #72 )
...
Migrazione 020 con le due colonne su stations, campi in modello, schemi e
servizio (validatore http(s) come vision_worker_url), nuova route by-code
dichiarata prima di /{station_id}. Test di migrazione su e giu e di API.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 09:50:14 +02:00
Adriano
74fe5665b5
015_api_key_hash idempotente: DB da create_all e 015 a metà su MySQL ( #71 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-15 09:25:07 +02:00
Adriano
c911449b7c
Statistica: endpoint esiti, note, campi e allegati dei task di una sessione ( #58 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01NABedeMX43pyXZbDNUgA5B
2026-10-11 18:07:06 +00:00
Adriano
275bbd1a5f
Test worker di visione per stazione, API stazioni, migrazione 019 ( #45 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01NABedeMX43pyXZbDNUgA5B
2026-10-11 17:38:03 +00:00
Adriano
95d643d6d8
Worker di visione per stazione: modello, API, migrazione 019, execute_task ( #45 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01NABedeMX43pyXZbDNUgA5B
2026-10-11 17:37:08 +00:00
Adriano
b7cb061fee
Suite: test PIN, cornice e worker PDF allineati all'integrazione ( #65 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 13:46:27 +02:00
Adriano
2564498915
Test copy-on-write dei task: rilettura della collezione in sessione condivisa ( #53 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 13:11:30 +02:00
Adriano
21f8bae5ac
Task results: upload allegati per MeasurementTec, percorsi in task_results/, test e migrazione 018 ( #55 #53 #54 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:50:42 +02:00
Adriano
df1727be73
Task: in_loop, at_close, fields, tipo check, task_results, close_task_ids, rate limit login-pin ( #53 #54 #55 #59 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:42:13 +02:00
Adriano
743f246cbf
Merge lavoro/daitarn-trafilo-pin
2026-10-07 12:38:56 +02:00
Adriano
f7d6d008c7
Merge lavoro/daitarn-trafilo-duplica
2026-10-07 12:33:02 +02:00
Adriano
837f3d1069
Merge lavoro/daitarn-trafilo-statsessione
2026-10-07 12:33:02 +02:00
Adriano
f5a2affa0f
Merge lavoro/daitarn-trafilo-monitor
2026-10-07 12:33:02 +02:00
Adriano
3b3ecceb2a
Merge lavoro/daitarn-trafilo-settings
2026-10-07 12:33:02 +02:00
Adriano
e44ac3129f
Statistiche sessioni: conteggio misure solo sui run della ricetta ( #58 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:31:53 +02:00
Adriano
4e52095423
Statistiche per sessione di produzione: filtro production_run_id, elenco sessioni, select Sessione ( #58 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:28:35 +02:00
Adriano
23bfc93f1c
Impostazioni: durata loop, tolleranze, anagrafiche; tab Utenti con reset password ( #47 #48 #49 #50 #51 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:28:31 +02:00
Adriano
07e23b957d
PIN a 4 cifre: migrazione 017, login-pin, pin-users, PUT pin, capoturno via PIN ( #59 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:27:31 +02:00
Adriano
fc1902a1bb
Ricetta: il digest della cartella copre anche i file di meta ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:27:04 +02:00
Adriano
3c1d5f1323
Duplica ricetta: servizio, endpoint e test backend ( #52 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:25:25 +02:00
Adriano
db5d686938
Monitor stazioni: GET /api/production-runs/open ( #57 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:25:16 +02:00
Adriano
86290274e5
Test ricetta v2, execute dxf_compare, migrazione 016 ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:15:02 +02:00
Adriano
ee0f65ed39
Endpoint ricetta VisionSuite v2, execute con overlay e immagine salvata ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:12:50 +02:00
Adriano
18d0db8a0c
Migrazione 016 vision_recipe_dir, copy-on-write, dxf_compare tra i task di misura ( #46 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-07 12:08:29 +02:00
Adriano
7ac291b8ac
Backend: date dei filtri dei report e utenti setup in ora italiana/UTC esplicito ( #42 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:59:07 +02:00
Adriano
486e1288bf
Backend: UTC nel DB, +00:00 nelle API, ora italiana solo in presentazione ( #42 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:41:22 +02:00
Adriano
0d004c43ff
Login: cancella le key scadute dell'utente ( #41 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:34:30 +02:00
Adriano
35f46926a9
API key come hash SHA-256, una per sessione, TTL rinnovabile ( #41 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:34:30 +02:00
Adriano
1d93eded27
Ripristino delle quote già misurate nel ciclo in corso dopo un reload ( #40 )
...
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-06 11:31:57 +02:00