pub struct TaskDefinition {
pub name: String,
pub prompt_file: String,
pub completion_promise: String,
pub verification: Verification,
pub description: Option<String>,
pub complexity: String,
pub max_iterations: u32,
pub expected_iterations: Option<u32>,
pub timeout_seconds: u64,
pub setup: TaskSetup,
pub tags: Vec<String>,
}Expand description
A single benchmark task definition.
Tasks define what the agent should accomplish, how to verify success, and optional setup requirements. Each task runs in an isolated workspace.
Fields§
§name: StringUnique task identifier (alphanumeric + hyphens).
Used for recording filenames and result reporting.
prompt_file: StringPath to the prompt markdown file.
Relative to the task suite file or absolute path.
completion_promise: StringString the agent outputs when task is complete.
This is detected by the orchestration loop to terminate the task.
verification: VerificationVerification configuration for confirming task success.
description: Option<String>Human-readable description of the task.
complexity: StringTask complexity level: “simple”, “medium”, or “complex”.
Used for filtering and baseline comparisons.
max_iterations: u32Maximum iterations before the task is considered failed.
Safety limit to prevent runaway loops.
expected_iterations: Option<u32>Expected number of iterations for baseline comparison.
Used to calculate iteration_delta in results.
timeout_seconds: u64Timeout in seconds for the entire task.
setup: TaskSetupSetup configuration for the task workspace.
Tags for filtering and categorization.
Implementations§
Source§impl TaskDefinition
impl TaskDefinition
Sourcepub fn builder(
name: impl Into<String>,
prompt_file: impl Into<String>,
completion_promise: impl Into<String>,
) -> TaskDefinitionBuilder
pub fn builder( name: impl Into<String>, prompt_file: impl Into<String>, completion_promise: impl Into<String>, ) -> TaskDefinitionBuilder
Creates a builder for constructing task definitions.
Sourcepub fn validate(&self) -> Result<(), TaskDefinitionError>
pub fn validate(&self) -> Result<(), TaskDefinitionError>
Validates the task definition.
Sourcepub fn iteration_delta(&self, actual: u32) -> Option<i32>
pub fn iteration_delta(&self, actual: u32) -> Option<i32>
Returns the iteration delta if expected_iterations is set.
delta = actual - expected (positive means took more iterations)
Trait Implementations§
Source§impl Clone for TaskDefinition
impl Clone for TaskDefinition
Source§fn clone(&self) -> TaskDefinition
fn clone(&self) -> TaskDefinition
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TaskDefinition
impl Debug for TaskDefinition
Source§impl<'de> Deserialize<'de> for TaskDefinition
impl<'de> Deserialize<'de> for TaskDefinition
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>,
Auto Trait Implementations§
impl Freeze for TaskDefinition
impl RefUnwindSafe for TaskDefinition
impl Send for TaskDefinition
impl Sync for TaskDefinition
impl Unpin for TaskDefinition
impl UnwindSafe for TaskDefinition
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Erasable for T
impl<T> Erasable for T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more