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 UnsafeUnpin 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