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
38 lines
758 B
Markdown
38 lines
758 B
Markdown
# Event Contracts
|
|
|
|
GeoIntel uses events to document state transitions, even if V1 implements them as database records/log entries rather than a full event bus.
|
|
|
|
## Event names
|
|
|
|
- ProjectCreated
|
|
- AreaCreated
|
|
- DatasetUploaded
|
|
- DatasetMetadataExtracted
|
|
- RasterTiled
|
|
- VectorImported
|
|
- DetectionQueued
|
|
- DetectionStarted
|
|
- DetectionCompleted
|
|
- DetectionFailed
|
|
- SegmentationCompleted
|
|
- QualityCheckCompleted
|
|
- ExportGenerated
|
|
|
|
## Event shape
|
|
|
|
```json
|
|
{
|
|
"event_id": "uuid",
|
|
"event_type": "DatasetUploaded",
|
|
"project_id": "uuid",
|
|
"dataset_id": "uuid",
|
|
"analysis_run_id": null,
|
|
"timestamp": "ISO-8601",
|
|
"payload": {}
|
|
}
|
|
```
|
|
|
|
## Implementation rule
|
|
|
|
Every long-running workflow must create at least one event at start and one at completion/failure.
|