3870cc3b0f
VisionReferenceImage (migration 013, chained after 012_vision_results): task_id, path, station_id, device_code, calibration_snapshot, engine_version, note, expected_json, acquired_at. station_id/device_code/ calibration_snapshot/engine_version/expected_json stay nullable - nessun endpoint di questo task li popola ancora, arrivano coi Piani 1b/2/4. save_reference_image salva sotto settings.upload_path (non upload_dir, come production_export_service). preview esegue il grafo e non salva niente - comporre non e' misurare, lo asserisce il test. POST /api/vision/reference-images e /api/vision/preview su require_maker (non require_measurement_tec di execute): comporre e provare sono lavoro del Maker, non misure. Suite intera su Python 3.11.15 locale (uv run pytest -q, SQLite in-memory per il backend): 1 failed, 373 passed, 4 skipped in 82.35s. Il fallimento e' quello preesistente e non correlato di test_no_first_party_script_calls_out (fabric-debug.js locale, git-ignored) - 371 passed prima di questo task, +2 qui. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014BBnuACZSCJqXrMYC3LUMU