pub struct Task {Show 25 fields
pub id: String,
pub status: TaskStatus,
pub title: String,
pub description: Option<String>,
pub priority: TaskPriority,
pub tags: Vec<String>,
pub scope: Vec<String>,
pub evidence: Vec<String>,
pub plan: Vec<String>,
pub notes: Vec<String>,
pub request: Option<String>,
pub agent: Option<TaskAgent>,
pub created_at: Option<String>,
pub updated_at: Option<String>,
pub completed_at: Option<String>,
pub started_at: Option<String>,
pub estimated_minutes: Option<u32>,
pub actual_minutes: Option<u32>,
pub scheduled_start: Option<String>,
pub depends_on: Vec<String>,
pub blocks: Vec<String>,
pub relates_to: Vec<String>,
pub duplicates: Option<String>,
pub custom_fields: HashMap<String, String>,
pub parent_id: Option<String>,
}Fields§
§id: String§status: TaskStatus§title: String§description: Option<String>Detailed description of the task’s context, goal, purpose, and desired outcome.
priority: TaskPriority§scope: Vec<String>§evidence: Vec<String>§plan: Vec<String>§notes: Vec<String>§request: Option<String>Original human request that created the task (Task Builder / Scan).
agent: Option<TaskAgent>Optional per-task agent override (runner/model/model_effort/phases/iterations/phase_overrides).
created_at: Option<String>RFC3339 UTC timestamps as strings to keep the contract tool-agnostic.
updated_at: Option<String>§completed_at: Option<String>§started_at: Option<String>RFC3339 UTC timestamp when work on this task actually started.
Invariants:
- Must be RFC3339 UTC (Z) if set.
- Should be set when transitioning into
doing(see status policy).
estimated_minutes: Option<u32>Estimated time to complete this task in minutes. Optional; used for planning and estimation accuracy tracking.
actual_minutes: Option<u32>Actual time spent on this task in minutes. Optional; set manually or computed from started_at to completed_at.
scheduled_start: Option<String>RFC3339 timestamp when the task should become runnable (optional scheduling).
depends_on: Vec<String>Task IDs that this task depends on (must be Done or Rejected before this task can run).
blocks: Vec<String>Task IDs that this task blocks (must be Done/Rejected before blocked tasks can run). Semantically different from depends_on: blocks is “I prevent X” vs depends_on “I need X”.
relates_to: Vec<String>Task IDs that this task relates to (loose coupling, no execution constraint). Bidirectional awareness but no execution constraint.
duplicates: Option<String>Task ID that this task duplicates (if any). Singular reference, not a list.
custom_fields: HashMap<String, String>Custom user-defined fields (key-value pairs for extensibility). Values may be written as string/number/boolean; Ralph coerces them to strings when loading.
parent_id: Option<String>Parent task ID if this is a subtask (child-to-parent reference).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Task
impl<'de> Deserialize<'de> for Task
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for Task
impl JsonSchema for Task
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read more