feat(models): Add manual_block field and methods to Ticket

This commit is contained in:
2026-03-07 16:25:44 -05:00
parent 97b5bd953d
commit 094a6c3c22
2 changed files with 37 additions and 0 deletions

View File

@@ -74,11 +74,23 @@ class Ticket:
blocked_reason: Optional[str] = None
step_mode: bool = False
retry_count: int = 0
manual_block: bool = False
def mark_blocked(self, reason: str) -> None:
self.status = "blocked"
self.blocked_reason = reason
def mark_manual_block(self, reason: str) -> None:
self.status = "blocked"
self.blocked_reason = f"[MANUAL] {reason}"
self.manual_block = True
def clear_manual_block(self) -> None:
if self.manual_block:
self.status = "todo"
self.blocked_reason = None
self.manual_block = False
def mark_complete(self) -> None:
self.status = "completed"
@@ -99,6 +111,7 @@ class Ticket:
"blocked_reason": self.blocked_reason,
"step_mode": self.step_mode,
"retry_count": self.retry_count,
"manual_block": self.manual_block,
}
@classmethod
@@ -116,6 +129,7 @@ class Ticket:
blocked_reason=data.get("blocked_reason"),
step_mode=data.get("step_mode", False),
retry_count=data.get("retry_count", 0),
manual_block=data.get("manual_block", False),
)