pub struct SchemaBrief {
pub nodes: usize,
pub labels: Vec<LabelBrief>,
pub edge_types: Vec<EdgeTypeBrief>,
pub commits: Option<u64>,
pub roles: Vec<(String, Vec<String>)>,
pub recipes: Vec<Recipe>,
pub partial: bool,
}Expand description
What a memory store is: its labels, its edge types, how deep its history runs, who may read it, and the call that answers each kind of question.
Present on a store no repository was ingested into — the same
GitSync-marker test the MCP server’s tool listing splits on — and absent
on a code graph, which is described by its rankings instead.
Fields§
§nodes: usizeLive nodes, all labels together.
labels: Vec<LabelBrief>Labels, most populous first, ties on the name.
edge_types: Vec<EdgeTypeBrief>Edge types, most numerous first, ties on the name.
commits: Option<u64>How many commits of history are still reachable — total above the
horizon floor. A count, not an index: the newest commit edges_at,
node_history and was_linked accept is one below it, which is what
the as of recipe names. Some(0) on a store whose WAL was truncated
and whose archives are gone, and then there is no as of recipe at all.
None when the budget ran out before it could be counted: the scan
that answers it re-reads the WAL, so it is the first thing a spent
budget drops. Unknown and zero are different answers, which is why this
is an Option and not a zero.
roles: Vec<(String, Vec<String>)>(role name, the labels it may see), sorted by name.
recipes: Vec<Recipe>One worked call per question kind, in a fixed order.
partial: boolThe budget ran out while counting: every count above is a lower
bound, the listings may be short of entries, and commits is
None. Rendered, so a reader never mistakes a partial count for a
complete one.
Trait Implementations§
Source§impl Clone for SchemaBrief
impl Clone for SchemaBrief
Source§fn clone(&self) -> SchemaBrief
fn clone(&self) -> SchemaBrief
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 SchemaBrief
impl Debug for SchemaBrief
impl Eq for SchemaBrief
Source§impl PartialEq for SchemaBrief
impl PartialEq for SchemaBrief
Source§impl Serialize for SchemaBrief
impl Serialize for SchemaBrief
impl StructuralPartialEq for SchemaBrief
Auto Trait Implementations§
impl Freeze for SchemaBrief
impl RefUnwindSafe for SchemaBrief
impl Send for SchemaBrief
impl Sync for SchemaBrief
impl Unpin for SchemaBrief
impl UnsafeUnpin for SchemaBrief
impl UnwindSafe for SchemaBrief
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.