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.4 KiB
1.4 KiB
State Machines
Use these states exactly. Do not invent ad-hoc alternatives.
Dataset state machine
CREATED
↓
UPLOADING
↓
UPLOADED
↓
VALIDATING
↓
METADATA_EXTRACTED
↓
READY
Failure states:
VALIDATION_FAILED
METADATA_FAILED
PROCESSING_FAILED
REQUIRES_CRS
ARCHIVED
DELETED
Rules:
READYmeans metadata and validation are good enough for compatible operations.REQUIRES_CRSblocks geospatial operations but may allow file inspection.ARCHIVEDkeeps data but hides it from active workflows.DELETEDmeans logical deletion unless physical cleanup is explicitly run.
AnalysisRun state machine
QUEUED
↓
RUNNING
↓
SUCCEEDED
Failure/cancel states:
FAILED
CANCELLED
PARTIAL
Rules:
PARTIALis allowed only when outputs are explicitly incomplete and marked as such.- Failed runs must retain logs/error code.
- Retrying creates a new run unless retry semantics are explicitly implemented.
Job state machine
PENDING
↓
STARTED
↓
FINISHED
Failure states:
FAILED
RETRYING
CANCELLED
TIMEOUT
Export state machine
REQUESTED
↓
GENERATING
↓
READY
Failure states:
FAILED
EXPIRED
Frontend page state model
Every data-driven page must handle:
emptyloadingreadyerrorpartialoffline/unavailablewhere external service is involved.