# 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.