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
1020 B
1020 B
Error Handling and Statuses
API error contract
All expected errors return ApiError.
Examples:
validation_errornot_foundunsupported_dataset_typeinvalid_geometrydependency_not_configuredprocessing_failedfile_too_large
Job/analysis statuses
Use these statuses consistently:
queuedrunningcompletedfailedcancellednot_configured
Dataset statuses
createdmetadata_pendingmetadata_readymetadata_failedprocessingreadyfailed
Frontend display rules
- Never show raw stack traces.
- Show the user what failed and what they can do next.
- For
dependency_not_configured, show which feature flag or environment variable is missing. - For geospatial errors, include CRS/geometry hints when available.
Logging
Backend should log:
- request id if available
- project id when relevant
- dataset id when relevant
- analysis run id when relevant
- exception summary
Do not log secrets or large file contents.