# app/models/syndarix/enums.py """ Enums for Syndarix domain models. These enums represent the core state machines and categorizations used throughout the Syndarix AI consulting platform. """ from enum import Enum as PyEnum class AutonomyLevel(str, PyEnum): """ Defines how much control the human has over agent actions. FULL_CONTROL: Human must approve every agent action MILESTONE: Human approves at sprint boundaries and major decisions AUTONOMOUS: Agents work independently, only escalating critical issues """ FULL_CONTROL = "full_control" MILESTONE = "milestone" AUTONOMOUS = "autonomous" class ProjectStatus(str, PyEnum): """ Project lifecycle status. ACTIVE: Project is actively being worked on PAUSED: Project is temporarily on hold COMPLETED: Project has been delivered successfully ARCHIVED: Project is no longer accessible for work """ ACTIVE = "active" PAUSED = "paused" COMPLETED = "completed" ARCHIVED = "archived" class AgentStatus(str, PyEnum): """ Current operational status of an agent instance. IDLE: Agent is available but not currently working WORKING: Agent is actively processing a task WAITING: Agent is waiting for external input or approval PAUSED: Agent has been manually paused TERMINATED: Agent instance has been shut down """ IDLE = "idle" WORKING = "working" WAITING = "waiting" PAUSED = "paused" TERMINATED = "terminated" class IssueStatus(str, PyEnum): """ Issue workflow status. OPEN: Issue is ready to be worked on IN_PROGRESS: Agent or human is actively working on the issue IN_REVIEW: Work is complete, awaiting review BLOCKED: Issue cannot proceed due to dependencies or blockers CLOSED: Issue has been completed or cancelled """ OPEN = "open" IN_PROGRESS = "in_progress" IN_REVIEW = "in_review" BLOCKED = "blocked" CLOSED = "closed" class IssuePriority(str, PyEnum): """ Issue priority levels. LOW: Nice to have, can be deferred MEDIUM: Standard priority, should be done HIGH: Important, should be prioritized CRITICAL: Must be done immediately, blocking other work """ LOW = "low" MEDIUM = "medium" HIGH = "high" CRITICAL = "critical" class SyncStatus(str, PyEnum): """ External issue tracker synchronization status. SYNCED: Local and remote are in sync PENDING: Local changes waiting to be pushed CONFLICT: Merge conflict between local and remote ERROR: Synchronization failed due to an error """ SYNCED = "synced" PENDING = "pending" CONFLICT = "conflict" ERROR = "error" class SprintStatus(str, PyEnum): """ Sprint lifecycle status. PLANNED: Sprint has been created but not started ACTIVE: Sprint is currently in progress COMPLETED: Sprint has been finished successfully CANCELLED: Sprint was cancelled before completion """ PLANNED = "planned" ACTIVE = "active" COMPLETED = "completed" CANCELLED = "cancelled"