pub struct DecidePolicy {
pub intent: bool,
pub disclosure: bool,
pub drop_below: f32,
pub full_above: f32,
pub deadline_ms: Option<u64>,
}Expand description
How a decision backend installed with
ContextAssembler::with_decider
may shape assembly (decision-backend phase 3, rows A2/A3). With no backend
installed this is inert; with one installed and FormatPolicy.decide
left None, DecidePolicy::default applies.
Rule 2 of docs/decision-model-proposal.md binds the thresholds: they act
only when the backend’s Decision.calibrated is true. An uncalibrated
backend’s relevance reorders the allocation and nothing else.
Fields§
§intent: boolA3: ask whether the query wants a timeline, the current value, or neither, in place of the keyword lists. Default true.
disclosure: boolA2: ask per candidate how relevant it is and whether a summary would lose a needed detail, and feed both to the allocator. Default true.
drop_below: f32Calibrated only: relevance (score / 3) below this is Omitted
regardless of budget. Default 0.10.
full_above: f32Calibrated only: p(summary loses a needed detail) at or above this
prefers the Full render — the budget’s 95% line still bounds it.
Default 0.50.
deadline_ms: Option<u64>Deadline for ALL of one assembly’s backend calls together, in
milliseconds. None = the backend’s (chain’s) own default.
Trait Implementations§
Source§impl Clone for DecidePolicy
impl Clone for DecidePolicy
Source§impl Debug for DecidePolicy
impl Debug for DecidePolicy
Source§impl Default for DecidePolicy
impl Default for DecidePolicy
Source§impl PartialEq for DecidePolicy
impl PartialEq for DecidePolicy
impl StructuralPartialEq for DecidePolicy
Auto Trait Implementations§
impl Freeze for DecidePolicy
impl RefUnwindSafe for DecidePolicy
impl Send for DecidePolicy
impl Sync for DecidePolicy
impl Unpin for DecidePolicy
impl UnsafeUnpin for DecidePolicy
impl UnwindSafe for DecidePolicy
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> Fruit 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