Add detection model promotion report
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-07-08 16:41:11 +02:00
parent d03a86a8ce
commit c2fba67569
7 changed files with 498 additions and 0 deletions
+22
View File
@@ -1,3 +1,25 @@
## Sprint 143 Detection model promotion decision report (2026-07-08)
Changed:
- Added `scripts/build_detection_model_promotion_report.py` as operator-only evidence tooling.
- The script combines a positive-AOI `calibration_evidence_portfolio.json` with one or more `hard_negative_matrix_summary.json` files.
- Candidate rows are grouped by `model_asset_id`, `tile_size`, `tile_overlap` and `threshold`.
- Promotion gates are explicit:
- minimum positive sample count
- minimum background sample count
- minimum mean positive F1
- maximum background detections per sample
- Added readiness `py_compile` coverage for the new script.
- Documented the Tower command in `scripts/README.md`.
Tested:
- Red step: `python -m pytest backend\tests\test_sprint143_detection_model_promotion_report.py -q` failed because the report script did not exist.
- `python -m pytest backend\tests\test_sprint143_detection_model_promotion_report.py -q` (`1 passed`)
Open:
- Run the report against the regenerated 7-AOI positive portfolio and live hard-negative summaries on Tower.
- Use the report as a promotion gate only; it must not mutate the active YOLO model configuration.
## Sprint 141 Expanded positive-AOI matrix and portfolio metadata hardening (2026-07-08)
Changed:
+1
View File
@@ -430,5 +430,6 @@ This file now starts with the current implementation status. Older preparation/b
- [x] Run fresh positive-AOI matrix coverage for Balen, Herentals and Westerlo.
- [x] Preserve model/tile provenance in calibration evidence bundle summaries.
- [x] Prevent same-threshold calibration evidence responses from overwriting each other in multi-model portfolios.
- [x] Add a model promotion decision report that combines positive-AOI score with hard-negative false-positive pressure.
- [ ] Add more AOIs after the tile-level baseline so the next local model attempt is not limited to Geel/Mol/Turnhout.
- [ ] Add negative/background AOIs so the next tile dataset is not all positive tiles.