Skip to main content

Task

Struct Task 

Source
pub struct Task {
Show 16 fields pub id: i64, pub project_id: i64, pub repo_id: Option<i64>, pub title: String, pub body: String, pub priority: Priority, pub state: TaskState, pub agent: Option<String>, pub question: Option<String>, pub pr_url: Option<String>, pub branch: Option<String>, pub state_since: String, pub created_at: String, pub closed_at: Option<String>, pub human: bool, pub deep: bool,
}

Fields§

§id: i64§project_id: i64§repo_id: Option<i64>

The repo this task’s work runs in, or None for the project’s default (DESIGN.md §3/§8). Resolved through Store::repo_for_task; never read raw by a consumer that wants a checkout.

§title: String§body: String§priority: Priority§state: TaskState§agent: Option<String>§question: Option<String>§pr_url: Option<String>

The canonical URL of a GitHub PR tracked on this task (DESIGN.md §11c), or None. Names the PR’s base repo, so it survives forks where the checkout’s origin is not that repo.

§branch: Option<String>

The git branch this task’s work lives on, or None. Holds the intended name dispatch injects into the prompt, later overwritten by the branch the agent reports — Voro never runs git, it only records what returns.

§state_since: String§created_at: String§closed_at: Option<String>§human: bool

Marks a task no agent can execute — hands-on work at real hardware, say (DESIGN.md §3/§6). Dispatch, ask, and the agent override refuse it; completion goes running → done directly. Default false means dispatchable.

§deep: bool

Marks work that warrants the strongest model its agent offers rather than the workhorse (DESIGN.md §8). Read only at dispatch, where it picks which model fills the agent’s {model} placeholder; an agent whose templates carry none ignores it. Orthogonal to priority, which orders the queue, and to the agent override, which picks which agent runs. Default false means the workhorse.

Implementations§

Source§

impl Task

Source

pub fn branch_name(&self) -> Option<&str>

The branch this task’s work lives on, blank treated as absent — the one reading of the column both the next-action derivation and plan_pr use, so a task advertised as PR-able is exactly one pr accepts.

Source

pub fn next_action(&self) -> Option<NextAction>

The single next-action derivation (DESIGN.md §3): what the human does next, from state × fields. None for states that ask nothing of the human — running and refining belong to the running strip, parked/done/rejected wait on nothing. stalled always means a dead agent dispatch, since dispatch refuses human tasks. waiting is handed off to an external party (DESIGN.md §6) and asks nothing of the operator.

review is the one arm that reads past the state (DESIGN.md §6): a tracked PR asks to be reviewed, a recorded branch asks for one to be opened, and a task carrying neither produced no code at all — its summary is the whole deliverable — so the move is accept. The summary itself is not consulted: it lives in the event log rather than on this row, and a task with nothing to push has no other move regardless.

Trait Implementations§

Source§

impl Clone for Task

Source§

fn clone(&self) -> Task

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Task

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Task

Source§

fn eq(&self, other: &Task) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Task

Auto Trait Implementations§

§

impl Freeze for Task

§

impl RefUnwindSafe for Task

§

impl Send for Task

§

impl Sync for Task

§

impl Unpin for Task

§

impl UnsafeUnpin for Task

§

impl UnwindSafe for Task

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.