Files
geointel/docs/FIXTURE_STRATEGY.md
T
Jens faeb58ef6d
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
Initial public release
2026-08-31 21:56:53 +02:00

60 lines
1.5 KiB
Markdown

# 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.