111 lines
3.2 KiB
Markdown
111 lines
3.2 KiB
Markdown
# GeoIntel M4 Sprint Board
|
|
|
|
## Sprint 0 — Repo Bootstrapping
|
|
- [ ] Verify repo root structure.
|
|
- [ ] Add backend package skeleton.
|
|
- [ ] Add frontend package skeleton.
|
|
- [ ] Ensure Docker Compose starts PostGIS and Redis.
|
|
- [ ] Add `.env.example` parity with backend settings.
|
|
- [ ] Add smoke command documentation.
|
|
|
|
Acceptance:
|
|
- A new developer can run the documented startup commands.
|
|
- Missing optional GIS binaries degrade gracefully with explicit warnings.
|
|
|
|
## Sprint 1 — Backend Foundation
|
|
- [ ] FastAPI app factory.
|
|
- [ ] Health endpoint.
|
|
- [ ] Settings loader.
|
|
- [ ] Structured error response middleware.
|
|
- [ ] Database session management.
|
|
- [ ] Alembic migration baseline.
|
|
|
|
Acceptance:
|
|
- `/health` returns app, db, redis and storage status.
|
|
- Failed validation returns the standard error envelope.
|
|
|
|
## Sprint 2 — Domain Models
|
|
- [ ] Project model.
|
|
- [ ] Area model with PostGIS geometry.
|
|
- [ ] Dataset model.
|
|
- [ ] AnalysisRun model.
|
|
- [ ] Detection model.
|
|
- [ ] Segmentation model.
|
|
- [ ] Metric model.
|
|
- [ ] Export model.
|
|
|
|
Acceptance:
|
|
- Migration creates all core tables.
|
|
- Geometry columns use SRID 31370 internally where applicable.
|
|
- API schemas never expose internal file-system paths unless explicitly an export path.
|
|
|
|
## Sprint 3 — Dataset Manager
|
|
- [ ] Dataset upload endpoint.
|
|
- [ ] Dataset metadata extractor dispatcher.
|
|
- [ ] Raster metadata extractor.
|
|
- [ ] Vector metadata extractor.
|
|
- [ ] Dataset list/detail endpoints.
|
|
- [ ] Dataset status transitions.
|
|
|
|
Acceptance:
|
|
- Uploading GeoJSON fixture produces vector metadata.
|
|
- Uploading placeholder/demo raster either extracts metadata or returns a clear unsupported-fixture status.
|
|
|
|
## Sprint 4 — Area & Map Workspace
|
|
- [ ] Create area from polygon.
|
|
- [ ] Validate area geometry.
|
|
- [ ] Calculate area in square meters.
|
|
- [ ] Return areas as GeoJSON.
|
|
- [ ] Frontend map shell.
|
|
- [ ] Draw polygon flow.
|
|
|
|
Acceptance:
|
|
- A user can create a project and add at least one polygon area through the UI.
|
|
|
|
## Sprint 5 — Raster/Vector Labs
|
|
- [ ] Raster metadata page.
|
|
- [ ] Vector metadata page.
|
|
- [ ] Vector clip operation.
|
|
- [ ] Raster operation contract endpoints.
|
|
- [ ] Operation job creation.
|
|
|
|
Acceptance:
|
|
- Vector fixture clipped to an area returns a new derived layer record.
|
|
|
|
## Sprint 6 — AI Pipeline Shells
|
|
- [ ] Model registry seed.
|
|
- [ ] Detection run endpoint.
|
|
- [ ] Segmentation run endpoint.
|
|
- [ ] Deterministic demo-mode inference.
|
|
- [ ] Store detections/segmentations as geometry outputs.
|
|
|
|
Acceptance:
|
|
- Detection run on demo area creates predictable detections with classes and confidence.
|
|
- Segmentation run creates polygons and area metrics.
|
|
|
|
## Sprint 7 — QA/QC
|
|
- [ ] Reference dataset selection.
|
|
- [ ] IoU matching.
|
|
- [ ] Precision/recall/F1.
|
|
- [ ] False positive/false negative outputs.
|
|
- [ ] QA dashboard panel.
|
|
|
|
Acceptance:
|
|
- Demo detections compared to demo reference produce stable metrics.
|
|
|
|
## Sprint 8 — Exports
|
|
- [ ] GeoJSON export.
|
|
- [ ] CSV metrics export.
|
|
- [ ] Report stub export.
|
|
- [ ] Export list/detail page.
|
|
|
|
Acceptance:
|
|
- User can download detection results as GeoJSON.
|
|
|
|
## Sprint 9 — Codex RC Pass
|
|
- [ ] Run tests.
|
|
- [ ] Update TODO.
|
|
- [ ] Update CHANGELOG.
|
|
- [ ] Remove dead placeholders.
|
|
- [ ] Verify all pages have empty/loading/error/success states.
|