Files
geointel/docs/ACCEPTANCE_CRITERIA.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

67 lines
2.0 KiB
Markdown

# Acceptance Criteria
## Milestone M1 — Working foundation
M1 is accepted when:
- backend starts successfully;
- frontend starts successfully;
- project can be created;
- area can be added as polygon;
- dataset can be uploaded or fixture-imported;
- metadata is persisted;
- basic map/workbench UI exists;
- tests cover project/area basics.
## Milestone M2 — Raster/vector foundation
M2 is accepted when:
- vector data can be imported;
- raster metadata can be read;
- CRS/bounds/resolution are visible;
- area/length calculations use metric CRS;
- vector clipping works;
- raster clipping either works or fails with a clear limitation message;
- outputs are persisted as artifacts.
## Milestone M3 — Detection foundation
M3 is accepted when:
- a detection run can be started;
- detections are persisted with class, confidence and geometry;
- detections can be visualized/listed;
- detections can be exported as GeoJSON;
- provider interface supports future YOLO implementation.
## Milestone M4 — QA/QC foundation
M4 is accepted when:
- predictions can be compared with a reference layer;
- IoU matching works;
- precision, recall and F1 are calculated;
- false positives and false negatives are available as separate findings/layers;
- unit tests cover edge cases.
## Milestone M5 — End-to-end demo
M5 is accepted when Demo 1 runs from UI:
1. Open project.
2. Select area.
3. Load raster/reference fixtures.
4. Run detection.
5. Run QA/QC against reference.
6. View map/results.
7. Export GeoJSON and summary.
## Quality gates
Before any handoff:
- no syntax errors;
- no obvious broken imports;
- backend test suite run;
- frontend build/typecheck run if available;
- docs updated;
- limitations documented.
## Rejection criteria
Reject a build if:
- core pages are placeholder-only;
- endpoints return hardcoded success without persisted data;
- geospatial outputs lack CRS metadata;
- code ignores service boundaries;
- major errors are hidden from UI;
- a feature claims GRB/YOLO/SAM support without provider separation or explicit development-provider labeling.