"""Project model definition.""" from pydantic import BaseModel, Field from datetime import datetime from typing import Optional class Project(BaseModel): """Represents a tracked project.""" id: str name: str slug: str description: str = "" type: str = "misc" # code, homelab, automation, agent, research, misc status: str = "inbox" # inbox, next, active, blocked, waiting, done, archived tags: list[str] = Field(default_factory=list) root_path: str = "" repo_path: Optional[str] = None created_at: datetime updated_at: datetime last_session_at: Optional[datetime] = None