# 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.