pub struct PlannerConfig {
pub cost_weight: f64,
pub action_budget: usize,
pub tool_call_budget: usize,
pub conflict_penalty: f64,
pub feedback_weight: f64,
pub token_budget: usize,
pub token_weight: f64,
}Expand description
Configuration for proposal scoring.
Fields§
§cost_weight: f64Weight for cost efficiency in the score (0.0–1.0). Higher = prefer cheaper proposals. Lower = prefer correctness.
action_budget: usizeMaximum actions before a proposal is penalized.
tool_call_budget: usizeMaximum tool calls before a proposal is penalized.
conflict_penalty: f64Validity penalty per write conflict detected in simulated state.
feedback_weight: f64How much historical tool feedback influences the final score (0.0–1.0). Score = base * (1.0 - feedback_weight + feedback_weight * confidence). At 0.0 history is ignored; at 1.0 a tool with 0% success zeroes the score.
token_budget: usizeMaximum estimated proposal tokens before a proposal is penalized. The estimate comes from the serialized proposal length (≈ 4 chars/token). Inspired by Meta-Harness (alphaXiv 2603.28052): context-token efficiency is a first-class optimization target, not an afterthought.
token_weight: f64Weight of the token-efficiency term within cost_efficiency (0.0–1.0).
The remaining cost mass is split across actions/tools/parallelism.
Implementations§
Source§impl PlannerConfig
impl PlannerConfig
Sourcepub fn from_cost_target(target: &CostTarget) -> PlannerConfig
pub fn from_cost_target(target: &CostTarget) -> PlannerConfig
Create a PlannerConfig from a CostTarget.
Maps soft targets into the planner’s scoring parameters.
Note: target_duration_ms is not used by the static planner (duration
requires execution, which the planner avoids). It is reserved for
future integration with runtime cost tracking.
Trait Implementations§
Source§impl Clone for PlannerConfig
impl Clone for PlannerConfig
Source§fn clone(&self) -> PlannerConfig
fn clone(&self) -> PlannerConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PlannerConfig
impl Debug for PlannerConfig
Source§impl Default for PlannerConfig
impl Default for PlannerConfig
Source§fn default() -> PlannerConfig
fn default() -> PlannerConfig
Auto Trait Implementations§
impl Freeze for PlannerConfig
impl RefUnwindSafe for PlannerConfig
impl Send for PlannerConfig
impl Sync for PlannerConfig
impl Unpin for PlannerConfig
impl UnsafeUnpin for PlannerConfig
impl UnwindSafe for PlannerConfig
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> 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