pub struct Task {Show 17 fields
pub id: String,
pub repo_root: PathBuf,
pub name: String,
pub task_type: String,
pub instructions_file: String,
pub agent: String,
pub timeout: u32,
pub status: TaskStatus,
pub created_at: DateTime<Local>,
pub started_at: Option<DateTime<Utc>>,
pub completed_at: Option<DateTime<Utc>>,
pub branch_name: String,
pub error_message: Option<String>,
pub source_commit: String,
pub tech_stack: String,
pub project: String,
pub copied_repo_path: PathBuf,
}Expand description
Represents a TSK task with all required fields for execution
Fields§
§id: StringUnique identifier for the task (format: YYYY-MM-DD-HHMM-{task_type}-{name})
repo_root: PathBufAbsolute path to the repository root where the task was created
name: StringHuman-readable name for the task
task_type: StringType of task (e.g., “feat”, “fix”, “refactor”)
instructions_file: StringPath to the instructions file containing task details
agent: StringAI agent to use for task execution (e.g., “claude-code”)
timeout: u32Timeout in minutes for task execution
status: TaskStatusCurrent status of the task
created_at: DateTime<Local>When the task was created
started_at: Option<DateTime<Utc>>When the task started execution (if started)
completed_at: Option<DateTime<Utc>>When the task completed (if completed)
branch_name: StringGit branch name for this task (format: tsk/{task-id})
error_message: Option<String>Error message if task failed
source_commit: StringGit commit SHA from which the task was created
tech_stack: StringTechnology stack for Docker image selection (e.g., “rust”, “python”, “default”)
project: StringProject name for Docker image selection (defaults to “default”)
copied_repo_path: PathBufPath to the copied repository for this task
Implementations§
Source§impl Task
impl Task
Sourcepub fn new(
id: String,
repo_root: PathBuf,
name: String,
task_type: String,
instructions_file: String,
agent: String,
timeout: u32,
branch_name: String,
source_commit: String,
tech_stack: String,
project: String,
created_at: DateTime<Local>,
copied_repo_path: PathBuf,
) -> Self
pub fn new( id: String, repo_root: PathBuf, name: String, task_type: String, instructions_file: String, agent: String, timeout: u32, branch_name: String, source_commit: String, tech_stack: String, project: String, created_at: DateTime<Local>, copied_repo_path: PathBuf, ) -> Self
Creates a new Task with all required fields