35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
from pathlib import Path
|
|
|
|
|
|
ROOT = Path(__file__).resolve().parents[2]
|
|
|
|
|
|
def test_detection_calibration_sweep_reuses_real_data_workflow_and_reports_qa_metrics() -> None:
|
|
script_path = ROOT / "scripts" / "run_detection_calibration_sweep.sh"
|
|
readiness = (ROOT / "scripts" / "run_readiness_check.sh").read_text(encoding="utf-8")
|
|
|
|
assert script_path.exists()
|
|
script = script_path.read_text(encoding="utf-8")
|
|
|
|
assert "bash -n scripts/run_detection_calibration_sweep.sh" in readiness
|
|
assert "verify_real_data_detection_qa_workflow.sh" in script
|
|
assert "CALIBRATION_THRESHOLDS" in script
|
|
assert "REAL_CONFIDENCE_THRESHOLD" in script
|
|
assert "REAL_RASTER_PATH" in script
|
|
assert "REAL_REFERENCE_VECTOR_PATH" in script
|
|
assert "/api/v1/projects/${project_id}/quality-checks" in script
|
|
assert "/api/v1/detection/runs/${analysis_run_id}" in script
|
|
assert "quality_check_id" in script
|
|
assert "raw_detection_count" in script
|
|
assert "suppressed_detection_count" in script
|
|
assert "duplicate_iou_threshold" in script
|
|
assert "false_positives" in script
|
|
assert "false_negatives" in script
|
|
assert "quality_score" in script
|
|
assert 'metrics.get("f1")' in script
|
|
assert "best_by_score" in script
|
|
assert "calibration_summary.json" in script
|
|
assert "demo/workflow" not in script
|
|
assert "fixture_mode" not in script
|
|
assert "will_download_models" not in script
|