GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
1.5 KiB
1.5 KiB
Fixture Strategy
Purpose
GeoIntel needs small, repeatable fixtures so Codex can build and test without relying on huge external downloads.
Fixture principles
- Fixtures must be tiny.
- Fixtures must be deterministic.
- Fixtures must be documented.
- Fixtures must not pretend to be official data.
- Real-source providers can be added later without breaking tests.
Required V1 fixtures
reference_buildings.geojson
Purpose:
- reference building polygons for QA/QC tests.
Content:
- 3 to 10 simple polygons.
- one polygon matching a prediction exactly;
- one partially overlapping;
- one unmatched reference object.
predicted_buildings.geojson
Purpose:
- deterministic detection output fixture.
Content:
- one true positive exact/near match;
- one true positive partial match;
- one false positive;
- one low-confidence detection.
project_area.geojson
Purpose:
- test project area.
Content:
- polygon enclosing all reference/predicted fixtures.
tiny_raster.tif
Purpose:
- raster metadata and clipping tests.
Content:
- very small georeferenced raster if feasible.
- if not feasible initially, document missing fixture and provide tests for raster metadata with generated temporary raster.
Development providers
DevelopmentDetectionProvider
Returns predictions from predicted_buildings.geojson for a selected demo run.
LocalFixtureReferenceProvider
Returns reference_buildings.geojson as a cached reference layer.
Acceptance
The fixture strategy is complete when QA/QC tests can run fully offline.