Initial GeoIntel V1 foundation
GeoIntel CI / docs-smoke (push) Has been cancelled
GeoIntel CI / contract-smoke (push) Has been cancelled

This commit is contained in:
Codex
2026-06-16 23:36:32 +02:00
commit 6ea3586a3e
605 changed files with 45284 additions and 0 deletions
+31
View File
@@ -0,0 +1,31 @@
# START HERE — GeoIntel Day 1 Master Prompt
You are Codex working on GeoIntel Kempen.
GeoIntel is a GeoAI Workbench for the Belgian Kempen. It must demonstrate geospatial data engineering, raster/vector processing, AI detection readiness, QA/QC against reference data and exportable GIS outputs.
## Required reading before edits
Read:
- `README.md`
- `AGENTS.md`
- `docs/V1_SCOPE_FREEZE.md`
- `docs/REPOSITORY_CONVENTIONS.md`
- `docs/SERVICE_ARCHITECTURE.md`
- `docs/15-tomorrow-execution/M8_TOMORROW_EXECUTION_PACK.md`
- `docs/16-autonomy-governance/AUTONOMY_BOUNDARIES.md`
- `docs/16-autonomy-governance/QUALITY_GATE_MATRIX.md`
## Work rules
- Work pass by pass.
- Do not skip validation.
- Do not introduce mock-only business logic.
- Preserve contracts.
- Update docs and logs when changes are made.
- Stop only for red-zone decisions or impossible dependency blockers.
## First action
Run pass `01_REPO_AUDIT_AND_PLAN.md`.
@@ -0,0 +1,24 @@
# Pass 01 — Repository Audit and Build Plan
## Goal
Audit the repository and produce a concrete build plan for the first implementation day. Do not implement product features in this pass.
## Tasks
1. Inspect the repo structure.
2. Confirm required docs are present.
3. Identify missing foundation files.
4. Decide exact implementation sequence for the day, staying within existing docs.
5. Update `docs/CODEX_EXECUTION_LOG.md` with the audit result.
6. Update `docs/TODO.md` only if tasks need clearer sequencing.
## Validation
- No broken files introduced.
- No product scope changes.
- No dependency changes unless only adding documentation.
## Completion output
Use the standard pass completion format.
@@ -0,0 +1,32 @@
# Pass 02 — Backend Foundation
## Goal
Create the minimal FastAPI backend foundation.
## Implement
- `backend/app/main.py` or equivalent app entrypoint.
- config/settings module using environment variables.
- health endpoint.
- consistent response envelope.
- structured error handling foundation.
- backend test setup.
## Constraints
- Health endpoint must not require database.
- No geospatial logic in route handlers.
- Keep service layer boundaries ready.
- Do not add auth.
## Validation commands
Run the available backend tests/import checks. If package tooling does not exist yet, add minimal test tooling according to dependency policy.
## Acceptance
- App imports cleanly.
- Health endpoint returns deterministic response.
- Tests pass for health/config.
- Execution log updated.
@@ -0,0 +1,32 @@
# Pass 03 — Database and Domain Foundation
## Goal
Add the PostGIS-ready database/domain foundation.
## Implement
- SQLAlchemy database setup.
- Alembic migration setup.
- Core models: Project, Area, Dataset, AnalysisRun, Export.
- Pydantic schemas matching API contract style.
- Geometry handling strategy ready for PostGIS.
## Constraints
- Do not store geometry as arbitrary strings in final domain models.
- If test environment cannot run PostGIS, isolate integration tests and keep unit tests safe.
- Do not remove future raster/AI fields because V1 starts smaller.
## Validation
- Backend imports.
- Model metadata initializes.
- Migration command documented or executed if environment allows.
- Unit tests pass.
## Acceptance
- Domain model can support project -> area -> dataset -> analysis.
- Geometry metadata and CRS are represented.
- Execution log updated.
@@ -0,0 +1,31 @@
# Pass 04 — Project, Area and Dataset API
## Goal
Implement first real API slice.
## Implement
- Project create/list/read.
- Area create/list/read for a project.
- Dataset registration endpoint and metadata placeholder contract.
- Validation for GeoJSON polygon areas.
- Contract tests with fixtures.
## Constraints
- No frontend-only fake data assumptions.
- Invalid geometry must produce structured error.
- Dataset upload may be scaffolded, but response contracts must be stable.
## Validation
- API tests.
- Contract fixture comparison where possible.
- Backend import.
## Acceptance
- A client can create a project, add an area, register a dataset and retrieve them.
- Responses follow the documented envelope.
- Execution log updated.
+32
View File
@@ -0,0 +1,32 @@
# Pass 05 — Frontend Shell
## Goal
Create the GeoIntel Workbench frontend shell.
## Implement
- React + TypeScript app foundation if not present.
- Route layout: Home, Project Workspace, Map Workbench, Dataset Manager, Raster Lab, Vector Lab, Detection Lab, QA/QC, Exports.
- API client with typed methods for implemented backend endpoints.
- Empty/loading/error states.
- Environment-based API base URL.
## Constraints
- Do not build a generic admin dashboard.
- Do not hardcode success data.
- UI must reflect GeoAI Workbench identity.
## Validation
- TypeScript check/build.
- Frontend tests if configured.
- Manual smoke note in execution log.
## Acceptance
- Frontend starts/builds.
- Navigation works.
- API client can call health/project endpoints.
- Execution log updated.
@@ -0,0 +1,31 @@
# Pass 06 — Raster and Vector Metadata Foundation
## Goal
Add first geospatial metadata services.
## Implement
- GeoJSON/vector metadata extraction using GeoPandas/Shapely where available.
- Raster metadata service interface using Rasterio where available.
- Controlled unavailable-state if Rasterio/GDAL is not installed.
- Metadata endpoint connected to dataset records.
- Fixture-driven tests.
## Constraints
- Do not fake metadata as real processing.
- Unsupported file types must produce controlled errors.
- Keep CRS/bounds/resolution fields explicit.
## Validation
- Vector metadata tests pass.
- Raster service imports or unavailable-state test passes.
- API contract remains stable.
## Acceptance
- Demo GeoJSON fixture returns deterministic metadata.
- Dataset metadata can be retrieved.
- Execution log updated.
@@ -0,0 +1,28 @@
# Pass 07 — Vertical Slice Stabilization
## Goal
Stabilize the first working slice and prepare for next-day AI/GIS expansion.
## Implement
- Smoke script or documented smoke command sequence.
- Changelog entry.
- Updated TODO checklist.
- Known limitations section.
- Any missing tests for touched modules.
## Validate
Run all available checks:
- backend tests;
- frontend build/typecheck;
- smoke script;
- import checks.
## Acceptance
- Foundation can be started or limitations are clearly documented.
- No hidden failing imports.
- Next recommended pass is listed.