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
1.5 KiB
1.5 KiB
Failure Recovery Playbook
Codex must not spiral when a build fails. Use this playbook.
Backend import failure
- Run the smallest import command available.
- Fix circular imports first.
- Verify package
__init__.pyfiles. - Ensure config does not require unavailable services at import time.
- Add or update a smoke test.
Database failure
- Check environment variables.
- Check whether PostGIS extension is required at migration time.
- Separate pure unit tests from DB integration tests.
- Do not remove geometry capability to make tests pass.
- Document required local Postgres/PostGIS command.
Frontend build failure
- Run TypeScript check.
- Fix missing exports/imports.
- Do not silence errors with
anyunless documented and temporary. - Ensure API types match contract fixtures.
- Add an empty/error state rather than fake success.
Rasterio/GDAL dependency failure
- Keep service interface intact.
- Add graceful unavailable-state handling.
- Keep GeoJSON/vector paths working.
- Document local dependency requirement.
- Do not fake raster metadata as real metadata.
YOLO/SAM unavailable
- Keep model registry and detection service interface.
- Implement deterministic fixture inference adapter.
- Mark adapter as demo/scaffold.
- Preserve output shape expected by QA/QC.
- Do not block foundation work.
External data source unavailable
- Fall back to fixtures.
- Preserve source adapter contract.
- Add retry/error state.
- Do not hardcode one live response.
- Document the failure in execution log.