feat: add governed nationwide AOI orchestration and CUDA enforcement
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-07-26 05:23:33 +02:00
parent 25b6f1ab39
commit 2be72fac58
50 changed files with 1596 additions and 51 deletions
@@ -38,6 +38,7 @@ class YoloPreflightService:
"checks": {
"enabled": resolved_settings.yolo_enabled,
"dependencies_available": None,
"accelerator_ready": None,
"model_path_set": None,
"model_file_exists": None,
"model_load_requested": check_model_load,
@@ -70,6 +71,21 @@ class YoloPreflightService:
result["message"] = "YOLO dependencies are not installed. Install backend optional extras with geointel-backend[ai]."
return result
if not assume_dependencies:
try:
adapter = yolo_adapter_class(resolved_settings)
validate_runtime = getattr(adapter, "validate_runtime", None)
if validate_runtime is not None:
validate_runtime()
except AppError as exc:
result["checks"]["accelerator_ready"] = False
result["status"] = "accelerator_unavailable"
result["message"] = exc.message
result["error_code"] = exc.code
result["details"] = exc.details
return result
result["checks"]["accelerator_ready"] = True
result["checks"]["model_path_set"] = bool(resolved_settings.yolo_model_path)
if not resolved_settings.yolo_model_path:
result["message"] = "YOLO_MODEL_PATH is not set. GeoIntel will not download model weights automatically."
@@ -143,6 +159,8 @@ class YoloPreflightService:
"torch_version": YoloPreflightService._package_version("torch"),
"ultralytics_version": YoloPreflightService._package_version("ultralytics"),
"cuda_available": None,
"configured_device": settings.yolo_device,
"cuda_required": settings.yolo_require_cuda,
}
@staticmethod