feat: close measured model review evidence
GeoIntel CI / docs-smoke (push) Canceled after 0s
GeoIntel CI / contract-smoke (push) Canceled after 0s

This commit is contained in:
Codex
2026-07-15 03:34:04 +02:00
parent 2a9b48d2b5
commit 919e102069
11 changed files with 512 additions and 9 deletions
+17
View File
@@ -964,6 +964,23 @@ geometry and green is a matched reference. Selection is deterministic and
stratified by AOI and geodetic area bucket. Every CSV decision starts as
`unreviewed`; no positive-training example is inferred.
Validate the completed false-negative decisions symmetrically with the
false-positive workflow:
```bash
docker exec geointel /opt/geointel/venv/bin/python \
/app/scripts/validate_detection_false_negative_review_decisions.py \
--review-summary /app/storage/operator-data/model-review/small-building-candidate/false-negative-visual-review/detection_false_negative_review_summary.json \
--decisions-csv /app/storage/operator-data/model-review/small-building-candidate/false-negative-visual-review/false_negative_review_decisions.csv \
--output-dir /app/storage/operator-data/model-review/small-building-candidate/false-negative-visual-review/validated \
--require-complete
```
The validator exits with code `2` while any row remains `unreviewed`. It emits
only explicit `confirmed_model_false_negative` geometries; alignment,
reference-gap and uncertain imagery decisions never become positive training
labels.
Reference features that do not intersect any persisted inference tile are not
silently counted as reviewable model misses. They are reported separately in
`false_negatives_outside_tile_coverage.geojson` with