feat(vision): il server esegue tramite worker e salva misure vere

Aggiunge POST /api/vision/execute: route l'immagine al worker di visione,
mappa le uscite del grafo sulle quote e le salva con save_measurement -
stesso verdetto, stesso gate del fuori tolleranza di ogni altra misura.
Nuova tabella vision_results (una riga per acquisizione, non per quota) e
input_method 'camera' su measurements.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014BBnuACZSCJqXrMYC3LUMU
This commit is contained in:
2026-08-16 18:40:12 +02:00
parent 05f2937611
commit ddf7788d77
11 changed files with 477 additions and 1 deletions
@@ -224,6 +224,7 @@ async def save_measurement(
input_method: str = "manual",
input_duration_ms: int | None = None,
production_run_id: int | None = None,
vision_result_id: int | None = None,
) -> Measurement:
"""Save a single measurement with auto-calculated pass/fail."""
# Get subtask for tolerance values
@@ -266,6 +267,7 @@ async def save_measurement(
input_method=input_method,
input_duration_ms=input_duration_ms,
production_run_id=production_run_id,
vision_result_id=vision_result_id,
)
db.add(measurement)
await db.flush()