Files
geointel/backend/tests/test_accuracy_phase2_foundation_audit.py
T

35 lines
1.3 KiB
Python

from __future__ import annotations
import importlib.util
from pathlib import Path
ROOT = Path(__file__).resolve().parents[2]
SCRIPT = ROOT / "scripts" / "run_accuracy_phase2_foundation_audit.py"
SPEC = importlib.util.spec_from_file_location("accuracy_phase2_foundation_audit", SCRIPT)
assert SPEC is not None and SPEC.loader is not None
MODULE = importlib.util.module_from_spec(SPEC)
SPEC.loader.exec_module(MODULE)
def test_phase2_foundation_audit_enumerates_exact_source_and_contract_policies() -> None:
payload = MODULE.collect()
assert payload["phase"] == "P2"
assert payload["migration_revision"] == "202608010001"
assert payload["source_registry"]["definition_count"] >= 40
assert payload["source_registry"]["required_building_policy"] == {
"grb_primary_building_validation": "primary",
"buildings_register_classification": "authoritative",
"sentinel_2_classification": "contextual",
"dhmv_classification": "authoritative",
"osm_ground_truth_allowed": False,
}
assert {(item["key"], item["version"]) for item in payload["data_contracts"]} == {
("geointel.vector.geojson", "1.0.0"),
("geointel.raster.geotiff", "1.0.0"),
("geointel.label.yolo", "1.0.0"),
("geointel.label.yolo", "1.1.0"),
("geointel.model.pytorch", "1.0.0"),
}