pub struct ContextFeatureSet {
pub tool_offload: bool,
pub scratchpad: bool,
pub semantic: bool,
pub provenance: bool,
pub experiential: bool,
pub scheduled: bool,
}Expand description
The resolved on/off state of every context feature (Phase 26, #588) — the
effective set after a manager preset’s defaults and config/session
overrides are applied.
Fields§
§tool_offload: bool§scratchpad: bool§semantic: bool§provenance: bool§experiential: bool§scheduled: boolImplementations§
Source§impl ContextFeatureSet
impl ContextFeatureSet
Sourcepub fn get(&self, f: ContextFeature) -> bool
pub fn get(&self, f: ContextFeature) -> bool
Read one feature’s resolved state.
Sourcepub fn set(&mut self, f: ContextFeature, on: bool)
pub fn set(&mut self, f: ContextFeature, on: bool)
Set one feature’s resolved state.
Sourcepub fn enabled(self) -> Vec<ContextFeature>
pub fn enabled(self) -> Vec<ContextFeature>
The features currently on, in display order.
Sourcepub fn base_for(manager: ContextManager, _kind: BackendKind) -> Self
pub fn base_for(manager: ContextManager, _kind: BackendKind) -> Self
The base feature set before [context.features] / session overrides:
the manager preset’s bundle, with every available context-management
feature defaulted ON (#727). The one exception is provenance, which
is not yet implemented (ContextFeature::available() is false) and so
stays OFF until it lands. This makes the full context toolkit — tool
offload, the <state>/<plan> scratchpad ledger, semantic retrieval,
experiential memory, and the scheduled per-step view — the default on
EVERY backend rather than only local (Ollama) ones. Cloud endpoints
(NVIDIA inference.nvidia.com and other Openai-protocol hosts) can’t
auto-discover a context window, so they benefit most from the ledger and
retrieval being on by default. Explicit overrides still win — they layer
on top via ContextFeatures::apply_to, so a user can turn any feature
back off in [context.features] or with /context feature <name> off.
kind is retained for signature stability and future backend-specific
tuning; defaults no longer branch on it.
Trait Implementations§
Source§impl Clone for ContextFeatureSet
impl Clone for ContextFeatureSet
Source§fn clone(&self) -> ContextFeatureSet
fn clone(&self) -> ContextFeatureSet
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for ContextFeatureSet
Source§impl Debug for ContextFeatureSet
impl Debug for ContextFeatureSet
Source§impl Default for ContextFeatureSet
impl Default for ContextFeatureSet
Source§fn default() -> ContextFeatureSet
fn default() -> ContextFeatureSet
impl Eq for ContextFeatureSet
Source§impl PartialEq for ContextFeatureSet
impl PartialEq for ContextFeatureSet
impl StructuralPartialEq for ContextFeatureSet
Auto Trait Implementations§
impl Freeze for ContextFeatureSet
impl RefUnwindSafe for ContextFeatureSet
impl Send for ContextFeatureSet
impl Sync for ContextFeatureSet
impl Unpin for ContextFeatureSet
impl UnsafeUnpin for ContextFeatureSet
impl UnwindSafe for ContextFeatureSet
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
impl<T> ErasedDestructor for Twhere
T: 'static,
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