Prepare GeoIntel for public release
Managed validation / Managed repository validation (pull_request) Successful in 1m46s
GeoIntel release gates / Compile, test, contracts and builds (pull_request) Successful in 1m51s
GeoIntel release gates / Python and npm vulnerability policy (pull_request) Successful in 20s
GeoIntel release gates / Production AI image, SBOM and container scan (pull_request) Successful in 15m3s
GeoIntel release gates / Deploy exact gated revision to Unraid (pull_request) Skipped

This commit is contained in:
Jens
2026-08-31 21:33:10 +02:00
parent dcd67b11d1
commit 2cdf9c99c6
195 changed files with 595 additions and 207595 deletions
@@ -23,6 +23,8 @@ class YoloPreflightService:
assume_dependencies: bool = False,
check_model_load: bool = False,
model_asset_id: str | None = None,
db: Any | None = None,
allow_offline_model_load: bool = False,
) -> dict[str, Any]:
resolved_settings = settings or get_settings()
selected_asset = None
@@ -126,6 +128,21 @@ class YoloPreflightService:
if check_model_load:
try:
if db is not None:
RuntimeModelProvenanceService.validate_for_production_runtime(
db=db,
model_path=model_path,
model_id=resolved_settings.yolo_model_id,
task_type="object_detection",
expected_model_version=resolved_settings.yolo_model_version,
allowed_frameworks=("ultralytics/pytorch", "ultralytics", "pytorch"),
)
elif not allow_offline_model_load:
raise AppError(
code="MODEL_PROVENANCE_DATABASE_REQUIRED",
message="Model compatibility loading requires production provenance or an explicit offline operator command.",
status_code=409,
)
yolo_adapter_class(resolved_settings).load_model(model_path)
except AppError as exc:
result["status"] = "model_load_failed"