0411b71c2d
Build & push images / images (push) Successful in 4m7s
CI syncs the service with `uv sync --frozen` (no extra), so test_vehicle.py's module-level numpy import broke collection in ci.yml and both build-images runs. numpy joins the dev group (the service imports it lazily); the one test that resizes with OpenCV skips when cv2 is absent. Reproduced locally in a CI-identical env: 13 passed, 1 skipped; ruff + mypy clean. Claude-Session: https://claude.ai/code/session_01FWncR69HgGPuei1dLrW3cU