"""Transactional outbox for project creation → worker handoff."""

JOB_KIND_PROJECT_SETUP = "project_setup"
JOB_KIND_CLOUD_SYNC_INITIAL = "cloud_sync_initial"
JOB_KIND_CLOUD_SYNC_POST_READY = "cloud_sync_post_ready"

JOB_STATUS_PENDING = "pending"
JOB_STATUS_PUBLISHING = "publishing"
JOB_STATUS_PUBLISHED = "published"
JOB_STATUS_FAILED = "failed"

# Dispatcher gives up after this many enqueue failures per row (manual retry / recovery).
JOB_OUTBOX_MAX_ATTEMPTS = 24

# Reset stale publishing locks so dispatch can retry after worker crash.
STALE_PUBLISHING_SECONDS = 600
