92 lines
2.5 KiB
Markdown
92 lines
2.5 KiB
Markdown
# M9 Build Pass Scorecards
|
|
|
|
Use these scorecards after every Codex pass. A pass is not considered complete until its scorecard is mostly green.
|
|
|
|
## Pass 0 — Audit
|
|
|
|
- [ ] Repository tree inspected.
|
|
- [ ] Existing docs summarized.
|
|
- [ ] Missing implementation listed.
|
|
- [ ] Build blockers listed.
|
|
- [ ] Next pass selected.
|
|
- [ ] No feature code added.
|
|
|
|
## Pass 1 — Backend Foundation
|
|
|
|
- [ ] FastAPI app starts.
|
|
- [ ] Health endpoint exists.
|
|
- [ ] Settings load from environment.
|
|
- [ ] CORS configured for local frontend.
|
|
- [ ] API envelope helper exists.
|
|
- [ ] Error handler exists.
|
|
- [ ] Backend tests run.
|
|
|
|
## Pass 2 — Database Foundation
|
|
|
|
- [ ] SQLAlchemy or approved ORM configured.
|
|
- [ ] Alembic migrations initialized.
|
|
- [ ] PostGIS extension migration exists.
|
|
- [ ] Project model exists.
|
|
- [ ] Area model exists with geometry.
|
|
- [ ] Dataset model exists.
|
|
- [ ] Local database connection documented.
|
|
|
|
## Pass 3 — Project/Area APIs
|
|
|
|
- [ ] Create/list/read project.
|
|
- [ ] Create/list/read area.
|
|
- [ ] GeoJSON polygon validation.
|
|
- [ ] Area size calculation.
|
|
- [ ] Envelope responses.
|
|
- [ ] Error responses for invalid geometry.
|
|
- [ ] Tests for happy and failure paths.
|
|
|
|
## Pass 4 — Dataset Manager Skeleton
|
|
|
|
- [ ] Dataset upload endpoint.
|
|
- [ ] File stored under documented storage root.
|
|
- [ ] Metadata extraction placeholder with real file inspection when possible.
|
|
- [ ] Dataset list/read APIs.
|
|
- [ ] Status lifecycle present.
|
|
- [ ] Tests with fixtures.
|
|
|
|
## Pass 5 — Frontend Foundation
|
|
|
|
- [ ] React app starts.
|
|
- [ ] Route shell exists.
|
|
- [ ] API client uses envelope.
|
|
- [ ] Error/loading/empty states exist.
|
|
- [ ] Project list page exists.
|
|
- [ ] Workspace shell exists.
|
|
|
|
## Pass 6 — Map Workbench Shell
|
|
|
|
- [ ] MapLibre or approved map abstraction installed.
|
|
- [ ] Area polygon can be displayed.
|
|
- [ ] Demo GeoJSON can be loaded.
|
|
- [ ] Layer panel shell exists.
|
|
- [ ] No hardcoded fake analysis results.
|
|
|
|
## Pass 7 — Raster/Vector Core Skeleton
|
|
|
|
- [ ] Raster metadata endpoint skeleton.
|
|
- [ ] Vector metadata endpoint skeleton.
|
|
- [ ] CRS field exposed.
|
|
- [ ] Bounds field exposed.
|
|
- [ ] UI metadata panels exist.
|
|
|
|
## Pass 8 — QA/QC Skeleton
|
|
|
|
- [ ] QA service interface exists.
|
|
- [ ] IoU function unit-tested with fixtures.
|
|
- [ ] Precision/recall formulas implemented.
|
|
- [ ] QA endpoint accepts reference and predicted layer IDs or fixture IDs.
|
|
- [ ] QA result card exists.
|
|
|
|
## Pass 9 — Stabilization
|
|
|
|
- [ ] All smoke commands documented.
|
|
- [ ] Changelog updated.
|
|
- [ ] Known limitations updated.
|
|
- [ ] Next advanced module recommendation written.
|