feat(personas): Add persona_id support to Ticket/WorkerContext and ConductorEngine

This commit is contained in:
2026-03-10 11:09:11 -04:00
parent 41a40aaa68
commit 7ae99f2bc3
7 changed files with 103 additions and 40 deletions

View File

@@ -121,22 +121,25 @@ def parse_history_entries(history_strings: list[str], roles: list[str]) -> list[
entries.append({"role": role, "content": content, "collapsed": True, "ts": ts})
return entries
@dataclass
@dataclass
@dataclass
class Ticket:
id: str
description: str
target_symbols: List[str] = field(default_factory=list)
context_requirements: List[str] = field(default_factory=list)
depends_on: List[str] = field(default_factory=list)
status: str = "todo"
assigned_to: str = "unassigned"
priority: str = "medium"
target_file: Optional[str] = None
target_symbols: List[str] = field(default_factory=list)
context_requirements: List[str] = field(default_factory=list)
depends_on: List[str] = field(default_factory=list)
blocked_reason: Optional[str] = None
step_mode: bool = False
retry_count: int = 0
manual_block: bool = False
model_override: Optional[str] = None
persona_id: Optional[str] = None
def mark_blocked(self, reason: str) -> None:
self.status = "blocked"
@@ -175,6 +178,7 @@ class Ticket:
"retry_count": self.retry_count,
"manual_block": self.manual_block,
"model_override": self.model_override,
"persona_id": self.persona_id,
}
@classmethod
@@ -194,6 +198,7 @@ class Ticket:
retry_count=data.get("retry_count", 0),
manual_block=data.get("manual_block", False),
model_override=data.get("model_override"),
persona_id=data.get("persona_id"),
)
@@ -224,12 +229,15 @@ class Track:
)
@dataclass
@dataclass
@dataclass
class WorkerContext:
ticket_id: str
model_name: str
tool_preset: Optional[str] = None
messages: List[Dict[str, Any]] = field(default_factory=list)
tool_preset: Optional[str] = None
persona_id: Optional[str] = None
@dataclass