Add background split matrix runner
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-07-10 02:15:15 +02:00
parent 64dac0d9b7
commit 251aa7b044
9 changed files with 461 additions and 1 deletions
+40
View File
@@ -6235,3 +6235,43 @@ Open:
- `OPERATOR_BACKGROUND_CATEGORIES="pure_empty_negative"` for the strict default-promotion false-positive gate.
- `OPERATOR_BACKGROUND_CATEGORIES="sparse_building_context"` for contextual review evidence.
- Retrain or recalibrate the inactive AOI1024 local model candidate only after those two matrices are available.
# Sprint 157 - Background split matrix runner
## What changed
- Added `scripts/run_background_corpus_split_matrix.sh` as the operator wrapper for the next Tower run.
- The wrapper runs `scripts/run_operator_hard_negative_detection_matrix.sh` twice:
- `OPERATOR_BACKGROUND_CATEGORIES="pure_empty_negative"` for the strict default-promotion false-positive gate.
- `OPERATOR_BACKGROUND_CATEGORIES="sparse_building_context"` for review-only contextual evidence.
- Added `scripts/build_background_corpus_split_report.py` to combine both summaries into:
- `background_corpus_split_summary.json`
- `background_corpus_split_summary.md`
- The combined report records `strict_default_gate`, `context_review`, `passes_zero_detection_gate`, max detection counts and the recommended next step.
- Added readiness coverage for the new Python and Bash scripts.
- Updated operator pipeline docs, TODO and changelog.
## What was tested
- Added regression coverage in `backend/tests/test_sprint157_background_split_matrix_runner.py`.
- Ran `python -m pytest tests/test_sprint157_background_split_matrix_runner.py -q`.
- Ran `python -m pytest tests/test_sprint157_background_split_matrix_runner.py tests/test_sprint156_background_corpus_classification.py tests/test_sprint132_operator_hard_negative_matrix.py -q`: 9 passed.
- Ran `python -m py_compile scripts/build_background_corpus_split_report.py`.
- Ran `bash -n scripts/run_background_corpus_split_matrix.sh`.
- Ran `python -m compileall backend/app`.
- Ran `python -m pytest` in `backend`: 443 passed.
- Ran `cd frontend && npm run typecheck`.
- Ran `cd frontend && npm run build`.
- Ran `bash scripts/run_readiness_check.sh`.
- Ran `cd backend && python -m alembic heads` and `cd backend && python -m alembic upgrade head --sql`.
- Ran `bash -n scripts/live_migration_smoke.sh` and `bash -n scripts/run_background_corpus_split_matrix.sh`.
## Known limitations
- This pass adds orchestration/report tooling only. It does not run live inference on Tower, retrain YOLO, rerun the split matrices or change any model default.
- No backend API contract, database migration, provider fetching, fake detection output or model download behavior changed.
## Next recommended pass
- Rebuild/redeploy the runtime, regenerate the operator manifest if needed, then run `scripts/run_background_corpus_split_matrix.sh` against `http://192.168.10.150:1202`.
- Use the emitted split report to decide whether to retrain, recalibrate thresholds or keep the AOI1024 candidate operator-only.