DatasetStatus
Dataset lifecycle / operation status. Two-column status model: DatasetStatus tracks lifecycle state independently from DraftStatus which tracks publish synchronization. IN-FLIGHT states (busy — all writes blocked): CREATING — CreateDataset async ingestion in progress. UPDATING — Example mutation (Add/Update/Delete) or CreateDatasetVersion in progress. DELETING — Full or version-specific delete in progress. TERMINAL states (stable — operations allowed per guards below): ACTIVE — Dataset is stable. failureReason cleared. CREATE_FAILED — Initial ingestion failed. DRAFT record exists but has no examples. failureReason populated. UPDATE_FAILED — Last example mutation or CreateDatasetVersion failed. DRAFT may be partially modified. failureReason populated. DELETE_FAILED — Delete failed after retries. Dataset/S3 may be in inconsistent state. Sev-2 ticket filed (full-delete only). failureReason populated. State transitions: CreateDataset → CREATING → ACTIVE (draftStatus=MODIFIED) | CREATE_FAILED Add/Update/DeleteDatasetExamples → UPDATING → ACTIVE (draftStatus=MODIFIED) | UPDATE_FAILED CreateDatasetVersion → UPDATING → ACTIVE (draftStatus=UNMODIFIED) | UPDATE_FAILED DeleteDataset (version-specific) → DELETING → ACTIVE (draftStatus unchanged) | DELETE_FAILED DeleteDataset (full) → DELETING → (record deleted) | DELETE_FAILED [auto Sev-2] Operation guards (ConflictException codes): GetDataset / ListDatasetExamples: — Allowed for all statuses (no guard) UpdateDataset, AddDatasetExamples, DeleteDatasetExamples: — DATASET_NOT_READY if status in {CREATING, UPDATING, DELETING} — DATASET_IN_FAILED_STATE if status == DELETE_FAILED UpdateDatasetExamples: — DATASET_NOT_READY if status in {CREATING, UPDATING, DELETING} — DATASET_IN_FAILED_STATE if status in {CREATE_FAILED, DELETE_FAILED} CreateDatasetVersion: — DATASET_NOT_READY if status in {CREATING, UPDATING, DELETING} — DATASET_IN_FAILED_STATE if status in {CREATE_FAILED, DELETE_FAILED} DeleteDataset: — DATASET_NOT_READY if status in {CREATING, UPDATING, DELETING}
Inheritors
Types
Dataset is stable. All operations are allowed per per-operation guards. failureReason is cleared.
Initial ingestion failed. DRAFT record exists but contains no examples. failureReason is populated. AddDatasetExamples and DeleteDatasetExamples allowed. UpdateDatasetExamples and CreateDatasetVersion blocked (no examples exist).
CreateDataset async ingestion in progress. All writes are blocked. Poll GetDataset until status resolves to ACTIVE or CREATE_FAILED.
Delete failed after retries. Dataset record/S3 may be in inconsistent state. failureReason is populated. Only DeleteDataset (retry) is allowed.
Full or version-specific delete is in progress. Read operations (GetDataset, ListDatasetExamples) are still allowed.
Last example mutation or CreateDatasetVersion failed. DRAFT may be partially modified. failureReason is populated. All example mutations and CreateDatasetVersion allowed for retry.
An async example mutation or CreateDatasetVersion is in progress. All writes are blocked. Poll GetDataset until status resolves.