Files
geointel/docs/ACCEPTANCE_CRITERIA.md
T
Codex 6ea3586a3e
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Initial GeoIntel V1 foundation
2026-06-16 23:36:32 +02:00

2.0 KiB

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.