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

This commit is contained in:
Jens
2026-08-31 21:56:53 +02:00
commit faeb58ef6d
1386 changed files with 263203 additions and 0 deletions
@@ -0,0 +1,101 @@
# M9 Build Blockers and Recovery
## Database connection failure
Symptoms:
- backend cannot connect to PostgreSQL,
- migrations fail,
- PostGIS extension missing.
Recovery:
1. Check Docker Compose service names.
2. Check environment variables.
3. Confirm database is reachable from backend container or local process.
4. Run a minimal connection test.
5. Do not replace PostGIS with SQLite except for explicitly isolated unit tests.
## PostGIS geometry error
Symptoms:
- invalid geometry,
- SRID missing,
- geometry column cannot be created.
Recovery:
1. Store all app geometry in EPSG:4326 unless a processing-specific CRS is required.
2. Validate GeoJSON before persistence.
3. Use Shapely for geometry validation.
4. Use PostGIS geometry column for persistent area/reference features.
5. Document any CRS transformation.
## Frontend API mismatch
Symptoms:
- UI expects raw data but API returns envelope,
- errors not shown,
- undefined data states.
Recovery:
1. Update frontend API client, not individual components.
2. Normalize envelope handling centrally.
3. Ensure every component handles loading, empty, error and ready states.
## Dependency installation failure
Symptoms:
- GDAL/Rasterio install errors,
- PyTorch package issue,
- platform binary mismatch.
Recovery:
1. Do not remove the feature from docs.
2. Add dependency note to `docs/DEPENDENCY_LOCK_PLAN.md`.
3. Implement interfaces and tests around pure-Python parts first.
4. Defer heavy binary package execution if needed, but leave adapter boundaries.
## External data unavailable
Symptoms:
- WFS unavailable,
- Sentinel catalog unavailable,
- credentials missing.
Recovery:
1. Use demo fixtures.
2. Keep adapter disabled but present.
3. Return explicit `external_service_unavailable` status.
4. Do not fake that live data was fetched.
## AI model unavailable
Symptoms:
- YOLO weights missing,
- SAM unavailable,
- GPU unavailable.
Recovery:
1. Build model registry and adapter interface.
2. Add CPU-safe mock inference only if marked as demo mode.
3. Keep output schema identical to real inference.
4. Do not present demo inference as production inference.
## Test failures
Recovery:
1. Fix tests if implementation is wrong.
2. Fix implementation if test reflects contract.
3. Update specs only if they are clearly inconsistent.
4. Document unresolved failures in execution log.