Files
geointel/docs/CODEX_BUILD_PLAN.md
T
Codex 6ea3586a3e
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled
Initial GeoIntel V1 foundation
2026-06-16 23:36:32 +02:00

209 lines
4.5 KiB
Markdown

# 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