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