84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
# MODULE ACCEPTANCE CRITERIA
|
|
|
|
This document defines when a module is considered done enough to move forward.
|
|
|
|
## Backend foundation
|
|
|
|
Done when:
|
|
|
|
- app imports without error;
|
|
- health endpoint works;
|
|
- config is environment-driven;
|
|
- response envelope is used;
|
|
- error shape is canonical;
|
|
- backend smoke test exists.
|
|
|
|
## Database foundation
|
|
|
|
Done when:
|
|
|
|
- database connection is configured;
|
|
- PostGIS is enabled or checked;
|
|
- migrations exist;
|
|
- core tables can be created;
|
|
- geometry storage works;
|
|
- tests or smoke checks exist.
|
|
|
|
## Project Manager
|
|
|
|
Done when:
|
|
|
|
- project create/list/read works;
|
|
- invalid payloads return canonical errors;
|
|
- frontend can display projects;
|
|
- tests cover at least one create/list/read path.
|
|
|
|
## Area Manager
|
|
|
|
Done when:
|
|
|
|
- valid GeoJSON polygon can be stored;
|
|
- invalid geometry is rejected;
|
|
- bounds or area metadata is returned where practical;
|
|
- geometry is stored in PostGIS;
|
|
- frontend can display at least one area on the map.
|
|
|
|
## Dataset Manager
|
|
|
|
Done when:
|
|
|
|
- GeoJSON dataset can be registered/uploaded;
|
|
- metadata is extracted;
|
|
- metadata is persisted;
|
|
- original file or reference is stored;
|
|
- dataset state follows the state machine;
|
|
- frontend can list datasets.
|
|
|
|
## Map Workbench Foundation
|
|
|
|
Done when:
|
|
|
|
- MapLibre renders;
|
|
- fixture layer can be displayed;
|
|
- layer loading state exists;
|
|
- error state exists;
|
|
- map controls do not break layout.
|
|
|
|
## Export baseline
|
|
|
|
Done when:
|
|
|
|
- at least one valid GeoJSON export path exists;
|
|
- export file is stored or streamed consistently;
|
|
- export metadata is recorded or returned;
|
|
- invalid export requests fail gracefully.
|
|
|
|
## QA/QC skeleton
|
|
|
|
Done when:
|
|
|
|
- schema for reference and prediction layers is documented/implemented;
|
|
- no live AI inference is required;
|
|
- future QA engine can plug into analysis run structure;
|
|
- fixture metrics can be validated if implemented.
|