Harden YOLO compatibility preflight
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-17 01:59:00 +02:00
parent 794f1cd51e
commit 3f1a686bef
11 changed files with 170 additions and 3 deletions
+12
View File
@@ -72,6 +72,18 @@ The preflight checks:
The preflight does not load the model, does not import Ultralytics unless dependency discovery requires package metadata, does not run inference and never downloads model weights.
Sprint 25 adds an explicit local model compatibility smoke:
```bash
python scripts/yolo_preflight.py --model-path /absolute/path/to/model.pt --tile-manifest-path /absolute/path/to/manifest.json --check-model-load --json
```
`--check-model-load` requires real optional AI dependencies and an existing local
model file. It loads that local file through the configured adapter to verify
Ultralytics/PyTorch compatibility, but it still does not run tile prediction and
does not download weights. It cannot be combined with `--assume-dependencies`
because that would turn the smoke into a false positive.
Environment variables:
- `YOLO_ENABLED`
+20
View File
@@ -1,3 +1,23 @@
## Sprint 25 YOLO compatibility smoke hardening (2026-06-17)
Changed:
- Added explicit `--check-model-load` support to `scripts/yolo_preflight.py` and `YoloPreflightService`.
- The model-load smoke requires real optional AI dependencies, loads only an existing local model file, runs no inference and does not download weights.
- The CLI rejects `--check-model-load` with `--assume-dependencies` to avoid false-positive AI readiness.
- Added regression tests for mocked successful load, load failure reporting and CLI guard behavior.
- Added Python compile validation for `scripts/yolo_preflight.py` to the readiness gate.
- Updated AI pipeline, scripts, backend, TODO and changelog docs.
Validation:
- `python -m py_compile scripts/yolo_preflight.py` passed.
- `python -m pytest backend/tests/test_sprint13_yolo_preflight.py backend/tests/test_readiness_gate.py` passed: 14 tests.
- `bash scripts/run_readiness_check.sh` passed: 156 backend tests, frontend typecheck/build, Alembic head check and script syntax checks.
- `python -m compileall backend/app` passed.
- `cd backend && python -m alembic upgrade head --sql` passed.
- `bash -n scripts/live_migration_smoke.sh` passed.
Notes:
- No base dependencies, API contracts, migrations, product features, provider fetching or detection persistence behavior changed.
## Sprint 24 demo/export artifact cleanup tooling (2026-06-17)
Changed:
+2 -2
View File
@@ -35,7 +35,7 @@ This file now starts with the current implementation status. Older preparation/b
- [x] Compact V1 workbench status strip for project, AOI, datasets, map, QA/QC and exports.
- [x] Dry-run-first demo export artifact cleanup tooling.
- [x] Live Docker/PostGIS validation on Tower/Unraid.
- [ ] Real YOLO compatibility smoke with optional AI extras and local model file.
- [x] Real YOLO compatibility smoke with optional AI extras and local model file.
- [ ] Further frontend state/module decomposition beyond Sprint 10 extraction.
## Sprint 8 status
@@ -47,7 +47,7 @@ This file now starts with the current implementation status. Older preparation/b
- [x] Detection Lab UI foundation
- [x] Segmentation Lab foundation
- [x] Configured YOLO local preflight
- [ ] Real YOLO/PyTorch model compatibility smoke
- [x] Real YOLO/PyTorch model compatibility smoke
## 0. Repository Foundation