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
2.5 KiB
2.5 KiB
GeoIntel Kempen — Development Rules v1.0
These rules apply to Codex and every AI/developer working in this repository.
Product rules
- GeoIntel is a GeoAI Workbench, not a generic dashboard.
- Analysis and geospatial outputs are the product. Maps support the analysis.
- The main technical story is: data → processing → AI/model → GIS output → QA/QC → export.
- GRB/official reference data and QA/QC are core differentiators.
Implementation rules
- Backend-first for data models, processing contracts and APIs.
- UI must be API-driven; do not hardcode fake results.
- Mock data is allowed only for explicit UI skeletons and must be clearly marked.
- No placeholder endpoints that return success without doing useful work.
- Every long-running operation must be modeled as a job/analysis run.
- Every dataset must have metadata.
- Every derived output must reference source datasets and analysis run.
- Every export must be traceable.
- Every geometry operation must handle CRS and invalid geometries.
- Every metric must include unit and calculation method.
Code quality rules
- Type-safe code where possible.
- Separate API routes, services, database models, schemas and processing utilities.
- Avoid giant files.
- Use explicit names:
RasterMetadataService,DetectionPipeline,QaqcService. - Add tests for pure processing functions.
- Do not silently swallow errors.
- Return actionable validation messages.
GIS rules
- Never calculate area/length in geographic degrees.
- Reproject to a metric CRS for calculations.
- Store original CRS metadata.
- Repair invalid geometries before analysis, but record that repair happened.
- Keep raw attributes in
attributes_jsonwhen normalizing external features.
AI rules
- AI detections must be stored as geospatial features.
- Model outputs must record model name, version, classes and confidence threshold.
- Do not fake model results.
- If a model is unavailable, show a clear system readiness message.
- The AI copilot is optional and must only interpret real metrics.
Frontend rules
- Every page needs useful empty states.
- Every analysis result needs an export action.
- Every map layer needs visibility, opacity and inspect controls.
- Every job needs visible status.
- Avoid clutter; use workbench panels.
Delivery rules
Every build response should include:
- What changed.
- What files changed.
- How to run/test.
- What remains open.
- Any risks or assumptions.
Do not hide unfinished core functionality behind a TODO list unless explicitly requested.