feat: scope detection QA to inference coverage
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-14 11:25:28 +02:00
parent aae6315981
commit 948e50b5e1
17 changed files with 762 additions and 7 deletions
+43
View File
@@ -7556,3 +7556,46 @@ Open:
- Clip detection QA reference populations to actual raster/tile coverage and
add box-to-building-footprint matching diagnostics before any further model
training or promotion decision.
# Sprint 184 - Detection QA coverage and matching diagnostics
## Implementation
- Added a focused detection-QA coverage service that resolves the persisted
tile manifest from the analysis run, validates dataset ownership and CRS,
transforms each tile footprint to EPSG:4326 and unions the exact inference
coverage.
- Configured-YOLO QA now fails closed when persisted manifest provenance is
absent, invalid or belongs to another raster. Explicit fixture and legacy
runs without a manifest retain their existing unbounded QA behavior.
- Candidate Detection geometries and persisted reference VectorFeature
geometries are clipped to inference coverage before the existing one-to-one
IoU matcher runs. Raw, evaluated, excluded-outside and boundary-clipped
counts are persisted in `quality_checks.findings_json`.
- Canonical precision, recall, F1, mean IoU and metric rows remain strict
candidate-polygon versus reference-footprint results. A second
candidate-polygon versus reference-envelope pass is persisted and displayed
as diagnostic-only evidence; it never replaces or promotes canonical
metrics.
- Detection Lab now explains which reference population was evaluated and
clearly separates possible box-to-footprint artifacts from the canonical
scorecard.
- Updated the real-data operator smoke assertions, API/AI/database contracts
and backend/frontend operator documentation. No migration, request contract,
provider fetch or model dependency changed.
## Local validation
- `bash scripts/run_readiness_check.sh` passed end to end.
- Full backend suite passed: `506` tests.
- API contract audit passed with `81` implemented routes and the two documented
non-envelope endpoints.
- Alembic reports one head: `202606120900`.
- Frontend TypeScript checking and production build passed with `85` modules;
the dedicated MapLibre chunk remains intact.
## Next pass
- Deploy Sprint 184 to Tower, rerun QA for the persisted Mol-center analysis
run and verify both persisted coverage evidence and Detection Lab rendering
against live PostGIS before making any model-training decision.