pub struct CapabilityReflection {
pub implemented: bool,
pub depth_bounded: bool,
pub max_default: u32,
pub attestation: String,
pub curator_mode: String,
}Expand description
v0.7.0 L3-5 — substrate-native reflection capability surface.
Every field MUST map to a real implementation. Audit anchors:
implemented:crate::storage::reflect::reflect+ [crate::mcp::tools::memory_reflect] (issue #655 Task 4/8, commit3dc76f3).depth_bounded: depth-cap check incrate::storage::reflectstep 5;crate::errors::MemoryError::ReflectionDepthExceededsurfaces refusal withattempted+cap+namespace.max_default: compiled-in default returned bycrate::models::namespace::GovernancePolicy::effective_max_reflection_depth(currently 3) when the namespace’smetadata.governance.max_reflection_depthis unset.attestation: every reflection writes asigned_eventsrow viacrate::signed_events::append_signed_event; the project uses Ed25519 (seecrate::identity::signH2 + H4 link-signing plus the operator-signed governance rules incrate::governance::rules_store).curator_mode: implemented incrate::curator::reflection_passand theai-memory curator --reflection-passCLI verb incrate::cli::curator.
Fields§
§implemented: booltrue whenever the reflection primitive is wired (memory_reflect MCP
tool present + storage::reflect::reflect callable). False is reserved
for a build that compiled the field out.
depth_bounded: booltrue when reflections are subject to a depth cap that refuses
further reflection past the configured maximum.
max_default: u32Compiled-in default cap returned when no namespace policy is set.
Tracks crate::models::namespace::GovernancePolicy::effective_max_reflection_depth.
attestation: StringSignature algorithm used by the substrate for attested events
touching reflections (link signatures + signed_events rows).
curator_mode: String"implemented" when the curator reflection pass is wired
(curator::reflection_pass + ai-memory curator CLI). Stays a
string (not a bool) so future increments can grow new values like
"scheduled" without a wire-shape break.
Implementations§
Source§impl CapabilityReflection
impl CapabilityReflection
Sourcepub fn current() -> Self
pub fn current() -> Self
Build the L3-5 reflection capability from real values pinned at
compile time so the wire shape reflects what this binary actually
ships. Constants from crate::reranker::DEFAULT_REFLECTION_MAX_DEPTH_CAP
and the curator module are consulted directly — no magic strings.
Trait Implementations§
Source§impl Clone for CapabilityReflection
impl Clone for CapabilityReflection
Source§fn clone(&self) -> CapabilityReflection
fn clone(&self) -> CapabilityReflection
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 CapabilityReflection
impl Debug for CapabilityReflection
Source§impl<'de> Deserialize<'de> for CapabilityReflection
impl<'de> Deserialize<'de> for CapabilityReflection
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>,
impl Eq for CapabilityReflection
Source§impl PartialEq for CapabilityReflection
impl PartialEq for CapabilityReflection
Source§fn eq(&self, other: &CapabilityReflection) -> bool
fn eq(&self, other: &CapabilityReflection) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for CapabilityReflection
impl Serialize for CapabilityReflection
impl StructuralPartialEq for CapabilityReflection
Auto Trait Implementations§
impl Freeze for CapabilityReflection
impl RefUnwindSafe for CapabilityReflection
impl Send for CapabilityReflection
impl Sync for CapabilityReflection
impl Unpin for CapabilityReflection
impl UnsafeUnpin for CapabilityReflection
impl UnwindSafe for CapabilityReflection
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,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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
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.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