67 lines
2.0 KiB
Markdown
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.
|