pub struct WorkflowSearchSpec {
pub schema_version: u32,
pub name: String,
pub objective: String,
pub population: u16,
pub rounds: Vec<u16>,
pub concurrency: u16,
pub worker: SearchWorkerSpec,
pub budget: SearchBudgetSpec,
pub hard_gates: SearchHardGateSpec,
pub score: SearchScoreSpec,
pub selection: SearchSelectionSpec,
pub integration_policy: SearchIntegrationPolicy,
}Fields§
§schema_version: u32§name: String§objective: String§population: u16§rounds: Vec<u16>§concurrency: u16§worker: SearchWorkerSpec§budget: SearchBudgetSpec§hard_gates: SearchHardGateSpec§score: SearchScoreSpec§selection: SearchSelectionSpec§integration_policy: SearchIntegrationPolicyImplementations§
Source§impl WorkflowSearchSpec
impl WorkflowSearchSpec
Sourcepub fn from_toml(source: &str) -> Result<Self, SearchSpecError>
pub fn from_toml(source: &str) -> Result<Self, SearchSpecError>
Parse and validate against the fallback ceiling. Hosts that know their
Fleet limit should call Self::from_toml_with_limit.
Sourcepub fn from_toml_with_limit(
source: &str,
fleet_limit: Option<u16>,
) -> Result<Self, SearchSpecError>
pub fn from_toml_with_limit( source: &str, fleet_limit: Option<u16>, ) -> Result<Self, SearchSpecError>
Parse and validate against the resolved Fleet concurrency limit.
pub fn validate(&self) -> Result<(), SearchSpecError>
Sourcepub fn validate_with_limit(
&self,
fleet_limit: Option<u16>,
) -> Result<ResolvedSearchConcurrency, SearchSpecError>
pub fn validate_with_limit( &self, fleet_limit: Option<u16>, ) -> Result<ResolvedSearchConcurrency, SearchSpecError>
Validate against the resolved Fleet concurrency limit, returning the ceiling that applied so the caller can echo it in a receipt.
Sourcepub fn freeze(
&self,
baseline_commit: &str,
resolved_model: &str,
public_evidence: &[u8],
evaluator: &[u8],
) -> Result<FrozenWorkflowSearch, SearchSpecError>
pub fn freeze( &self, baseline_commit: &str, resolved_model: &str, public_evidence: &[u8], evaluator: &[u8], ) -> Result<FrozenWorkflowSearch, SearchSpecError>
Freeze the exact public inputs and evaluator identity before admission. The evaluator bytes are hashed, not exposed to generation workers.
Sourcepub fn freeze_with_limit(
&self,
baseline_commit: &str,
resolved_model: &str,
public_evidence: &[u8],
evaluator: &[u8],
fleet_limit: Option<u16>,
) -> Result<FrozenWorkflowSearch, SearchSpecError>
pub fn freeze_with_limit( &self, baseline_commit: &str, resolved_model: &str, public_evidence: &[u8], evaluator: &[u8], fleet_limit: Option<u16>, ) -> Result<FrozenWorkflowSearch, SearchSpecError>
Freeze against the resolved Fleet concurrency limit.
The resolved ceiling is recorded on the receipt but deliberately kept out of the preregistration hash: the hash freezes the scientific inputs (spec, model, public evidence, evaluator identity), and how many workers the operator’s pool happened to allow is an operational fact about the run, not part of what was preregistered.
pub fn candidate_ids(&self) -> Vec<String>
Sourcepub fn admission_batches(&self) -> Result<Vec<Vec<String>>, SearchSpecError>
pub fn admission_batches(&self) -> Result<Vec<Vec<String>>, SearchSpecError>
Deterministic admission batches. Fleet owns actual scheduling and may run fewer workers when its configured pool or provider quota is lower.
Sourcepub fn admission_batches_with_limit(
&self,
fleet_limit: Option<u16>,
) -> Result<Vec<Vec<String>>, SearchSpecError>
pub fn admission_batches_with_limit( &self, fleet_limit: Option<u16>, ) -> Result<Vec<Vec<String>>, SearchSpecError>
Deterministic admission batches, validated against the resolved Fleet concurrency limit.
Trait Implementations§
Source§impl Clone for WorkflowSearchSpec
impl Clone for WorkflowSearchSpec
Source§fn clone(&self) -> WorkflowSearchSpec
fn clone(&self) -> WorkflowSearchSpec
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more