Initial public release
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
GeoIntel release gates / Compile, test, contracts and builds (push) Successful in 1m49s
GeoIntel release gates / Python and npm vulnerability policy (push) Successful in 21s
GeoIntel release gates / Production AI image, SBOM and container scan (push) Successful in 5m39s
GeoIntel release gates / Deploy exact gated revision to Unraid (push) Failing after 58m43s
This commit is contained in:
@@ -0,0 +1,208 @@
|
||||
# Codex Build Plan
|
||||
|
||||
Dit document is de uitvoeringsvolgorde voor Codex. Werk fase per fase. Sla geen fases over tenzij technisch noodzakelijk.
|
||||
|
||||
## Algemene bouwregels
|
||||
|
||||
- Lees eerst README.md, AGENTS.md en alle docs in deze map.
|
||||
- Bouw documentatiegedreven.
|
||||
- Geen quick hacks.
|
||||
- Geen mock-only functionaliteit als echte functionaliteit verwacht wordt.
|
||||
- Voeg bij elke fase tests toe waar zinvol.
|
||||
- Update TODO.md na elke afgeronde fase.
|
||||
- Houd frontend en backend consistent.
|
||||
- API-contracten volgen API_SPECIFICATION.md.
|
||||
- Database volgt DATABASE_SCHEMA.md.
|
||||
|
||||
## Fase 1 — Repo Foundation
|
||||
|
||||
Doel: werkende basisrepo.
|
||||
|
||||
Taken:
|
||||
|
||||
1. Backend scaffold maken in `backend/`.
|
||||
2. Frontend scaffold maken in `frontend/`.
|
||||
3. Docker compose toevoegen voor backend, frontend, db, redis.
|
||||
4. `.env.example` toevoegen.
|
||||
5. Basis README quickstart bijwerken.
|
||||
6. Health checks toevoegen.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- backend start lokaal
|
||||
- frontend start lokaal
|
||||
- database container start
|
||||
- health endpoint werkt
|
||||
|
||||
## Fase 2 — Database Foundation
|
||||
|
||||
Doel: PostGIS schema opzetten.
|
||||
|
||||
Taken:
|
||||
|
||||
1. SQLAlchemy + GeoAlchemy2 toevoegen.
|
||||
2. Alembic initialiseren.
|
||||
3. projects, areas, datasets, analysis_runs toevoegen.
|
||||
4. PostGIS extensie activeren.
|
||||
5. Spatial indexes voorzien.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- migraties draaien succesvol
|
||||
- tests kunnen project en area aanmaken
|
||||
- geometrie wordt correct opgeslagen
|
||||
|
||||
## Fase 3 — Project & Area API
|
||||
|
||||
Doel: projecten en gebieden beheren.
|
||||
|
||||
Taken:
|
||||
|
||||
1. CRUD routes voor projects.
|
||||
2. CRUD routes voor areas.
|
||||
3. GeoJSON polygon validatie.
|
||||
4. Area oppervlakte berekenen.
|
||||
5. Frontend project list/detail.
|
||||
6. Map draw basis.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- gebruiker kan project maken
|
||||
- gebruiker kan polygon tekenen en opslaan
|
||||
- area verschijnt op kaart
|
||||
|
||||
## Fase 4 — Dataset Manager
|
||||
|
||||
Doel: datasets uploaden en metadata lezen.
|
||||
|
||||
Taken:
|
||||
|
||||
1. Upload endpoint.
|
||||
2. Bestandsopslag in storage/uploads.
|
||||
3. Raster metadata extraction met Rasterio.
|
||||
4. Vector metadata extraction met GeoPandas/Fiona.
|
||||
5. Dataset list/detail UI.
|
||||
6. Statussen tonen.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- GeoTIFF upload toont CRS, bounds, bands, resolutie
|
||||
- GeoJSON/shapefile upload toont CRS, bounds, feature count
|
||||
|
||||
## Fase 5 — Raster Core
|
||||
|
||||
Doel: rasterdata verwerken.
|
||||
|
||||
Taken:
|
||||
|
||||
1. Raster clipping by area.
|
||||
2. Raster preview generation.
|
||||
3. Raster tiling met tile metadata.
|
||||
4. Tile opslag.
|
||||
5. UI acties voor clip/tile.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- raster kan op area geclipt worden
|
||||
- tiles worden aangemaakt
|
||||
- tile metadata bevat transform en bounds
|
||||
|
||||
## Fase 6 — Vector Core
|
||||
|
||||
Doel: vectordata verwerken.
|
||||
|
||||
Taken:
|
||||
|
||||
1. Vector import naar PostGIS.
|
||||
2. CRS transform naar 4326.
|
||||
3. Geometry validation/repair.
|
||||
4. Vector clipping by area.
|
||||
5. Feature count en area metrics.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- vectorlaag wordt zichtbaar op kaart
|
||||
- clipping werkt
|
||||
- features zitten in PostGIS
|
||||
|
||||
## Fase 7 — Reference Data
|
||||
|
||||
Doel: referentielaag beschikbaar maken.
|
||||
|
||||
Taken:
|
||||
|
||||
1. OSM fetcher als fallback implementeren.
|
||||
2. GRB connector interface ontwerpen.
|
||||
3. Reference datasets opslaan als datasets + vector_features.
|
||||
4. UI voor referentielaag.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- OSM buildings kunnen voor area worden opgehaald
|
||||
- referentielaag zichtbaar op kaart
|
||||
- GRB-interface is voorbereid zonder app te blokkeren als externe endpoint nog niet volledig is
|
||||
|
||||
## Fase 8 — Detection Lab
|
||||
|
||||
Doel: objectdetectie end-to-end.
|
||||
|
||||
Taken:
|
||||
|
||||
1. Model config en YOLO wrapper.
|
||||
2. Detection analysis run.
|
||||
3. Inference op raster tiles.
|
||||
4. Pixel bbox naar geospatial polygon.
|
||||
5. Detecties opslaan.
|
||||
6. Detectielaag tonen.
|
||||
7. GeoJSON export.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- detection job kan gestart worden
|
||||
- duidelijke fout als model ontbreekt
|
||||
- detecties worden als polygonen op kaart getoond
|
||||
- export werkt
|
||||
|
||||
## Fase 9 — QA/QC Lab
|
||||
|
||||
Doel: detecties vergelijken met referentie.
|
||||
|
||||
Taken:
|
||||
|
||||
1. IoU matching.
|
||||
2. TP/FP/FN berekening.
|
||||
3. Precision/recall/F1.
|
||||
4. quality_checks en quality_findings opslaan.
|
||||
5. QA UI met metrics en foutlagen.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- detection run kan vergeleken worden met referentielaag
|
||||
- false positives/false negatives zichtbaar
|
||||
- metrics kloppen op testfixtures
|
||||
|
||||
## Fase 10 — Export & Portfolio Demo
|
||||
|
||||
Doel: bruikbare einddemo.
|
||||
|
||||
Taken:
|
||||
|
||||
1. Exportcentrum.
|
||||
2. Demo project seed.
|
||||
3. Portfolio workflow documenteren.
|
||||
4. Smoke tests.
|
||||
5. README bijwerken.
|
||||
|
||||
Acceptatiecriteria:
|
||||
|
||||
- één demo-workflow werkt end-to-end
|
||||
- docs beschrijven hoe demo te draaien
|
||||
- tests groen
|
||||
|
||||
## Niet doen in eerste bouwronde
|
||||
|
||||
- geen volledige LiDAR Workbench
|
||||
- geen eigen training studio
|
||||
- geen complexe AI-copilot
|
||||
- geen multi-user auth tenzij noodzakelijk
|
||||
- geen zwaar dashboard boven analysefunctionaliteit
|
||||
Reference in New Issue
Block a user