# GeoIntel Kempen — M2 Engineering Package This milestone turns the M1 Codex-ready blueprint into an engineering-grade repository specification. M2 adds decision records, explicit domain boundaries, event contracts, model registry rules, API response contracts, test matrices, and release conventions. ## Purpose Codex should not invent architecture. It should implement the architecture defined in this repository. M2 makes the following decisions explicit: - FastAPI is the backend application framework. - PostgreSQL + PostGIS is the source of truth for relational and spatial data. - Redis + RQ is the V1 background job mechanism. - Local filesystem storage is the V1 object storage layer, with a clear path to MinIO/S3 later. - GRB is the primary authoritative reference source for Flemish building and base-map validation. - OSM is useful as supplemental and fallback context, not as the primary QA reference when GRB is available. - YOLO/Ultralytics is the V1 object detection runtime. - SAM or YOLO-seg is the segmentation direction, but segmentation can be introduced after the detection foundation is stable. - Reports, chat/copilot, LiDAR, MLOps, and QGIS plugins remain secondary to the GeoAI pipeline. ## Milestone status M0 froze the product direction. M1 made the repo Codex-ready. M2 makes the repo engineering-ready. ## What Codex should build first 1. Backend foundation. 2. Database models and migrations. 3. Dataset intake and metadata extraction. 4. Area/project management. 5. Raster/vector processing contracts. 6. Object detection job skeleton. 7. QA/QC calculation skeleton. 8. Frontend workspace wired to real API contracts. ## What Codex must not build yet - Full LiDAR point cloud processing. - Custom model training. - Multi-user authentication. - QGIS plugin. - Production cloud deployment. - Complex report designer. - Large demo datasets committed into git.